一、下载openssl
http://slproweb.com/products/Win32OpenSSL.html
Win64 OpenSSL v3.0.4
二、安装和配置openssl
打开Windows高级系统设置,增加系统变量,增加OPENSSL_CONF变量,具体路径问安装文件夹的 bin\openssl.cfg
增加openSSL的 bin\cnf路径到Path变量中
三、生成证书
用记事本生成一个域名申请文件,格式如下:
[req]
default_bits = 2048
default_keyfile = privkey.pem
distinguished_name = req_distinguished_name
encrypt_key = no
default_md = sha256
req_extensions = req_ext
[req_distinguished_name]
commonName_default = 192.168.1.50
commonName_max = 64
organizationName_default = gongsi Co.,Ltd.
organizationalUnitName_default = DM
localityName_default = Beijing
stateOrProvinceName_default = Haidian District
countryName_default = CN
进入openssl安装路径的bin子文件夹
生成根证书KEY
openssl genrsa -out LocalRootCA.key 2048
生成根证书
openssl req -sha256 -new -nodes -x509 -days 3650 -key LocalRootCA.key -out LocalRootCA.crt -subj "/CN=LocalRootCA"
生成服务端域名私钥
openssl genrsa -out 192_168_1_50.key 2048
创建请求文件
openssl req -new -sha256 -key 192_168_1_50.key -out 192_168_1_50.csr -subj "/CN=192.168.1.50"
其中192.168.1.50为申请的IP地址或者域名,和证书申请文件中的地址要统一
生成证书并用根证书签名
openssl x509 -req -in 192_168_1_50.csr -CA LocalRootCA.crt -CAkey LocalRootCA.key -CAcreateserial -days 7120 -out 192_168_1_50.crt -extfile 192_168_1_50.ini
如果需要导出pfx(可以选择,非必须步骤)
openssl pkcs12 -export -out 192_168_1_50.pfx -inkey 192_168_1_50.key -in 192_168_1_50.crt
中间提示输入密码,设置您的密码,配置web服务器证书时需要。这个密码可以为空。
四、转换PEM
openssl rsa -in 192_168_1_50.key -text > key.pem
openssl x509 -inform PEM -in 192_168_1_50.crt > cert.pem
通过以上2步即可生成pem文件。