Skip to content

Instantly share code, notes, and snippets.

View rmhrisk's full-sized avatar

Ryan Hurst rmhrisk

View GitHub Profile
@rmhrisk
rmhrisk / WebPKI Region and Country.py
Last active April 4, 2024 23:18
Look at CA distribution by region and country
import pandas as pd
import requests
from cryptography import x509
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import hashes
from io import StringIO
from datetime import datetime, timezone
import time
import matplotlib.pyplot as plt
import pandas as pd
import requests
from cryptography import x509
from cryptography.hazmat.backends import default_backend
from io import StringIO
from cryptography.hazmat.primitives import hashes
import matplotlib.pyplot as plt
def download_csv(url):
response = requests.get(url)
Rank Certificate Authority Unexpired Precertificates Percentage Cumulative %
1 Internet Security Research Group 338,978,164 47.928% 47.928%
2 DigiCert 81,481,742 11.521% 59.449%
3 Sectigo 71,963,799 10.175% 69.624%
4 GoDaddy 69,771,281 9.865% 79.489%
5 Amazon Trust Services 56,893,730 8.044% 87.533%
6 Google Trust Services LLC 56,021,094 7.921% 95.454%
7 Microsoft Corporation 23,484,401 3.320% 98.774%
8 IdenTrust Services, LLC 4,385,571 0.620% 99.394%

WebPKI CA Revenue

Company Year Amount
BuyPass 2015 They reported revenue of 192 million Norweigan Krones in 2015; using today's exchange rate, this is about $23 million US dollars.
Quovadis 2016 WISeKey reported QuoVadis (whom they acquired) had revenue of $18
@rmhrisk
rmhrisk / WebCrypto Support.md
Last active July 12, 2019 07:42
WebCrypto Support as of May 4th 2017

Edge image

Safari image

Chrome image

Firefox

@rmhrisk
rmhrisk / fedor ping.md
Last active November 24, 2016 09:19
fedor ping.md
Ryans-MBP:room_react_skylink rmh$ ping google.com
PING google.com (216.58.193.78): 56 data bytes
64 bytes from 216.58.193.78: icmp_seq=0 ttl=55 time=6.156 ms
64 bytes from 216.58.193.78: icmp_seq=1 ttl=55 time=5.830 ms
64 bytes from 216.58.193.78: icmp_seq=2 ttl=55 time=7.903 ms
64 bytes from 216.58.193.78: icmp_seq=3 ttl=55 time=7.963 ms
64 bytes from 216.58.193.78: icmp_seq=4 ttl=55 time=6.510 ms
64 bytes from 216.58.193.78: icmp_seq=5 ttl=55 time=4.856 ms
64 bytes from 216.58.193.78: icmp_seq=6 ttl=55 time=6.755 ms

PDF was initially released over 23 years ago, it solved a very important problem. How could you provide an electronic equivalent to paper?

As a standard, like most things evolved over decades, it’s actually pretty awful. The specification reads like it was designed by an army of people who seldom spoke and had no long term plan.

That said, it is without a doubt still one of the most important file formats on the web. Its issues are a direct result of the era it was designed in, open standards were far from the norm, the desktop was king, and the internet was primarily used for email.

A lot has changed since then, but PDF itself, though it has had more features added to its specification, has not materially changed much. Some of the larger issues with the format include:

  • They are often bloated large documents making them slow to download and render,
  • The layout is generally fixed and not responsive making them awkward to read on a mobile device,

OSX

sqlite3 ~/Library/Keychains/*/ocspcache.sqlite3 'DELETE FROM ocsp;'

Windows

certutil -URLcache * delete

Linux

dirmngr --flush

@rmhrisk
rmhrisk / The things that use WebCrypto.md
Last active October 7, 2016 23:49
What things use WebCrypto?

WebCrypto is relativley new but it is already used in some very popular services, some of which include:

Description
openpgpjs Uses WebCrypto to protect email.
1Password Teams 1Password for Teams uses WebCrypto to make sharing passwords easy.
@rmhrisk
rmhrisk / Web Crypto and Web Application Security Basics.md
Last active July 12, 2019 07:42
Web Crypto and Web Application Security Basics

If you are going to be using Web Crypto in your application you better also get the basics of Web Security in your application taken care of. This is a list of resources that are useful when looking at the security of a web application.

TLS

Transport Layer Security (TLS) and its predecessor, Secure Sockets Layer (SSL), both frequently referred to as "SSL", are cryptographic protocols that provide communications security over a computer network.

Resources