<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mark Marus</title>
    <description>The latest articles on DEV Community by Mark Marus (@cvltyxd).</description>
    <link>https://dev.to/cvltyxd</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F832561%2Fb4beb8ff-714a-4065-b409-57ca1e07b268.jpeg</url>
      <title>DEV Community: Mark Marus</title>
      <link>https://dev.to/cvltyxd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cvltyxd"/>
    <language>en</language>
    <item>
      <title>creating a self signed ssl certificate and making your browser trust it</title>
      <dc:creator>Mark Marus</dc:creator>
      <pubDate>Sat, 05 Nov 2022 13:18:13 +0000</pubDate>
      <link>https://dev.to/cvltyxd/creating-a-self-signed-ssl-certificate-and-making-your-browser-trust-it-2blo</link>
      <guid>https://dev.to/cvltyxd/creating-a-self-signed-ssl-certificate-and-making-your-browser-trust-it-2blo</guid>
      <description>&lt;p&gt;So i needed to make localhost with ssl certificate but couldn't find a way to create a certificate. After a few hours i found the solution. So first of all:&lt;br&gt;
1) &lt;code&gt;openssl genrsa -out rootCA.key 2048&lt;/code&gt;&lt;br&gt;
2) &lt;code&gt;openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem&lt;/code&gt;&lt;br&gt;
After those 2 commands you should get 2 files (rootCA.key &amp;amp; rootCA.pem&lt;br&gt;
3) Now let's create a bash script. I'll name it create_certificate_for_domain.sh&lt;br&gt;
to begin type this lines:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if [ -z "$1" ]
then
  echo "Please supply a subdomain to create a certificate for";
  echo "e.g. mysite.localhost"
  exit;
fi
if [ -f device.key ]; then
  KEY_OPT="-key"
else
  KEY_OPT="-keyout"
fi
DOMAIN=$1
COMMON_NAME=${2:-$1}
SUBJECT="/C=CA/ST=None/L=NB/O=None/CN=$COMMON_NAME"
NUM_OF_DAYS=999


cat v3.ext | sed s/%%DOMAIN%%/$COMMON_NAME/g &amp;gt; /tmp/__v3.ext
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days $NUM_OF_DAYS -sha256 -extfile /tmp/__v3.ext

mv device.csr $DOMAIN.csr
cp device.crt $DOMAIN.crt

rm -f device.crt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;4) create csr file &lt;br&gt;
openssl req -new -newkey rsa:2048 -sha256 -nodes $KEY_OPT device.key -subj "$SUBJECT" -out device.csr&lt;br&gt;
5) now we have to create a support file with settings. I'll call it v3.ext&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = %%DOMAIN%%
DNS.2 = *.%%DOMAIN%%
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;5) Now run the script&lt;br&gt;
&lt;code&gt;./create_certificate_for_domain.sh mysite.localhost&lt;/code&gt;&lt;br&gt;
6) We get 2 files: &lt;strong&gt;mysite.localhost.crt&lt;/strong&gt; &amp;amp;&amp;amp; &lt;strong&gt;device.key&lt;/strong&gt;&lt;br&gt;
7) We have to link them to our localhost (nginx example)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fspwgj4nmjjj3p42r7p9e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fspwgj4nmjjj3p42r7p9e.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
8)open our link in browser. you should get security error&lt;br&gt;
9) go into keychain and trust our mysite.localhost.crt&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa0ue86puafa0w4b1dj9s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa0ue86puafa0w4b1dj9s.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;10) open the browser again and open localhost. That's it, you should be good to go!&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
