<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>CA on H&amp;W</title>
    <link>https://yy-tech.online/tags/ca/</link>
    <description>Recent content in CA on H&amp;W</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Thu, 28 May 2026 00:53:02 +0800</lastBuildDate>
    <atom:link href="https://yy-tech.online/tags/ca/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>[GLP] How to Create an HTTPS Self-Signed Certificate</title>
      <link>https://yy-tech.online/post/https-self-signed-certificate/</link>
      <pubDate>Tue, 07 Apr 2020 12:20:45 +0800</pubDate>
      <guid>https://yy-tech.online/post/https-self-signed-certificate/</guid>
      <description>&lt;h2 id=&#34;motivation&#34;&gt;Motivation&lt;/h2&gt;
&lt;p&gt;We wanted to set up a lightweight HTTPS server on an internal company network without purchasing a certificate from a public CA. The solution: build our own private Certificate Authority (CA) and issue a self-signed certificate.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;tls-handshake-overview&#34;&gt;TLS Handshake Overview&lt;/h2&gt;
&lt;p&gt;&lt;img alt=&#34;TLS handshake&#34; loading=&#34;lazy&#34; src=&#34;https://yy-tech.online/images/ssl.png&#34;&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The browser connects to &lt;code&gt;https://demowebsite.com&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The server returns its certificate (containing the server&amp;rsquo;s public key).&lt;/li&gt;
&lt;li&gt;The browser verifies the certificate against a trusted CA.&lt;/li&gt;
&lt;li&gt;The browser generates a random symmetric key &lt;strong&gt;K&lt;/strong&gt; and encrypts it with the server&amp;rsquo;s public key.&lt;/li&gt;
&lt;li&gt;The server decrypts &lt;strong&gt;K&lt;/strong&gt; using its private key — both sides now share &lt;strong&gt;K&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;All subsequent traffic is encrypted with &lt;strong&gt;K&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id=&#34;setting-up-a-root-ca&#34;&gt;Setting Up a Root CA&lt;/h2&gt;
&lt;p&gt;Best practice: the root CA &lt;strong&gt;never signs end-entity certificates directly&lt;/strong&gt;. Instead it signs an intermediate CA, whose key is used for day-to-day issuance. The root key can then be kept offline.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
