生成CA证书

<p>在香港地域配置HTTPS监听的全链路加密功能时,您可以选择性的使用自签名的CA证书,并且使用该CA证书为客户端证书签名/全链路加密时的CA证书,该证书并非必须选项。</p> <p>如果您的业务必须为ELB加载CA证书,请提交工单来完成该需求。</p> <p><span style="font-size:16px"><strong>使用Open SSL生成CA证书</strong></span></p> <p><strong>操作步骤</strong></p> <ol> <li> <p>执行如下命令,在<code>/root</code>目录下新建一个<code>ca</code>文件夹,并在<code>ca</code>文件夹下创建四个子文件夹。</p> <pre> <code>mkdir ca cd ca mkdir newcerts private conf server</code></pre> <p>这四个目录的作用如下:</p> <ul> <li> <p><code>newcerts</code>目录将用于存放CA签署过的数字证书。</p> </li> <li> <p><code>private</code>目录用于存放CA的私钥。</p> </li> <li> <p><code>conf</code>目录用于存放一些简化参数用的配置文件。</p> </li> <li> <p><code>server</code>目录存放服务器证书文件。</p> </li> </ul> </li> <li>在<code>conf</code>目录下新建一个包含如下信息的<code>openssl.conf</code>文件。 <pre> <code>[ ca ] default_ca = foo [ foo ] dir =/home/cert/ca database = /home/cert/ca/index.txt new_certs_dir = /home/cert/ca/newcerts certificate = /home/cert/ca/private/ca.crt serial = /home/cert/ca/serial private_key =/home/cert/ca/private/ca.key RANDFILE = /home/cert/ca/private/.rand default_days = 365 //签发证书的有效期,以天为单位 default_crl_days= 30 //从当前CRL到下次CRL发布以天的单位的时间间隔,在生成CRL的时候,该选项和default_crl_hours参数必须有一个 default_md = sha256 //由于centos不支持md5加密,故设置为sha256,否则会出现unknown message digest algorithm错误 unique_subject = no policy = policy_any [ policy_any ] commonName = supplied</code></pre> </li> <li>执行如下命令,生成私钥key文件。 <pre> <code>cd /home/cert/ca openssl genrsa -out private/ca.key</code></pre> <p>执行结果</p> <br /> <img src="https://pcp-portal-sca.obs-cn-shenzhen.pinganyun.com/pcp-portal-sca/20202304100933-172ba0f59691.png" style="width:750px" /></li> <li>执行如下命令,按照提示输入所需信息,然后按下回车键生成证书请求<code>csr</code>文件。 <pre> <code>openssl req -new -key private/ca.key -out private/ca.csr</code></pre> <p>说明: Common Name填本机域名(可以填127.0.0.1),其余选项都填写&ldquo;.&rdquo;。</p> <br /> <img src="https://pcp-portal-sca.obs-cn-shenzhen.pinganyun.com/pcp-portal-sca/20202304100934-174c49209fc9.png" style="width:750px" /></li> <li>执行如下命令,生成凭证<code>crt</code>文件。 <pre> <code>openssl x509 -req -days 365 -in private/ca.csr -signkey private/ca.key -out private/ca.crt</code></pre> <br /> <img src="https://pcp-portal-sca.obs-cn-shenzhen.pinganyun.com/pcp-portal-sca/20202304100934-11c9330096fd.png" style="width:750px" /></li> <li>执行如下命令,为CA的key设置起始序列号,可以是任意四个字符。 <pre> <code>echo FACE &gt; serial</code></pre> </li> <li>执行如下命令,创建CA键库。 <pre> <code>touch index.txt</code></pre> </li> <li>执行如下命令,为移除客户端证书创建一个证书撤销列表。 <pre> <code>openssl ca -gencrl -out /home/cert/ca/private/ca.crl -crldays 7 -config "/home/cert/ca/conf/openssl.conf"</code></pre> <p>执行结果</p> <br /> <img src="https://pcp-portal-sca.obs-cn-shenzhen.pinganyun.com/pcp-portal-sca/20202304100934-14249e2f9e96.png" style="width:750px" /></li> </ol> <p><strong><span style="font-size:16px">为客户端证书签名</span></strong></p> <p><strong>操作步骤</strong></p> <ol> <li>运行以下命令在ca目录内创建一个存放服务端key的目录users。 <pre> <code>mkdir users</code></pre> </li> <li>运行以下命令为服务端创建一个key。 <pre> <code>openssl genrsa -des3 -out /home/cert/ca/users/server.key 1024</code></pre> <p>说明: 创建key时要求输入pass phrase,为当前key的口令,以防止本密钥泄漏后被人盗用。</p> </li> <li>两次输入同一个密码,可以执行命令<code>openssl rsa -in server.key -out server.key</code>去除。<br /> <img src="https://pcp-portal-sca.obs-cn-shenzhen.pinganyun.com/pcp-portal-sca/20202304100934-131c380a960e.png" style="width:750px" /><br /> <br /> <img src="https://pcp-portal-sca.obs-cn-shenzhen.pinganyun.com/pcp-portal-sca/20202304100934-1aca7c669d31.png" style="width:750px" /></li> <li>运行以下命令为客户端key创建一个证书签名请求csr文件。 <pre> <code>openssl req -new -key /home/cert/ca/users/server.key -out /home/cert/ca/users/server.csr</code></pre> 说明: <p>输入该命令后,根据提示输入上一步输入的pass phrase,然后根据提示输入对应的信息。</p> <p>Common Name设置为监听器vip_vport,其余选项都设置为&quot;.&quot;。例如,ELB的IP为100.101.1.30,https端口为443,则Common Name应该为100.101.1.30_4433。</p> <br /> <img src="https://pcp-portal-sca.obs-cn-shenzhen.pinganyun.com/pcp-portal-sca/20202304100934-1da2cf1e9d69.png" style="width:750px" /></li> <li>运行以下命令使用CA证书的key为客户端key签名。 <pre> <code>openssl ca -in /home/cert/ca/users/server.csr -cert /home/cert/ca/private/ca.crt -keyfile /home/cert/ca/private/ca.key -out /home/cert/ca/users/server.crt -config "/home/cert/ca/conf/openssl.conf"</code></pre> <p>当出现确认是否签名的提示时,两次都输入<code>y</code>。</p> <br /> <img src="https://pcp-portal-sca.obs-cn-shenzhen.pinganyun.com/pcp-portal-sca/20202304100934-10b579f6967b.png" style="width:750px" /></li> </ol>
以上内容是否解决了您的问题?
请补全提交信息!
咨询·建议

电话咨询

400-151-8800

邮件咨询

cloud@pingan.com

在线客服

工单支持

解决云产品相关技术问题