Skip to content

Instantly share code, notes, and snippets.

View jmhodges's full-sized avatar
🐶
return of the

Jeff Hodges jmhodges

🐶
return of the
View GitHub Profile
#!/usr/bin/ruby
require 'nokogiri'
require 'curb'
require 'openssl'
doc = File.open("publiclyDisclosedSubCACerts"){|f| Nokogiri::HTML(f)}
certurls = {}
# The page as almost no metadata, so we are doing this by index
#!/usr/bin/ruby
require 'pp'
require 'csv'
COMODO_LIST_FILE = 'comodo-subordinates.txt'
SYMANTEC_FILE = 'symantec-CAs.txt'
#ISSUER_COUNTS = 'issuer-counts.txt'
ISSUER_COUNTS = 'issuer-types.txt'
known_cas = {}
@tmeers
tmeers / gist:8358012
Created January 10, 2014 16:56
howsmyssl.com check dump
{"given_cipher_suites":["TLS_RSA_WITH_RC4_128_MD5","TLS_RSA_WITH_RC4_128_SHA","TLS_RSA_WITH_3DES_EDE_CBC_SHA","TLS_RSA_WITH_DES_CBC_SHA","Some unknown cipher suite: 0x64","Some unknown cipher suite: 0x62","TLS_RSA_EXPORT_WITH_RC4_40_MD5","TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5","TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA","TLS_DHE_DSS_WITH_DES_CBC_SHA","Some unknown cipher suite: 0x63"],"ephemeral_keys_supported":true,"session_ticket_supported":false,"tls_compression_supported":false,"unknown_cipher_suite_supported":true,"beast_vuln":true,"able_to_detect_n_minus_one_splitting":false,"insecure_cipher_suites":{"TLS_DHE_DSS_WITH_DES_CBC_SHA":["uses keys smaller than 128 bits in its encryption"],"TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5":["uses keys smaller than 128 bits in its encryption"],"TLS_RSA_EXPORT_WITH_RC4_40_MD5":["uses keys smaller than 128 bits in its encryption"],"TLS_RSA_WITH_DES_CBC_SHA":["uses keys smaller than 128 bits in its encryption"]},"tls_version":"TLS 1.0","rating":"Bad"}
require "net/https"
require "uri"
require 'json'
uri = URI.parse("https://www.howsmyssl.com/a/check")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
resp = JSON.parse(http.request(Net::HTTP::Get.new(uri.request_uri)).body)
puts JSON.pretty_generate(resp)