{"id":1298,"date":"2023-01-22T17:21:02","date_gmt":"2023-01-22T23:21:02","guid":{"rendered":"https:\/\/www.nathanhunstad.com\/blog\/?p=1298"},"modified":"2023-01-22T17:24:08","modified_gmt":"2023-01-22T23:24:08","slug":"adding-a-san-to-a-certificate-using-openssl","status":"publish","type":"post","link":"https:\/\/www.nathanhunstad.com\/blog\/2023\/01\/adding-a-san-to-a-certificate-using-openssl\/","title":{"rendered":"Adding a SAN to a certificate using OpenSSL"},"content":{"rendered":"\n<p>A long time ago, <a href=\"https:\/\/www.nathanhunstad.com\/blog\/2016\/09\/pki-revisited\/\" target=\"_blank\" rel=\"noopener\" title=\"I set up an internal PKI\">I set up an internal PKI<\/a> so I could create my own TLS certificates to add to internal devices and HTTPS servers. I used this primarily for my EdgeOS router since that was the main device I would log into that would give me a warning about untrusted certificates.<\/p>\n\n\n\n<p>That was all the way back in 2016. Since then, I&#8217;ve kind of kept on top of things, renewing the certificate when it expired a few years ago, but it had expired yet again so I was faced with that dreaded warning when connecting to my router. This time, though, creating a new cert using the old commands wasn&#8217;t good enough, because it was missing a Subject Alternate Name (SAN), and that prompted a slightly different warning with the same result: no trust in the browser.<\/p>\n\n\n\n<p>What happened? Using a SAN instead of the Common Name for certificate validation has been required by browsers for a while (<a href=\"https:\/\/developer.chrome.com\/blog\/chrome-58-deprecations\/#remove_support_for_commonname_matching_in_certificates\" target=\"_blank\" rel=\"noopener\" title=\"since 2017 in Chrome\">since 2017 in Chrome<\/a> for example). This is because the Common Name is ambiguous, whereas the SAN can specify a domain, IP, or URI; if you want the gnarly details, see <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc2818\" target=\"_blank\" rel=\"noopener\" title=\"RFC2818\">RFC2818<\/a> and <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc6125\" target=\"_blank\" rel=\"noopener\" title=\"RFC6125\">RFC6125<\/a>.<\/p>\n\n\n\n<p>This wasn&#8217;t a problem in 2016 since browsers weren&#8217;t requiring this, but it&#8217;s been an issue for a while now. Unfortunately, it&#8217;s a bit harder to create a certificate-signing request (CSR) and sign a certificate in such a way that a SAN is included. There are ways you can do this using OpenSSL configuration and extension files, but I was looking for one-liners like I could do before.<\/p>\n\n\n\n<p>Eventually, thanks to some searching, I was able to find a way to add a DNS SAN to a certificate and still make it a one-liner for the most part. To start by generating the CSR, I ran the following command (replaced FQDN with the FQDN of the target server):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openssl req -new -sha256 -subj \"\/C=US\/ST=Minnesota\/L=Minneapolis\/O=MyOrg\/CN=FQDN\" -addext \"subjectAltName = DNS:FQDN\" -key private.key -out req.csr<\/code><\/pre>\n\n\n\n<p>That generated a CSR with the right extension, as you can see when looking at the text dump via OpenSSL:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> Attributes:\n            Requested Extensions:\n                X509v3 Subject Alternative Name:\n                    DNS:FQDN\n<\/code><\/pre>\n\n\n\n<p>I thought that was it and signing it the old way would be all that I&#8217;d need, but nope, it didn&#8217;t include the SAN (a fact that a user <a href=\"https:\/\/security.stackexchange.com\/questions\/74345\/provide-subjectaltname-to-openssl-directly-on-the-command-line\" target=\"_blank\" rel=\"noopener\" title=\"calls out explicitly\">calls out explicitly<\/a> in the page where I found this. So I needed to find out how to sign it with the extension as well. After a bit more digging, I found that this would do the trick<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openssl x509 -sha256 -req  -days 1096 -in req.csr -CA ia.crt -CAkey ia.key -extensions SAN -extfile &lt;(cat \/etc\/ssl\/openssl.cnf &lt;(printf \"\\n&#91;SAN]\\nsubjectAltName=DNS:FQDN\")) -set_serial 4 -out cert.pem<\/code><\/pre>\n\n\n\n<p>This essentially creates the proper configuration on the fly, and as a result the certificate that is generated has the proper SAN. After adding to the router and restarting the lighttpd daemon, we are trusted again!<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.nathanhunstad.com\/blog\/wp-content\/uploads\/2023\/01\/image.png\"><img loading=\"lazy\" decoding=\"async\" width=\"382\" height=\"48\" src=\"https:\/\/www.nathanhunstad.com\/blog\/wp-content\/uploads\/2023\/01\/image.png\" alt=\"\" class=\"wp-image-1299\" srcset=\"https:\/\/www.nathanhunstad.com\/blog\/wp-content\/uploads\/2023\/01\/image.png 382w, https:\/\/www.nathanhunstad.com\/blog\/wp-content\/uploads\/2023\/01\/image-300x38.png 300w\" sizes=\"auto, (max-width: 382px) 100vw, 382px\" \/><\/a><figcaption class=\"wp-element-caption\">Success!<\/figcaption><\/figure>\n\n\n\n<p>If there was a need to add another SAN such as an IP address, the same method could be used.<\/p>\n\n\n\n<p>That&#8217;s it!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A long time ago, I set up an internal PKI so I could create my own TLS certificates to add to internal devices and HTTPS servers. I used this primarily for my EdgeOS router since that was the main device I would log into that would give me a warning about untrusted certificates. That was&hellip; <a class=\"more-link\" href=\"https:\/\/www.nathanhunstad.com\/blog\/2023\/01\/adding-a-san-to-a-certificate-using-openssl\/\">Continue reading <span class=\"screen-reader-text\">Adding a SAN to a certificate using OpenSSL<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1],"tags":[286,285,287],"class_list":["post-1298","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-openssl","tag-security","tag-tls","entry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"How to add a Subject Alternative Name (SAN) to a certificate using OpenSSL on the command line without the need for complicated configuration files\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Nathan Hunstad\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.nathanhunstad.com\/blog\/2023\/01\/adding-a-san-to-a-certificate-using-openssl\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"The blog of Nathan Hunstad |\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Adding a SAN to a certificate using OpenSSL | The blog of Nathan Hunstad\" \/>\n\t\t<meta property=\"og:description\" content=\"How to add a Subject Alternative Name (SAN) to a certificate using OpenSSL on the command line without the need for complicated configuration files\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.nathanhunstad.com\/blog\/2023\/01\/adding-a-san-to-a-certificate-using-openssl\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.nathanhunstad.com\/blog\/wp-content\/uploads\/2023\/05\/facicon-stretched.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.nathanhunstad.com\/blog\/wp-content\/uploads\/2023\/05\/facicon-stretched.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"484\" \/>\n\t\t<meta property=\"og:image:height\" content=\"258\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-01-22T23:21:02+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-01-22T23:24:08+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Adding a SAN to a certificate using OpenSSL | The blog of Nathan Hunstad\" \/>\n\t\t<meta name=\"twitter:description\" content=\"How to add a Subject Alternative Name (SAN) to a certificate using OpenSSL on the command line without the need for complicated configuration files\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.nathanhunstad.com\/blog\/wp-content\/uploads\/2023\/05\/facicon-stretched.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/2023\\\/01\\\/adding-a-san-to-a-certificate-using-openssl\\\/#article\",\"name\":\"Adding a SAN to a certificate using OpenSSL | The blog of Nathan Hunstad\",\"headline\":\"Adding a SAN to a certificate using OpenSSL\",\"author\":{\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/author\\\/huns0004\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/image.png\",\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/2023\\\/01\\\/adding-a-san-to-a-certificate-using-openssl\\\/#articleImage\",\"width\":382,\"height\":48},\"datePublished\":\"2023-01-22T17:21:02-06:00\",\"dateModified\":\"2023-01-22T17:24:08-06:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/2023\\\/01\\\/adding-a-san-to-a-certificate-using-openssl\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/2023\\\/01\\\/adding-a-san-to-a-certificate-using-openssl\\\/#webpage\"},\"articleSection\":\"Uncategorized, OpenSSL, Security, TLS\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/2023\\\/01\\\/adding-a-san-to-a-certificate-using-openssl\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/category\\\/uncategorized\\\/#listItem\",\"name\":\"Uncategorized\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/category\\\/uncategorized\\\/#listItem\",\"position\":2,\"name\":\"Uncategorized\",\"item\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/category\\\/uncategorized\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/2023\\\/01\\\/adding-a-san-to-a-certificate-using-openssl\\\/#listItem\",\"name\":\"Adding a SAN to a certificate using OpenSSL\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/2023\\\/01\\\/adding-a-san-to-a-certificate-using-openssl\\\/#listItem\",\"position\":3,\"name\":\"Adding a SAN to a certificate using OpenSSL\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/category\\\/uncategorized\\\/#listItem\",\"name\":\"Uncategorized\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/#person\",\"name\":\"Nathan Hunstad\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/2023\\\/01\\\/adding-a-san-to-a-certificate-using-openssl\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c5113ffdbe47c3095654b9158d4f067a549f1c82013a3f3c5dd7773d3f4b5be0?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Nathan Hunstad\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/author\\\/huns0004\\\/#author\",\"url\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/author\\\/huns0004\\\/\",\"name\":\"Nathan Hunstad\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/2023\\\/01\\\/adding-a-san-to-a-certificate-using-openssl\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c5113ffdbe47c3095654b9158d4f067a549f1c82013a3f3c5dd7773d3f4b5be0?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Nathan Hunstad\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/2023\\\/01\\\/adding-a-san-to-a-certificate-using-openssl\\\/#webpage\",\"url\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/2023\\\/01\\\/adding-a-san-to-a-certificate-using-openssl\\\/\",\"name\":\"Adding a SAN to a certificate using OpenSSL | The blog of Nathan Hunstad\",\"description\":\"How to add a Subject Alternative Name (SAN) to a certificate using OpenSSL on the command line without the need for complicated configuration files\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/2023\\\/01\\\/adding-a-san-to-a-certificate-using-openssl\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/author\\\/huns0004\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/author\\\/huns0004\\\/#author\"},\"datePublished\":\"2023-01-22T17:21:02-06:00\",\"dateModified\":\"2023-01-22T17:24:08-06:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/\",\"name\":\"The blog of Nathan Hunstad\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.nathanhunstad.com\\\/blog\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Adding a SAN to a certificate using OpenSSL | The blog of Nathan Hunstad","description":"How to add a Subject Alternative Name (SAN) to a certificate using OpenSSL on the command line without the need for complicated configuration files","canonical_url":"https:\/\/www.nathanhunstad.com\/blog\/2023\/01\/adding-a-san-to-a-certificate-using-openssl\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.nathanhunstad.com\/blog\/2023\/01\/adding-a-san-to-a-certificate-using-openssl\/#article","name":"Adding a SAN to a certificate using OpenSSL | The blog of Nathan Hunstad","headline":"Adding a SAN to a certificate using OpenSSL","author":{"@id":"https:\/\/www.nathanhunstad.com\/blog\/author\/huns0004\/#author"},"publisher":{"@id":"https:\/\/www.nathanhunstad.com\/blog\/#person"},"image":{"@type":"ImageObject","url":"https:\/\/www.nathanhunstad.com\/blog\/wp-content\/uploads\/2023\/01\/image.png","@id":"https:\/\/www.nathanhunstad.com\/blog\/2023\/01\/adding-a-san-to-a-certificate-using-openssl\/#articleImage","width":382,"height":48},"datePublished":"2023-01-22T17:21:02-06:00","dateModified":"2023-01-22T17:24:08-06:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.nathanhunstad.com\/blog\/2023\/01\/adding-a-san-to-a-certificate-using-openssl\/#webpage"},"isPartOf":{"@id":"https:\/\/www.nathanhunstad.com\/blog\/2023\/01\/adding-a-san-to-a-certificate-using-openssl\/#webpage"},"articleSection":"Uncategorized, OpenSSL, Security, TLS"},{"@type":"BreadcrumbList","@id":"https:\/\/www.nathanhunstad.com\/blog\/2023\/01\/adding-a-san-to-a-certificate-using-openssl\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.nathanhunstad.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.nathanhunstad.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.nathanhunstad.com\/blog\/category\/uncategorized\/#listItem","name":"Uncategorized"}},{"@type":"ListItem","@id":"https:\/\/www.nathanhunstad.com\/blog\/category\/uncategorized\/#listItem","position":2,"name":"Uncategorized","item":"https:\/\/www.nathanhunstad.com\/blog\/category\/uncategorized\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.nathanhunstad.com\/blog\/2023\/01\/adding-a-san-to-a-certificate-using-openssl\/#listItem","name":"Adding a SAN to a certificate using OpenSSL"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.nathanhunstad.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.nathanhunstad.com\/blog\/2023\/01\/adding-a-san-to-a-certificate-using-openssl\/#listItem","position":3,"name":"Adding a SAN to a certificate using OpenSSL","previousItem":{"@type":"ListItem","@id":"https:\/\/www.nathanhunstad.com\/blog\/category\/uncategorized\/#listItem","name":"Uncategorized"}}]},{"@type":"Person","@id":"https:\/\/www.nathanhunstad.com\/blog\/#person","name":"Nathan Hunstad","image":{"@type":"ImageObject","@id":"https:\/\/www.nathanhunstad.com\/blog\/2023\/01\/adding-a-san-to-a-certificate-using-openssl\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/c5113ffdbe47c3095654b9158d4f067a549f1c82013a3f3c5dd7773d3f4b5be0?s=96&d=mm&r=g","width":96,"height":96,"caption":"Nathan Hunstad"}},{"@type":"Person","@id":"https:\/\/www.nathanhunstad.com\/blog\/author\/huns0004\/#author","url":"https:\/\/www.nathanhunstad.com\/blog\/author\/huns0004\/","name":"Nathan Hunstad","image":{"@type":"ImageObject","@id":"https:\/\/www.nathanhunstad.com\/blog\/2023\/01\/adding-a-san-to-a-certificate-using-openssl\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/c5113ffdbe47c3095654b9158d4f067a549f1c82013a3f3c5dd7773d3f4b5be0?s=96&d=mm&r=g","width":96,"height":96,"caption":"Nathan Hunstad"}},{"@type":"WebPage","@id":"https:\/\/www.nathanhunstad.com\/blog\/2023\/01\/adding-a-san-to-a-certificate-using-openssl\/#webpage","url":"https:\/\/www.nathanhunstad.com\/blog\/2023\/01\/adding-a-san-to-a-certificate-using-openssl\/","name":"Adding a SAN to a certificate using OpenSSL | The blog of Nathan Hunstad","description":"How to add a Subject Alternative Name (SAN) to a certificate using OpenSSL on the command line without the need for complicated configuration files","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.nathanhunstad.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.nathanhunstad.com\/blog\/2023\/01\/adding-a-san-to-a-certificate-using-openssl\/#breadcrumblist"},"author":{"@id":"https:\/\/www.nathanhunstad.com\/blog\/author\/huns0004\/#author"},"creator":{"@id":"https:\/\/www.nathanhunstad.com\/blog\/author\/huns0004\/#author"},"datePublished":"2023-01-22T17:21:02-06:00","dateModified":"2023-01-22T17:24:08-06:00"},{"@type":"WebSite","@id":"https:\/\/www.nathanhunstad.com\/blog\/#website","url":"https:\/\/www.nathanhunstad.com\/blog\/","name":"The blog of Nathan Hunstad","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.nathanhunstad.com\/blog\/#person"}}]},"og:locale":"en_US","og:site_name":"The blog of Nathan Hunstad |","og:type":"article","og:title":"Adding a SAN to a certificate using OpenSSL | The blog of Nathan Hunstad","og:description":"How to add a Subject Alternative Name (SAN) to a certificate using OpenSSL on the command line without the need for complicated configuration files","og:url":"https:\/\/www.nathanhunstad.com\/blog\/2023\/01\/adding-a-san-to-a-certificate-using-openssl\/","og:image":"https:\/\/www.nathanhunstad.com\/blog\/wp-content\/uploads\/2023\/05\/facicon-stretched.jpg","og:image:secure_url":"https:\/\/www.nathanhunstad.com\/blog\/wp-content\/uploads\/2023\/05\/facicon-stretched.jpg","og:image:width":484,"og:image:height":258,"article:published_time":"2023-01-22T23:21:02+00:00","article:modified_time":"2023-01-22T23:24:08+00:00","twitter:card":"summary","twitter:title":"Adding a SAN to a certificate using OpenSSL | The blog of Nathan Hunstad","twitter:description":"How to add a Subject Alternative Name (SAN) to a certificate using OpenSSL on the command line without the need for complicated configuration files","twitter:image":"https:\/\/www.nathanhunstad.com\/blog\/wp-content\/uploads\/2023\/05\/facicon-stretched.jpg"},"aioseo_meta_data":{"post_id":"1298","title":null,"description":"How to add a Subject Alternative Name (SAN) to a certificate using OpenSSL on the command line without the need for complicated configuration files","keywords":[],"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"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":"","og_custom_url":null,"og_article_section":null,"og_article_tags":[],"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":"Article","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":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-01-22 22:51:17","updated":"2025-06-04 06:07:13","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.nathanhunstad.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.nathanhunstad.com\/blog\/category\/uncategorized\/\" title=\"Uncategorized\">Uncategorized<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tAdding a SAN to a certificate using OpenSSL\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.nathanhunstad.com\/blog"},{"label":"Uncategorized","link":"https:\/\/www.nathanhunstad.com\/blog\/category\/uncategorized\/"},{"label":"Adding a SAN to a certificate using OpenSSL","link":"https:\/\/www.nathanhunstad.com\/blog\/2023\/01\/adding-a-san-to-a-certificate-using-openssl\/"}],"_links":{"self":[{"href":"https:\/\/www.nathanhunstad.com\/blog\/wp-json\/wp\/v2\/posts\/1298","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nathanhunstad.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nathanhunstad.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nathanhunstad.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nathanhunstad.com\/blog\/wp-json\/wp\/v2\/comments?post=1298"}],"version-history":[{"count":2,"href":"https:\/\/www.nathanhunstad.com\/blog\/wp-json\/wp\/v2\/posts\/1298\/revisions"}],"predecessor-version":[{"id":1301,"href":"https:\/\/www.nathanhunstad.com\/blog\/wp-json\/wp\/v2\/posts\/1298\/revisions\/1301"}],"wp:attachment":[{"href":"https:\/\/www.nathanhunstad.com\/blog\/wp-json\/wp\/v2\/media?parent=1298"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nathanhunstad.com\/blog\/wp-json\/wp\/v2\/categories?post=1298"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nathanhunstad.com\/blog\/wp-json\/wp\/v2\/tags?post=1298"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}