我使用OpenSSL创建自己的证书颁发机构。
我将创建的根证书放在Windows 10和Ubuntu 18.04上。
我创建一个在.NET Core Server(在Ubuntu上运行)中使用的签名证书。
使用Chrome访问Windows 10上的服务器时,证书有效/安全。
在Ubuntu上访问时,证书无效。
这是我采取的步骤:
创建一个CA
openssl genrsa -des3 -out self-ca.key -passout pass:password 2048
openssl req -x509 -new -nodes -key self-ca.key -sha256 -days 1825 -out self-ca.pem -passin pass:password
在Ubuntu上安装CA
openssl x509 -outform der -in self-ca.pem -out self-ca.crt
cp self-ca.crt /usr/local/share/ca-certificates/.
update-ca-certificates
在Windows上安装CA
Place certificate under Trusted Root Authorities
创建证书
req.conf文件:
[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no
[req_distinguished_name]
C = CA
ST = ON
O = Self Certificate
CN = www.<mysite>.com
[v3_req]
keyUsage = keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = *.<mysite>.com
证书命令
openssl genrsa -out self.key 2048
openssl req -new -sha256 -key self.key -config req.conf -out self.csr
openssl x509 -req -in self.csr -CA self-ca.pem -CAkey self-ca.key -CAcreateserial -out self.crt -days 1095 -sha256 -extensions v3_req -extfile req.conf -passin pass:password
创建用于.NET Core Server的pfx文件:
openssl pkcs12 -export -inkey self.key -in self.crt -out self.pfx
Ubuntu中的Chrome使用NSS数据库而不是全局/ etc / ssl存储。
该命令certutil
可用于将证书导入用户级NSS db。
安装certutil: sudo apt install libnss3-tools
添加您的CA证书: certutil -d sql:$HOME/.pki/nssdb/ -A -n "My private CA" -i CA_cert.pem -t "C,C,C"
此命令将从CA_Cert.pem
名称My private CA
为SSL cerver证书,S / MIME证书和代码签名证书的受信任根的文件名中安装证书。
要检查证书是否已安装: certutil -L -d sql:$HOME/.pki/nssdb/
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句