<?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>Forem: Divesh Panwar</title>
    <description>The latest articles on Forem by Divesh Panwar (@diveshpanwar).</description>
    <link>https://forem.com/diveshpanwar</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%2F557590%2F0e6be161-c2f2-4c69-8d18-108e07292ada.jpeg</url>
      <title>Forem: Divesh Panwar</title>
      <link>https://forem.com/diveshpanwar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/diveshpanwar"/>
    <language>en</language>
    <item>
      <title>Setting up different Environments in Vite Projects</title>
      <dc:creator>Divesh Panwar</dc:creator>
      <pubDate>Wed, 13 Sep 2023 14:01:47 +0000</pubDate>
      <link>https://forem.com/diveshpanwar/setting-up-different-environments-in-vite-projects-2mb1</link>
      <guid>https://forem.com/diveshpanwar/setting-up-different-environments-in-vite-projects-2mb1</guid>
      <description>&lt;h2&gt;
  
  
  Trying to use different environments in Vite?
&lt;/h2&gt;

&lt;p&gt;Recently I have faced a situation where I was to build my Vue3 project for different environments using Vite. I used to do that in webpack but in vite, it is hard to figure out!!!&lt;/p&gt;

&lt;p&gt;Let's do one thing at a time!&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Setup (I know you are an expert, you can skip it)
&lt;/h2&gt;

&lt;p&gt;I was using Vue3 composition api with TS, so let's create one with same configuration&lt;/p&gt;

&lt;p&gt;Enter command &lt;code&gt;npm create vue@latest&lt;/code&gt;, and choose the options as mentioned below in the screenshot:&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%2Fr7jbysq9h4u1lp8hw5sf.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%2Fr7jbysq9h4u1lp8hw5sf.png" alt="Initial Prject Setup"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now do &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cd &amp;lt;your_project_name&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;npm i&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is all you need for the initial setup, now you can open the project in some code editior (I am using VS Code).&lt;/p&gt;

&lt;p&gt;And you will see a folder structure like below.&lt;br&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%2Fb4wry066a5yxz9ikds6j.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%2Fb4wry066a5yxz9ikds6j.png" alt="Initial Folder Structure"&gt;&lt;/a&gt;&lt;br&gt;
😒 Hey!!! where are my environment files???&lt;br&gt;
Actually by default we don't get any! But we can create few. All you have to do is, create a .env file in the project root folder and append . to it. Like:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

env.production
env.uat
env.staging


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

&lt;/div&gt;

&lt;p&gt;Now your project folder structure will look something like this&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%2Fbky1lmd74z0cmkys6eks.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%2Fbky1lmd74z0cmkys6eks.png" alt="Project structure with env files"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we have environment files 😍, but I don't have any environment variables 🤦‍♂️.&lt;/p&gt;

&lt;p&gt;Let's create one! But remember, environment variables must start with a keyword, and they vary from frameworl to framework (or library). In our case I am buing Vue3, so my environment variables must start with &lt;code&gt;VITE_USER_&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;That being said, I am creating &lt;code&gt;VITE_USER_DEPLOYMENT_INSTANCE_TYPE&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;So it will have following values in files:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;env.staging =&amp;gt; &lt;code&gt;VITE_USER_DEPLOYMENT_INSTANCE_TYPE=STAGING&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;env.uat =&amp;gt; &lt;code&gt;VITE_USER_DEPLOYMENT_INSTANCE_TYPE=UAT&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;env.production =&amp;gt; &lt;code&gt;VITE_USER_DEPLOYMENT_INSTANCE_TYPE=PRODUCTION&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;But wait a minute? Where are we using them??? Let's use them.&lt;/p&gt;

&lt;p&gt;First Let's start your dev server &lt;code&gt;npm run dev&lt;/code&gt;, once dev server is up and running you can see your app running on &lt;code&gt;http://localhost:5173/&lt;/code&gt;, and this is what you will see!&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%2Fy1m2ebes4m45dx0f62pq.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%2Fy1m2ebes4m45dx0f62pq.png" alt="Initial APP"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's replace &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You Did it!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;with the value of &lt;code&gt;VITE_USER_DEPLOYMENT_INSTANCE_TYPE&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;So in vue3 (composition API) if you want to access environment, we do it using &lt;code&gt;import.meta.env&lt;/code&gt;. Let's dig in!!!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open file &lt;code&gt;App.vue&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Inside the script tag just write &lt;code&gt;const env = import.meta.env;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Find this line in &lt;code&gt;App.vue&lt;/code&gt; &lt;code&gt;&amp;lt;HelloWorld msg="You did it!" /&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;And replace it with &lt;code&gt;&amp;lt;HelloWorld :msg="env.VITE_USER_DEPLOYMENT_INSTANCE_TYPE" /&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;😨 And I don't see anything in browser. And that is because we don't have &lt;code&gt;env.development&lt;/code&gt;, so either we can create &lt;code&gt;env.development&lt;/code&gt; file and add &lt;code&gt;VITE_USER_DEPLOYMENT_INSTANCE_TYPE=DEVELOPMENT&lt;/code&gt; or use &lt;em&gt;&lt;strong&gt;Nullish coalescing operator&lt;/strong&gt;&lt;/em&gt; .&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I am using &lt;code&gt;Nullish Coalescing Operator&lt;/code&gt; =&amp;gt; (&lt;strong&gt;Basically use provided default value if the left hand side is null or undefined&lt;/strong&gt;) so replace the line with &lt;code&gt;&amp;lt;HelloWorld :msg="env.VITE_USER_DEPLOYMENT_INSTANCE_TYPE ?? 'DEVELOPMENT'" /&amp;gt;&lt;/code&gt;.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;And You are done. Your homepage will look like this.&lt;/li&gt;
&lt;/ol&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%2Fh6g4btvtg77tmluygj4w.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%2Fh6g4btvtg77tmluygj4w.png" alt="Home Page with ENV"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Building the project
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;npm run build&lt;/code&gt;, however it builds for &lt;strong&gt;production&lt;/strong&gt; by default.&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%2Fawyfzbhgu4n8p56ff0dl.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%2Fawyfzbhgu4n8p56ff0dl.png" alt="Production Build"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Let's see the preview, do &lt;code&gt;npm run preview&lt;/code&gt;.&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%2F3dc7n3mr1evit8mbk5vx.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%2F3dc7n3mr1evit8mbk5vx.png" alt="Production Build Preview"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Build for &lt;strong&gt;staging&lt;/strong&gt; or &lt;strong&gt;uat&lt;/strong&gt;.
&lt;/h2&gt;

&lt;p&gt;The process is simple, you have to replace your &lt;code&gt;build-only&lt;/code&gt; script in &lt;code&gt;package.json&lt;/code&gt; with this &lt;code&gt;"build-only": "NODE_ENV=${NODE_ENV:-production} &amp;amp;&amp;amp; vite build --mode $NODE_ENV"&lt;br&gt;
&lt;/code&gt; in &lt;strong&gt;linux&lt;/strong&gt; and &lt;strong&gt;mac&lt;/strong&gt; or &lt;code&gt;"build-only": "setx NODE_ENV production &amp;amp;&amp;amp; vite build --mode %NODE_ENV%"&lt;/code&gt; in &lt;strong&gt;windows&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;So here we are checking if the &lt;code&gt;NODE_ENV&lt;/code&gt; is set, and if not then use &lt;code&gt;production&lt;/code&gt; as default value,a nd then we are passing &lt;code&gt;NODE_ENV&lt;/code&gt; as mode to the &lt;code&gt;vite build&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;And we are done!&lt;/p&gt;

&lt;p&gt;Now let's build for staging environment, &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;export NODE_ENV=staging&lt;/code&gt; for &lt;strong&gt;linux and Mac&lt;/strong&gt; or &lt;code&gt;set NODE_ENV=staging&lt;/code&gt;for &lt;strong&gt;windows&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;npm run build&lt;/code&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%2Ftii4c02m4u3t0xiwq9wr.png" alt="Staging Build"&gt;
&lt;/li&gt;
&lt;li&gt;And preview &lt;code&gt;npm run build&lt;/code&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%2F77q8gtthaev1wo5mifz4.png" alt="Page with Staging Build"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;And that is it! Now this is the one of the solutions I have found, but if you have anything better, please let me know in the comments!!!&lt;/p&gt;

&lt;p&gt;Happy coding 🎉&lt;/p&gt;

</description>
      <category>vite</category>
      <category>npm</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Generate SSL Certs Using OpenSSL</title>
      <dc:creator>Divesh Panwar</dc:creator>
      <pubDate>Sun, 07 Feb 2021 08:05:03 +0000</pubDate>
      <link>https://forem.com/diveshpanwar/generate-ssl-certs-using-openssl-2p7a</link>
      <guid>https://forem.com/diveshpanwar/generate-ssl-certs-using-openssl-2p7a</guid>
      <description>&lt;p&gt;Hi Techies, this is a quick guide to generate openSSL certificates for your websites or applications on windows and Linux.&lt;/p&gt;

&lt;h2&gt;
  
  
  Perquisites
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;&lt;code&gt;openssl&lt;/code&gt;&lt;/em&gt; on Linux&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;&lt;code&gt;git&lt;/code&gt; and &lt;code&gt;git bash&lt;/code&gt;&lt;/em&gt; or after installing git add &lt;code&gt;&amp;lt;git_installtion_directory&amp;gt;/usr/bin&lt;/code&gt; to &lt;strong&gt;Path&lt;/strong&gt; environment variable on the windows machine to use git bash from cmd or powershell&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;java jdk&lt;/em&gt; &amp;amp; &lt;em&gt;keytool&lt;/em&gt; -- if you want to generate local keystore&lt;/li&gt;
&lt;/ul&gt;

&lt;h6&gt;
  
  
  &lt;em&gt;In case you are modifying the environment variable on windows machine close all the open cmd, powershell windows and open the fresh cmd or powershell.&lt;/em&gt;
&lt;/h6&gt;

&lt;h2&gt;
  
  
  Reference
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;country_code&amp;gt;&lt;/code&gt; : like &lt;code&gt;IN&lt;/code&gt; or &lt;code&gt;PK&lt;/code&gt; or &lt;code&gt;NZ&lt;/code&gt; or &lt;code&gt;US&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;STATE&amp;gt;&lt;/code&gt;: like &lt;code&gt;Karnataka&lt;/code&gt;, &lt;code&gt;Himachal&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;CITY&amp;gt;&lt;/code&gt;: like &lt;code&gt;Shimla&lt;/code&gt;, &lt;code&gt;Banglore&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;ORGANISATION&amp;gt;&lt;/code&gt;: like &lt;code&gt;Infy&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;ORG_UNIT&amp;gt;&lt;/code&gt;: Unit of Organization like &lt;code&gt;Marketing&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;CANONICAL_NAME&amp;gt;&lt;/code&gt;: Hostname like &lt;code&gt;thenoobsbook.dev&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;IP_ONE&amp;gt;&lt;/code&gt;: IP of the server you after hosting the applicatiion like &lt;code&gt;127.0.0.1&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;IP_TWO&amp;gt;&lt;/code&gt;: In case there are more than one IPS add them seperated by comma (,)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;password&amp;gt;&lt;/code&gt; : password of the cert file like &lt;code&gt;abc@123&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;keystore_pass&amp;gt;&lt;/code&gt; : the password of the keystore like &lt;code&gt;abc@123&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;public_crt_file&amp;gt;&lt;/code&gt;: name of the public certificate file, you can also give the location if not in the current directory like &lt;code&gt;/home/public.crt&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;alias&amp;gt;&lt;/code&gt; : alias for keystore unique per keystore like abc&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;nameOfKeystore&amp;gt;&lt;/code&gt;: name of the keystore file, you can also specify the location like &lt;code&gt;/home/kcacerts&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Commands to Generate Certificates
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;openssl req -newkey rsa:4096 -x509 -days 3650 -out server_cert.pem -keyout server_key.pem -subj "/C=&amp;lt;country_code&amp;gt;/ST=&amp;lt;STATE&amp;gt;/L=&amp;lt;CITY&amp;gt;/O=&amp;lt;ORGANISATION&amp;gt;/OU=&amp;lt;ORG_UNIT&amp;gt;/CN=&amp;lt;CANONICAL_NAME&amp;gt;" -addext "subjectAltName = IP:&amp;lt;IP_ONE&amp;gt;,IP:&amp;lt;IP_TWO&amp;gt;" -passin pass:&amp;lt;password&amp;gt; -passout pass:&amp;lt;password&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;openssl rsa -in server_key.pem -out unencrypted_server_key.pem -passin pass:&amp;lt;password&amp;gt; -passout pass:&amp;lt;password&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;openssl x509 -outform der -in server_cert.pem -out server_cert.crt -passin pass:&amp;lt;password&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;openssl pkcs12 -export -out server.p12 -inkey server_key.pem -in server_cert.pem -passin pass:&amp;lt;password&amp;gt; -passout pass:&amp;lt;password&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;openssl rsa -in server_key.pem -out private.key&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;openssl req -new -key private.key -days 3650 -out public.crt -x509 -subj "/C=&amp;lt;country_code&amp;gt;/ST=&amp;lt;STATE&amp;gt;/L=&amp;lt;STATE&amp;gt;/O=&amp;lt;ORGANISATION&amp;gt;/OU=&amp;lt;UNIT&amp;gt;/CN=&amp;lt;CANONICAL_NAME&amp;gt;" -addext "subjectAltName = IP:&amp;lt;IP_ONE&amp;gt;,IP:&amp;lt;IP_TWO&amp;gt;"&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  For reference
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;private.key&lt;/strong&gt; is your private key&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;public.crt&lt;/strong&gt; is your public certificate&lt;/li&gt;
&lt;li&gt;You can rename them to anything as per the application demand &lt;/li&gt;
&lt;li&gt;For example in &lt;strong&gt;keycloak&lt;/strong&gt; application you need &lt;code&gt;tls.crt and tls.key&lt;/code&gt; so you can rename &lt;code&gt;public.key --&amp;gt; tls.key&lt;/code&gt; &amp;amp;&amp;amp; &lt;code&gt;public.crt --&amp;gt; tls.crt&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Commands to Generate Local Keystore
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;keytool -genkeypair -dname "CN=&amp;lt;CANONICAL_NAME&amp;gt;, OU=&amp;lt;ORG_UNIT&amp;gt;, O=&amp;lt;ORGANISATION&amp;gt;, C=&amp;lt;COUNTRY_CODE&amp;gt;, L=&amp;lt;CITY&amp;gt;, ST=&amp;lt;STATE&amp;gt;" -alias localhost -keypass &amp;lt;keystore_pass&amp;gt; -storepass &amp;lt;keystore_pass&amp;gt; -keyalg RSA -keysize 2048 -keystore &amp;lt;nameOfKeystore&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;keytool -import -noprompt -file &amp;lt;public_crt_file&amp;gt; -keystore kcacerts -alias &amp;lt;alias&amp;gt; -storepass &amp;lt;keystore_pass&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Thanks for your time. Happy Coding&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ssl</category>
      <category>https</category>
      <category>certificates</category>
    </item>
    <item>
      <title>Portfolio Review</title>
      <dc:creator>Divesh Panwar</dc:creator>
      <pubDate>Wed, 27 Jan 2021 16:07:11 +0000</pubDate>
      <link>https://forem.com/diveshpanwar/portfolio-review-4kl8</link>
      <guid>https://forem.com/diveshpanwar/portfolio-review-4kl8</guid>
      <description>&lt;p&gt;Hi Techies...&lt;/p&gt;

&lt;p&gt;This is my first post, and since I don't know what to write as my first post so I thought of asking all the brilliant Techies here to review my portfolio...&lt;/p&gt;

&lt;p&gt;Here it is: &lt;a href="https://profile.thenoobsbook.dev"&gt;https://profile.thenoobsbook.dev&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thank You all for your time and patience...&lt;/p&gt;

</description>
      <category>portfolio</category>
      <category>react</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
