{"id":3698,"date":"2016-05-07T20:54:18","date_gmt":"2016-05-07T20:54:18","guid":{"rendered":"http:\/\/www.garysieling.com\/blog\/?p=3698"},"modified":"2016-05-07T20:54:18","modified_gmt":"2016-05-07T20:54:18","slug":"project-write-ssl-certificate-search-engine-part-5-future-2","status":"publish","type":"post","link":"https:\/\/www.garysieling.com\/blog\/project-write-ssl-certificate-search-engine-part-5-future-2\/","title":{"rendered":"Project Write-up: SSL Certificate Search Engine (Part 5: Data Analysis)"},"content":{"rendered":"<p>SSL certificates aren&#8217;t the most interesting dataset, but there are still some interesting lessons to learn from a <a href=\"www.garysieling.com\/search\/ssl_search\">gathering a big list of them<\/a>. <\/p>\n<p>Prior to this project, it never occurred to me that the &#8220;5&#8221; in &#8220;MD5&#8221; would have different values. In this data set I found a handful of sites that use MD2  as part of the &#8220;Signature algorithm&#8221; bit of the certificate (some MD5 as well). I don&#8217;t know whether this means they are vulnerable to attack, but in both cases it certainly indicates they are dependent on old technology.<\/p>\n<p>CloudFlare is popular now as a CDN (because of their free plan and free SSL). Their certificates actually come from &#8220;COMODO RSA Extended Validation Secure Server CA&#8221; as the root certificate. The actual CloudFlare certificates are SNI certificates (i.e. they work for a list of many domains), and I found about 14,882 overall in the dataset (18%). <\/p>\n<p>I did not find any Letsencrypt certificates. It may be that this is because they are a newer service, but it may also be that I scanned for these and the JDK I used rejected them (I did not retain any it considered invalid).<\/p>\n<p>I did notice a fair number of Chinese certificates (~560). One thing I was pleased about is that all parts of the infrastructure apparently support Unicode without any effort on my part, I can see Kanji coming through cleanly.<\/p>\n<p>There is a notorious problem where newer GoDaddy certificates don&#8217;t work in older JDKs<sup><a href=\"#footnote_1_3698\" id=\"identifier_1_3698\" class=\"footnote-link footnote-identifier-link\" title=\"http:\/\/tozny.com\/blog\/godaddys-ssl-certs-dont-work-in-java-the-right-solution\/\">1<\/a><\/sup>. If I search for SHA-1, this turns up a few root certifications that also use SHA-1 (e.g. there are Facebook and Verizon certificates that might turn up the same problem).<\/p>\n<p>Gandi certificates were surprisingly unpopular &#8211; 1% of the entire dataset. After GoDaddy&#8217;s Elephant controversy a fair number of people moved their sites to Namecheap and Gandi, but this  may also be a reflection of where I obtained the domains.<\/p>\n<p>As the amount of software that is deployed on the internet grows, interest in encryption and other security technologies will only grow. Having the ability to scan for problems is one way for researchers to track the rate that security fixes are deployed across the internet, and may even have some unconventional uses. For instance, there was a period of time where SEO specialists would find mistakes in people&#8217;s websites,and email the owners in the hope of rewards (i.e. links). As the cost of security problems grows, and awareness of the legal issues, many more companies are offering bug bounties, and having scanning tools is one step in improving the state of the internet.<\/p>\n<h3>Other essays in this series<\/h3>\n<ul>\n<li><a href=\"https:\/\/www.garysieling.com\/blog\/ssl-certificate-search-abstract\">Part 1: Project Introduction<\/a><\/li>\n<li><a href=\"https:\/\/www.garysieling.com\/blog\/project-write-ssl-certificate-search-engine-part-2-ui-lessons\">Part 2: Lessons from the UI<\/a><\/li>\n<li><a href=\"https:\/\/www.garysieling.com\/blog\/project-write-ssl-certificate\">Part 3: Acquiring Data<\/a><\/li>\n<li><a href=\"https:\/\/www.garysieling.com\/blog\/project-write-ssl-certificate-search-engine-part-4-devops\">Part 4: Devops lessons<\/a><\/li>\n<li><a href=\"https:\/\/www.garysieling.com\/blog\/project-write-ssl-certificate-search-engine-future\">Part 6: A look forward<\/a>\n<\/ul>\n<ol class=\"footnotes\"><li id=\"footnote_1_3698\" class=\"footnote\">http:\/\/tozny.com\/blog\/godaddys-ssl-certs-dont-work-in-java-the-right-solution\/<span class=\"footnote-back-link-wrapper\"> [<a href=\"#identifier_1_3698\" class=\"footnote-link footnote-back-link\">&#8617;<\/a>]<\/span><\/li><\/ol>","protected":false},"excerpt":{"rendered":"<p>Covers the lessons learned from poking around a dataset of lots of SSL\/TLS certificates<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[21],"tags":[302,388,517],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"Covers the lessons learned from poking around a dataset of lots of SSL\/TLS certificates\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"gary\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.garysieling.com\/blog\/project-write-ssl-certificate-search-engine-part-5-future-2\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Gary Sieling - Software Engineer\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Project Write-up: SSL Certificate Search Engine (Part 5: Data Analysis) - Gary Sieling\" \/>\n\t\t<meta property=\"og:description\" content=\"Covers the lessons learned from poking around a dataset of lots of SSL\/TLS certificates\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.garysieling.com\/blog\/project-write-ssl-certificate-search-engine-part-5-future-2\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2016-05-07T20:54:18+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2016-05-07T20:54:18+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Project Write-up: SSL Certificate Search Engine (Part 5: Data Analysis) - Gary Sieling\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Covers the lessons learned from poking around a dataset of lots of SSL\/TLS certificates\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/project-write-ssl-certificate-search-engine-part-5-future-2\\\/#blogposting\",\"name\":\"Project Write-up: SSL Certificate Search Engine (Part 5: Data Analysis) - Gary Sieling\",\"headline\":\"Project Write-up: SSL Certificate Search Engine (Part 5: Data Analysis)\",\"author\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\"},\"datePublished\":\"2016-05-07T20:54:18+00:00\",\"dateModified\":\"2016-05-07T20:54:18+00:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/project-write-ssl-certificate-search-engine-part-5-future-2\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/project-write-ssl-certificate-search-engine-part-5-future-2\\\/#webpage\"},\"articleSection\":\"Projects, javascript, node.js, solr\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/project-write-ssl-certificate-search-engine-part-5-future-2\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.garysieling.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/projects\\\/#listItem\",\"name\":\"Projects\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/projects\\\/#listItem\",\"position\":2,\"name\":\"Projects\",\"item\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/projects\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/project-write-ssl-certificate-search-engine-part-5-future-2\\\/#listItem\",\"name\":\"Project Write-up: SSL Certificate Search Engine (Part 5: Data Analysis)\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/project-write-ssl-certificate-search-engine-part-5-future-2\\\/#listItem\",\"position\":3,\"name\":\"Project Write-up: SSL Certificate Search Engine (Part 5: Data Analysis)\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/projects\\\/#listItem\",\"name\":\"Projects\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\",\"name\":\"Gary Sieling\",\"description\":\"Software Engineer\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/\",\"name\":\"gary\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/project-write-ssl-certificate-search-engine-part-5-future-2\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0be925276d848ffe98a6a9dc8cf33e67?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"gary\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/project-write-ssl-certificate-search-engine-part-5-future-2\\\/#webpage\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/project-write-ssl-certificate-search-engine-part-5-future-2\\\/\",\"name\":\"Project Write-up: SSL Certificate Search Engine (Part 5: Data Analysis) - Gary Sieling\",\"description\":\"Covers the lessons learned from poking around a dataset of lots of SSL\\\/TLS certificates\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/project-write-ssl-certificate-search-engine-part-5-future-2\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"datePublished\":\"2016-05-07T20:54:18+00:00\",\"dateModified\":\"2016-05-07T20:54:18+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/\",\"name\":\"Gary Sieling\",\"description\":\"Software Engineer\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Project Write-up: SSL Certificate Search Engine (Part 5: Data Analysis) - Gary Sieling","description":"Covers the lessons learned from poking around a dataset of lots of SSL\/TLS certificates","canonical_url":"https:\/\/www.garysieling.com\/blog\/project-write-ssl-certificate-search-engine-part-5-future-2\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.garysieling.com\/blog\/project-write-ssl-certificate-search-engine-part-5-future-2\/#blogposting","name":"Project Write-up: SSL Certificate Search Engine (Part 5: Data Analysis) - Gary Sieling","headline":"Project Write-up: SSL Certificate Search Engine (Part 5: Data Analysis)","author":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"publisher":{"@id":"https:\/\/www.garysieling.com\/blog\/#organization"},"datePublished":"2016-05-07T20:54:18+00:00","dateModified":"2016-05-07T20:54:18+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.garysieling.com\/blog\/project-write-ssl-certificate-search-engine-part-5-future-2\/#webpage"},"isPartOf":{"@id":"https:\/\/www.garysieling.com\/blog\/project-write-ssl-certificate-search-engine-part-5-future-2\/#webpage"},"articleSection":"Projects, javascript, node.js, solr"},{"@type":"BreadcrumbList","@id":"https:\/\/www.garysieling.com\/blog\/project-write-ssl-certificate-search-engine-part-5-future-2\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.garysieling.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/projects\/#listItem","name":"Projects"}},{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/projects\/#listItem","position":2,"name":"Projects","item":"https:\/\/www.garysieling.com\/blog\/category\/projects\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/project-write-ssl-certificate-search-engine-part-5-future-2\/#listItem","name":"Project Write-up: SSL Certificate Search Engine (Part 5: Data Analysis)"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/project-write-ssl-certificate-search-engine-part-5-future-2\/#listItem","position":3,"name":"Project Write-up: SSL Certificate Search Engine (Part 5: Data Analysis)","previousItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/projects\/#listItem","name":"Projects"}}]},{"@type":"Organization","@id":"https:\/\/www.garysieling.com\/blog\/#organization","name":"Gary Sieling","description":"Software Engineer","url":"https:\/\/www.garysieling.com\/blog\/"},{"@type":"Person","@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author","url":"https:\/\/www.garysieling.com\/blog\/author\/gary\/","name":"gary","image":{"@type":"ImageObject","@id":"https:\/\/www.garysieling.com\/blog\/project-write-ssl-certificate-search-engine-part-5-future-2\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/0be925276d848ffe98a6a9dc8cf33e67?s=96&d=identicon&r=g","width":96,"height":96,"caption":"gary"}},{"@type":"WebPage","@id":"https:\/\/www.garysieling.com\/blog\/project-write-ssl-certificate-search-engine-part-5-future-2\/#webpage","url":"https:\/\/www.garysieling.com\/blog\/project-write-ssl-certificate-search-engine-part-5-future-2\/","name":"Project Write-up: SSL Certificate Search Engine (Part 5: Data Analysis) - Gary Sieling","description":"Covers the lessons learned from poking around a dataset of lots of SSL\/TLS certificates","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.garysieling.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.garysieling.com\/blog\/project-write-ssl-certificate-search-engine-part-5-future-2\/#breadcrumblist"},"author":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"creator":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"datePublished":"2016-05-07T20:54:18+00:00","dateModified":"2016-05-07T20:54:18+00:00"},{"@type":"WebSite","@id":"https:\/\/www.garysieling.com\/blog\/#website","url":"https:\/\/www.garysieling.com\/blog\/","name":"Gary Sieling","description":"Software Engineer","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.garysieling.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Gary Sieling - Software Engineer","og:type":"article","og:title":"Project Write-up: SSL Certificate Search Engine (Part 5: Data Analysis) - Gary Sieling","og:description":"Covers the lessons learned from poking around a dataset of lots of SSL\/TLS certificates","og:url":"https:\/\/www.garysieling.com\/blog\/project-write-ssl-certificate-search-engine-part-5-future-2\/","article:published_time":"2016-05-07T20:54:18+00:00","article:modified_time":"2016-05-07T20:54:18+00:00","twitter:card":"summary_large_image","twitter:title":"Project Write-up: SSL Certificate Search Engine (Part 5: Data Analysis) - Gary Sieling","twitter:description":"Covers the lessons learned from poking around a dataset of lots of SSL\/TLS certificates"},"aioseo_meta_data":{"post_id":"3698","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2023-02-04 16:53:36","updated":"2026-07-06 01:54:41","ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.garysieling.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.garysieling.com\/blog\/category\/projects\/\" title=\"Projects\">Projects<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tProject Write-up: SSL Certificate Search Engine (Part 5: Data Analysis)\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.garysieling.com\/blog"},{"label":"Projects","link":"https:\/\/www.garysieling.com\/blog\/category\/projects\/"},{"label":"Project Write-up: SSL Certificate Search Engine (Part 5: Data Analysis)","link":"https:\/\/www.garysieling.com\/blog\/project-write-ssl-certificate-search-engine-part-5-future-2\/"}],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts\/3698"}],"collection":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/comments?post=3698"}],"version-history":[{"count":0,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts\/3698\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/media?parent=3698"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/categories?post=3698"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/tags?post=3698"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}