

{"id":11759,"date":"2019-01-10T17:22:25","date_gmt":"2019-01-10T22:22:25","guid":{"rendered":"https:\/\/rud.is\/b\/?p=11759"},"modified":"2019-01-10T17:22:25","modified_gmt":"2019-01-10T22:22:25","slug":"roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r","status":"publish","type":"post","link":"https:\/\/rud.is\/b\/2019\/01\/10\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\/","title":{"rendered":"Roll Your Own Federal Government Shutdown-caused SSL Certificate Expiration Monitor in R"},"content":{"rendered":"<p>By now, even remote villages on uncharted islands in the Pacific know that the U.S. is in the midst of a protracted partial government shutdown. It&#8217;s having real impacts on the lives of Federal government workers but they aren&#8217;t the only ones. Much of the interaction Federal agencies have with the populace takes place online and the gateway to most of these services\/information is a web site.<\/p>\n<p>There are Federal standards that require U.S. government web sites to use SSL\/TLS certificates and those certificates have something in common with, say, a loaf of bread you buy at the store: they expire. In all but the best of orgs &mdash; or we zany folks who use L e t &#8216; s E n c r y p t and further propel internet denizens into a false sense of safety &amp; privacy &mdash; renewing certificates involves manual labor\/human intervention. For a good chunk of U.S. Federal agencies, those particular humans aren&#8217;t around. If a site&#8217;s SSL certificate expires and isn&#8217;t re-issued, it causes browsers to do funny things, like this:<\/p>\n<p><a href=\"https:\/\/rud.is\/b\/2019\/01\/10\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\/screen-shot-2019-01-10-at-17-18-56\/\" rel=\"attachment wp-att-11760\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"11760\" data-permalink=\"https:\/\/rud.is\/b\/2019\/01\/10\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\/screen-shot-2019-01-10-at-17-18-56\/\" data-orig-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/01\/Screen-Shot-2019-01-10-at-17.18.56.png?fit=1916%2C1318&amp;ssl=1\" data-orig-size=\"1916,1318\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"nmb website ssl problem\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/01\/Screen-Shot-2019-01-10-at-17.18.56.png?fit=510%2C351&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/01\/Screen-Shot-2019-01-10-at-17.18.56.png?resize=510%2C351&#038;ssl=1\" alt=\"\" width=\"510\" height=\"351\" class=\"aligncenter size-full wp-image-11760\" \/><\/a><\/p>\n<p>Now, <em>some<\/em> of these sites are configured improperly in many ways, including them serving pages on both <code>http<\/code> and <code>https<\/code> (vs redirecting to <code>https<\/code> immediately upon receiving an <code>http<\/code> connection). But, browsers like Chrome will generally try <code>https<\/code> first and scare you into not viewing the site.<\/p>\n<p>But, how big a problem could this really be? We can find out with a fairly diminutive R script that:<\/p>\n<ul>\n<li>grabs a list of Federal agency domains (thanks to <a href=\"https:\/\/github.com\/GSA\/data\">the GSA<\/a>)<\/li>\n<li>tries to make a SSL\/TLS connection (via the <code>openssl<\/code> package) to the apex domain or <code>www.<\/code> prefixed apex domain<\/li>\n<li>find the expiration date for the cert<\/li>\n<li>do some simple date math<\/li>\n<\/ul>\n<p>I&#8217;ve commented the script below pretty well so I&#8217;ll refrain from further blathering:<\/p>\n<pre><code class=\"language-r\">library(furrr)\nlibrary(openssl)\nlibrary(janitor)\nlibrary(memoise)\nlibrary(hrbrthemes)\nlibrary(tidyverse)\n\n# fetch the GSA CSV:\n\nread_csv(\n  file = \"https:\/\/raw.githubusercontent.com\/GSA\/data\/master\/dotgov-domains\/current-federal.csv\",\n  col_types = \"ccccccc\"\n) %&gt;% \n  janitor::clean_names() -&gt; xdf\n\n# make openssl::download_ssl_cert calls safer in the even there\n# are network\/connection issues\n.dl_cert &lt;- possibly(openssl::download_ssl_cert, otherwise = NULL)\n\n# memoise the downloader just in case we need to break the iterator\n# below or another coding error causes it to break (the cached values\n# will go away in a new R session or if you manually purge them)\ndl_cert &lt;- memoise::memoise(.dl_cert)\n\n# we'll do this in parallel to save time (~1,200 domains)\nplan(multiprocess)\n\n# now follow the process described in the bullet points\nfuture_map_dfr(xdf$domain_name, ~{\n\n  who &lt;- .x\n\n  crt &lt;- dl_cert(who)  \n\n  if (!is.null(crt)) {\n    # shld be the first cert and expires is second validity field\n    expires &lt;- crt[[1]]$validity[2] \n  } else {\n    crt &lt;- dl_cert(sprintf(\"www.%s\", who)) # may be on www b\/c \"gov\"\n    if (!is.null(crt)) {\n      expires &lt;- crt[[1]]$validity[2]\n    } else {\n      expires &lt;- NA_character_  \n    }\n  }\n\n  # keep a copy of the apex domain, the expiration field and the cert\n  # (in the event you want to see just how un-optimized the U.S. IT \n  # infrastructure is by how many stupid vendors they use for certs)\n  tibble(\n    who = who,\n    expires = expires,\n    cert = list(crt)\n  )\n\n}) -&gt; cdf\n<\/code><\/pre>\n<p>Now, lets make strings into proper dates, count only the dates starting with the date of the shutdown to the end of 2019 (b\/c the reckless human at the helm is borderline insane enough to do that) and plot the timeline:<\/p>\n<pre><code class=\"language-r\">filter(cdf, !is.na(expires)) %&gt;% \n  mutate(\n    expires = as.Date(\n      as.POSIXct(expires, format=\"%b %d %H:%M:%S %Y\")\n    )\n  ) %&gt;% \n  arrange(expires) \n  count(expires) %&gt;% \n  filter(\n    expires &gt;= as.Date(\"2018-12-22\"), \n    expires &lt;= as.Date(\"2019-12-31\")\n  ) %&gt;% \n  ggplot(aes(expires, n)) +\n  geom_vline(\n    xintercept = Sys.Date(), linetype=\"dotted\", size=0.25, color = \"white\"\n  ) +\n  geom_label(\n    data = data.frame(), \n    aes(x = Sys.Date(), y = Inf, label = \"Today\"),\n    color = \"black\", vjust = 1\n  ) +\n  geom_segment(aes(xend=expires, yend=0), color = ft_cols$peach) + \n  scale_x_date(name=NULL, date_breaks=\"1 month\", date_labels=\"%b\") +\n  scale_y_comma(\"# Federal Agency Certs\") +\n  labs(title = \"2019 Federal Agency ShutdownCertpoalypse\") +\n  theme_ft_rc(grid=\"Y\")\n<\/code><\/pre>\n<p><a href=\"https:\/\/rud.is\/b\/2019\/01\/10\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\/plot_zoom_png-14\/\" rel=\"attachment wp-att-11761\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"11761\" data-permalink=\"https:\/\/rud.is\/b\/2019\/01\/10\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\/plot_zoom_png-14\/\" data-orig-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/01\/plot_zoom_png-1.png?fit=2022%2C862&amp;ssl=1\" data-orig-size=\"2022,862\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"shutdown certpocalypse\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/01\/plot_zoom_png-1.png?fit=510%2C217&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/01\/plot_zoom_png-1.png?resize=510%2C217&#038;ssl=1\" alt=\"\" width=\"510\" height=\"217\" class=\"aligncenter size-full wp-image-11761\" \/><\/a><\/p>\n<p>Now, I&#8217;m unwarrantedly optimistic that this debacle could be over by the end of January. How many certs (by agency) could go bad by then?<\/p>\n<pre><code class=\"language-r\">left_join(cdf, xdf, by=c(\"who\"=\"domain_name\")) %&gt;% \n  mutate(\n    expires = as.Date(\n      as.POSIXct(expires, format=\"%b %d %H:%M:%S %Y\")\n    )\n  ) %&gt;% \n  filter(\n    expires &gt;= as.Date(\"2018-12-22\"),\n    expires &lt;= as.Date(\"2019-01-31\")\n  ) %&gt;% \n  count(agency, sort = TRUE)\n## # A tibble: 10 x 2\n##    agency                                          n\n##    &lt;chr&gt;                                       &lt;int&gt;\n##  1 Government Publishing Office                    8\n##  2 Department of Commerce                          4\n##  3 Department of Defense                           3\n##  4 Department of Housing and Urban Development     3\n##  5 Department of Justice                           3\n##  6 Department of Energy                            1\n##  7 Department of Health and Human Services         1\n##  8 Department of State                             1\n##  9 Department of the Interior                      1\n## 10 Department of the Treasury                      1\n<\/code><\/pre>\n<p>Ugh.<\/p>\n<h3>FIN<\/h3>\n<p>Not <em>every<\/em> agency is fully shutdown and not <em>all<\/em> workers in charge of cert renewals are furloughed (or being forced to work without pay). But, this one other area shows the possible unintended consequences of making rash, partisan decisions (something both Democrats &amp; Republicans excel at).<\/p>\n<p>You can find the contiguous R code at <a href=\"https:\/\/rud.is\/r-code\/2018-01-10-shutdown-certpocalypse.R\">2018-01-10-shutdown-certpocalypse.R<\/a> and definitely try to explore the contents of those certificates.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>By now, even remote villages on uncharted islands in the Pacific know that the U.S. is in the midst of a protracted partial government shutdown. It&#8217;s having real impacts on the lives of Federal government workers but they aren&#8217;t the only ones. Much of the interaction Federal agencies have with the populace takes place online [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":11761,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":3,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[91],"tags":[],"class_list":["post-11759","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-r"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Roll Your Own Federal Government Shutdown-caused SSL Certificate Expiration Monitor in R - rud.is<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/rud.is\/b\/2019\/01\/10\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Roll Your Own Federal Government Shutdown-caused SSL Certificate Expiration Monitor in R - rud.is\" \/>\n<meta property=\"og:description\" content=\"By now, even remote villages on uncharted islands in the Pacific know that the U.S. is in the midst of a protracted partial government shutdown. It&#8217;s having real impacts on the lives of Federal government workers but they aren&#8217;t the only ones. Much of the interaction Federal agencies have with the populace takes place online [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/rud.is\/b\/2019\/01\/10\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\/\" \/>\n<meta property=\"og:site_name\" content=\"rud.is\" \/>\n<meta property=\"article:published_time\" content=\"2019-01-10T22:22:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/01\/plot_zoom_png-1.png?fit=2022%2C862&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"2022\" \/>\n\t<meta property=\"og:image:height\" content=\"862\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"hrbrmstr\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"hrbrmstr\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/01\\\/10\\\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/01\\\/10\\\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\\\/\"},\"author\":{\"name\":\"hrbrmstr\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#\\\/schema\\\/person\\\/d7cb7487ab0527447f7fda5c423ff886\"},\"headline\":\"Roll Your Own Federal Government Shutdown-caused SSL Certificate Expiration Monitor in R\",\"datePublished\":\"2019-01-10T22:22:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/01\\\/10\\\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\\\/\"},\"wordCount\":455,\"commentCount\":10,\"publisher\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#\\\/schema\\\/person\\\/d7cb7487ab0527447f7fda5c423ff886\"},\"image\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/01\\\/10\\\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2019\\\/01\\\/plot_zoom_png-1.png?fit=2022%2C862&ssl=1\",\"articleSection\":[\"R\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/01\\\/10\\\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/01\\\/10\\\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\\\/\",\"url\":\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/01\\\/10\\\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\\\/\",\"name\":\"Roll Your Own Federal Government Shutdown-caused SSL Certificate Expiration Monitor in R - rud.is\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/01\\\/10\\\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/01\\\/10\\\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2019\\\/01\\\/plot_zoom_png-1.png?fit=2022%2C862&ssl=1\",\"datePublished\":\"2019-01-10T22:22:25+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/01\\\/10\\\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/01\\\/10\\\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/01\\\/10\\\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2019\\\/01\\\/plot_zoom_png-1.png?fit=2022%2C862&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2019\\\/01\\\/plot_zoom_png-1.png?fit=2022%2C862&ssl=1\",\"width\":2022,\"height\":862},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/01\\\/10\\\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/rud.is\\\/b\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Roll Your Own Federal Government Shutdown-caused SSL Certificate Expiration Monitor in R\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#website\",\"url\":\"https:\\\/\\\/rud.is\\\/b\\\/\",\"name\":\"rud.is\",\"description\":\"&quot;In God we trust. All others must bring data&quot;\",\"publisher\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#\\\/schema\\\/person\\\/d7cb7487ab0527447f7fda5c423ff886\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/rud.is\\\/b\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#\\\/schema\\\/person\\\/d7cb7487ab0527447f7fda5c423ff886\",\"name\":\"hrbrmstr\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/i0.wp.com\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/ukr-shield.png?fit=460%2C460&ssl=1\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/ukr-shield.png?fit=460%2C460&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/ukr-shield.png?fit=460%2C460&ssl=1\",\"width\":460,\"height\":460,\"caption\":\"hrbrmstr\"},\"logo\":{\"@id\":\"https:\\\/\\\/i0.wp.com\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/ukr-shield.png?fit=460%2C460&ssl=1\"},\"description\":\"Don't look at me\u2026I do what he does \u2014 just slower. #rstats avuncular \u2022 ?Resistance Fighter \u2022 Cook \u2022 Christian \u2022 [Master] Chef des Donn\u00e9es de S\u00e9curit\u00e9 @ @rapid7\",\"sameAs\":[\"http:\\\/\\\/rud.is\"],\"url\":\"https:\\\/\\\/rud.is\\\/b\\\/author\\\/hrbrmstr\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Roll Your Own Federal Government Shutdown-caused SSL Certificate Expiration Monitor in R - rud.is","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/rud.is\/b\/2019\/01\/10\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\/","og_locale":"en_US","og_type":"article","og_title":"Roll Your Own Federal Government Shutdown-caused SSL Certificate Expiration Monitor in R - rud.is","og_description":"By now, even remote villages on uncharted islands in the Pacific know that the U.S. is in the midst of a protracted partial government shutdown. It&#8217;s having real impacts on the lives of Federal government workers but they aren&#8217;t the only ones. Much of the interaction Federal agencies have with the populace takes place online [&hellip;]","og_url":"https:\/\/rud.is\/b\/2019\/01\/10\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\/","og_site_name":"rud.is","article_published_time":"2019-01-10T22:22:25+00:00","og_image":[{"width":2022,"height":862,"url":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/01\/plot_zoom_png-1.png?fit=2022%2C862&ssl=1","type":"image\/png"}],"author":"hrbrmstr","twitter_card":"summary_large_image","twitter_misc":{"Written by":"hrbrmstr","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/rud.is\/b\/2019\/01\/10\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\/#article","isPartOf":{"@id":"https:\/\/rud.is\/b\/2019\/01\/10\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\/"},"author":{"name":"hrbrmstr","@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"headline":"Roll Your Own Federal Government Shutdown-caused SSL Certificate Expiration Monitor in R","datePublished":"2019-01-10T22:22:25+00:00","mainEntityOfPage":{"@id":"https:\/\/rud.is\/b\/2019\/01\/10\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\/"},"wordCount":455,"commentCount":10,"publisher":{"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"image":{"@id":"https:\/\/rud.is\/b\/2019\/01\/10\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/01\/plot_zoom_png-1.png?fit=2022%2C862&ssl=1","articleSection":["R"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/rud.is\/b\/2019\/01\/10\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/rud.is\/b\/2019\/01\/10\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\/","url":"https:\/\/rud.is\/b\/2019\/01\/10\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\/","name":"Roll Your Own Federal Government Shutdown-caused SSL Certificate Expiration Monitor in R - rud.is","isPartOf":{"@id":"https:\/\/rud.is\/b\/#website"},"primaryImageOfPage":{"@id":"https:\/\/rud.is\/b\/2019\/01\/10\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\/#primaryimage"},"image":{"@id":"https:\/\/rud.is\/b\/2019\/01\/10\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/01\/plot_zoom_png-1.png?fit=2022%2C862&ssl=1","datePublished":"2019-01-10T22:22:25+00:00","breadcrumb":{"@id":"https:\/\/rud.is\/b\/2019\/01\/10\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/rud.is\/b\/2019\/01\/10\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/rud.is\/b\/2019\/01\/10\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\/#primaryimage","url":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/01\/plot_zoom_png-1.png?fit=2022%2C862&ssl=1","contentUrl":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/01\/plot_zoom_png-1.png?fit=2022%2C862&ssl=1","width":2022,"height":862},{"@type":"BreadcrumbList","@id":"https:\/\/rud.is\/b\/2019\/01\/10\/roll-your-own-federal-government-shutdown-caused-ssl-certificate-expiration-monitor-in-r\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/rud.is\/b\/"},{"@type":"ListItem","position":2,"name":"Roll Your Own Federal Government Shutdown-caused SSL Certificate Expiration Monitor in R"}]},{"@type":"WebSite","@id":"https:\/\/rud.is\/b\/#website","url":"https:\/\/rud.is\/b\/","name":"rud.is","description":"&quot;In God we trust. All others must bring data&quot;","publisher":{"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/rud.is\/b\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886","name":"hrbrmstr","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1","url":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1","contentUrl":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1","width":460,"height":460,"caption":"hrbrmstr"},"logo":{"@id":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1"},"description":"Don't look at me\u2026I do what he does \u2014 just slower. #rstats avuncular \u2022 ?Resistance Fighter \u2022 Cook \u2022 Christian \u2022 [Master] Chef des Donn\u00e9es de S\u00e9curit\u00e9 @ @rapid7","sameAs":["http:\/\/rud.is"],"url":"https:\/\/rud.is\/b\/author\/hrbrmstr\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/01\/plot_zoom_png-1.png?fit=2022%2C862&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p23idr-33F","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":588,"url":"https:\/\/rud.is\/b\/2011\/06\/14\/weis-2011-session-2-identity-the-inconvenient-truth-about-web-certificates\/","url_meta":{"origin":11759,"position":0},"title":"WEIS 2011 :: Session 2 :: Identity :: The Inconvenient Truth About Web Certificates","author":"hrbrmstr","date":"2011-06-14","format":false,"excerpt":"Nevena Vratonjic Julien Freudiger Vincent Bindschaedler Jeane-Pierre Hubaux Presentation [PDF] Twitter transcript #weis2011 Overview of basic ssl\/tls\/https concepts. Asking: how prevalent is https, what are problems with https? #weis2011 Out of their large sample, only 1\/3 (34.7%) have support for https, login is worse! only 22.6% < #data! #weis2011 (me)\u2026","rel":"","context":"In &quot;Certificates&quot;","block_context":{"text":"Certificates","link":"https:\/\/rud.is\/b\/category\/certificates\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4357,"url":"https:\/\/rud.is\/b\/2016\/05\/01\/pining-for-the-fjords-monitoring-ssltls-certificate-expiration-in-r-with-flexdashboard\/","url_meta":{"origin":11759,"position":1},"title":"Pining for the fjoRds &#038; monitoring SSL\/TLS certificate expiration in R with flexdashboard","author":"hrbrmstr","date":"2016-05-01","format":false,"excerpt":"Rumors of my demise have been (almost) greatly exaggerated. Folks have probably noticed that #52Vis has stalled, as has most blogging, package & Twitter activity. I came down with a nasty bout of bronchitis after attending rOpenSci Unconf 16 (there were _so_ many people hacking [the sick kind] up a\u2026","rel":"","context":"In &quot;dashboard&quot;","block_context":{"text":"dashboard","link":"https:\/\/rud.is\/b\/category\/dashboard\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/05\/Fullscreen_5_1_16__9_28_PM.png?fit=1200%2C609&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/05\/Fullscreen_5_1_16__9_28_PM.png?fit=1200%2C609&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/05\/Fullscreen_5_1_16__9_28_PM.png?fit=1200%2C609&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/05\/Fullscreen_5_1_16__9_28_PM.png?fit=1200%2C609&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/05\/Fullscreen_5_1_16__9_28_PM.png?fit=1200%2C609&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":690,"url":"https:\/\/rud.is\/b\/2011\/12\/18\/an-open-letter-to-it-vendors-for-2012\/","url_meta":{"origin":11759,"position":2},"title":"An Open Letter to IT Vendors For 2012","author":"hrbrmstr","date":"2011-12-18","format":false,"excerpt":"Dear $VENDOR, 2012 is nigh upon us and with the new year, I am throwing down a challenge to each and every IT vendor out there. 2011 was a brutal year of incidents, breaches, outages and FUD and the last thing anyone needs is a repeat performance. Instead, please take\u2026","rel":"","context":"In &quot;Information Security&quot;","block_context":{"text":"Information Security","link":"https:\/\/rud.is\/b\/category\/information-security\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":968,"url":"https:\/\/rud.is\/b\/2012\/04\/28\/slaying-the-beast-in-nginx\/","url_meta":{"origin":11759,"position":3},"title":"Slaying the BEAST in nginx","author":"hrbrmstr","date":"2012-04-28","format":false,"excerpt":"Just a quick post as I noticed that my nginx configuration was vulnerable to the BEAST attack thanks to the #spiffy SSL Certificate Tester from Qualys (I scored an \"A\", btw :-). The nginx docs show how to do this, now, and it's pretty simple (very similar to the Apache\u2026","rel":"","context":"In &quot;Certificates&quot;","block_context":{"text":"Certificates","link":"https:\/\/rud.is\/b\/category\/certificates\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":9584,"url":"https:\/\/rud.is\/b\/2018\/04\/13\/does-congress-really-care-about-your-privacy\/","url_meta":{"origin":11759,"position":4},"title":"Does Congress Really Care About Your Privacy?","author":"hrbrmstr","date":"2018-04-13","format":false,"excerpt":"I apologize up-front for using bad words in this post. Said bad words include \"Facebook\", \"Mark Zuckerberg\" and many referrals to entities within the U.S. Government. Given the topic, it cannot be helped. I've also left the R tag on this despite only showing some ggplot2 plots and Markdown tables.\u2026","rel":"","context":"In &quot;Commentary&quot;","block_context":{"text":"Commentary","link":"https:\/\/rud.is\/b\/category\/commentary\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2018\/04\/privacy-final.png?fit=1200%2C1045&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2018\/04\/privacy-final.png?fit=1200%2C1045&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2018\/04\/privacy-final.png?fit=1200%2C1045&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2018\/04\/privacy-final.png?fit=1200%2C1045&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2018\/04\/privacy-final.png?fit=1200%2C1045&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":993,"url":"https:\/\/rud.is\/b\/2012\/05\/05\/both-candidates-weak-on-ssl-security\/","url_meta":{"origin":11759,"position":5},"title":"Both Candidates Weak On [SSL] Security","author":"hrbrmstr","date":"2012-05-05","format":false,"excerpt":"UPDATE: Fixed link to cached Obama image thx to notice from JB While the two front-running candidates engaged in a bizarre, Klingon-esque ritual of hubris regarding which one was the better killer, their respective technical campaign staffers were failing to make the grade on security when it comes to taking\u2026","rel":"","context":"In &quot;Certificates&quot;","block_context":{"text":"Certificates","link":"https:\/\/rud.is\/b\/category\/certificates\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/11759","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/comments?post=11759"}],"version-history":[{"count":0,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/11759\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/media\/11761"}],"wp:attachment":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/media?parent=11759"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/categories?post=11759"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/tags?post=11759"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}