需要注意的是,上面的命令与我们为CA创建自签名证书时使用的命令非常相似,唯一的区别是使用了-x509选项。没有它,命令生成一个请求;使用它,该命令生成一个自签名证书。
Step 3: Generating Certificates . CSR文件需要有CA的签名才能形成证书。在现实世界中,CSR文件通常被发送到受信任的CA进行签名。在这个实验中,我们将使用我们自己的可信CA来生成证书。以下命令使用CA的CA .crt和CA .key将证书签名请求(server.csr)转换为X509证书(server.crt):
如果OpenSSL拒绝生成证书,您请求中的名称很可能与ca的名称不匹配。匹配规则在配置文件中指定(查看[policy match]部分)。您可以更改请求的名称以符合策略,也可以更改策略。配置文件还包括另一个限制较少的策略(称为任何策略)。您可以通过更改以下行来选择该策略:
"policy = policy_match" change to "policy = policy_anything".
Task3: Deploying Certificate in an HTTPS Web Server
在这个实验中,我们将探索网站如何使用公钥证书来保护web浏览。我们将使用openssl的内置web服务器建立一个HTTPS网站。
Step1: Configuring DNS .我们选择SEEDPKILab2018.com作为我们的网站名称。为了让我们的计算机识别这个名称,让我们将下面的条目添加到/etc/hosts;这个条目基本上将主机名SEEDPKILab2018.com映射到本地主机(即127.0.0.1):