方法1
-
下载 并安装openssl
-
生成秘钥
openssl genrsa -des3 -out f:/work/server.key 2048
会提示你输入密码,输入简单的123456或者别的都行
生成完成之后,可以使用下面的命令去掉密码:
openssl rsa -in f:/work/server.key -out f:/work/server.key
- 创建证书的申请文件
openssl req -new -key f:/work/server.key -out f:/work/server.csr
如果在执行上面的命令的时候出现以下错误:Unable to load config info from /usr/local/ssl/openssl.cnf
这是因为openssl找不到对应配置文件,那么我们就需要弄到这个配置文件,
如果你电脑安装了git的话,那么恭喜你,在git里面有这个文件,
我们可以使用git下面的这个文件来执行上面的命令,修改一下,变成下面这样
openssl req -new -key f:/work/server.key -out f:/work/server.csr -config "C:\Program Files\Git\mingw64\ssl\openssl.cnf"
- 使用上面的证书申请文件和ca证书,来创建自己的证书
openssl x509 -req -days 3650 -in f:/work/server.csr -CA f:/work/ca.crt -CAkey server.key -CAcreateserial -out f:/work/server.crt
方法2
- 生成Private Key 和 CSR。
openssl req -new -newkey rsa:2048 -nodes -out mydomain.csr -keyout private.key -config "C:\Program Files\Git\mingw64\ssl\openssl.cnf"
要在:Organization Name (eg, company)提示中,输入localhost,否则证书会提示不安全。
- 创建
domains.ext
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
- 利用上一步生成的private.key和mydomain.csr生成自签名证书。需要引入: -extfile domains.ext
openssl x509 -req -days 365 -in mydomain.csr -signkey private.key -extfile domains.ext -out mydomain.crt
- 将证书安装到系统的 受信任的根证书颁发机构