我有一个签名的 CA,由我的大学颁发。我使用他们的公钥文件生成了我的 CSR,如下所示:
openssl genrsa -out myservername.key 2048 (new key)
openssl req -new -key myservername.key -out myservername.csr
Run Code Online (Sandbox Code Playgroud)
我给他们发了 CSR,他们给我发回了签名的 .crt 文件。
我为我的 CA 密钥和证书创建了一个目录并将它们放在那里。
我的 httpd.conf 的相关部分如下所示:
<VirtualHost _default_:443>
SSLEngine on
SSLCACertificateFile /var/cosign/certs/CA/publickey.pem
SSLCertificateFile /var/cosign/certs/myserver.crt
SSLCertificateKeyFile /var/cosign/certs/myserver.key
DocumentRoot /var/www/html/
<Directory /var/www/html>
Options -Indexes
AllowOverride All
</Directory>
Run Code Online (Sandbox Code Playgroud)
但它没有将此证书用于 SSL。如果我执行此命令:
openssl s_client -connect localhost:443 -showcerts
Run Code Online (Sandbox Code Playgroud)
我明白了:
CONNECTED(00000003)
depth=0 C = --, ST = SomeState, L = SomeCity, O = SomeOrganization, OU = SomeOrganizationalUnit, CN = portcharlotte, emailAddress = root@portcharlotte
verify error:num=18:self signed …
Run Code Online (Sandbox Code Playgroud)