版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/thor027/article/details/52369773
一、生成pem格式的证书和nodejs加载证书
1.输入如下命令生成证书
openssl genrsa 1024 > key.pem
设置密码加密
openssl genrsa -des3 1024 > key.pem
2.输入如下命令生成安全证书
openssl req -x509 -days 365 -new -key key.pem > cert.pem
按照提示输入证书相应的信息
如果证书设置有密码,在nodejs中加载时,需要输入密码
var privateKey = fs.readFileSync('./Data/key.pem', 'utf8');
var certificate = fs.readFileSync('./Data/cert.pem', 'utf8');
var credentials = {key: privateKey, cert: certificate,passphrase:"111111"};
------------------------------------------------------------------------------------------------------------------------------------
二、生成crt和key证书文件
1.使用openssl 生成sha256的证书,私有 privatekey.key,数字证书 certificate.crt
openssl req -x509 -nodes -sha256 -days 365 -newkey rsa:1024 -keyout privatekey.key -out certificate.crt
注意:在Organizational Unit Name 和 Common Name 中输入对于的域名
2.设置privatekey.key密码
openssl genrsa -des3 1024 > privatekey.key
三、一个证书增加多个备用域名DNS
1.修改openssl.cnf中的配置信息,
开启 req_extensions = v3_req
2.在v3_req中增加:
[ v3_req ]
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
#增加的内容
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = *.cloudgis.wh
DNS.2 = thor.arcgiscloud.com
DNS.3 =*.kxyt.com
3.重新生成多DNS的 crt和key证书
openssl req -x509 -nodes -sha256 -days 365 -newkey rsa:1024 -keyout privatekey.key -out certificate.crt-extensions v3_req -config openssl.cnf
四、将crt和key证书转换为Java keystore证书
1.将crt和key证书合并道 p12证书文件中,并输入p12证书密码(如:123456),在下面转换keystore证书和tomcat配置https时需要用到:
openssl pkcs12 -export -in certificate.crt -inkey privatekey.key -out mycert.p12
2.将p12证书转换为 tomcat.keystore文件
keytool -importkeystore -v -srckeystore mycert.p12 -srcstoretype pkcs12 -srcstorepass 123456 -destkeystore tomcat.keystore -deststoretype jks -deststorepass 123456
即实现多种语言之间的证书共用,以及多个域名共用一个证书!
3.合成.pfx证书
openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt
将私钥文件(server.key)和服务器crt证书文件(server.crt ),放到openssl安装目录的bin目录下。
控制台也进到此目录下,然后执行下面指令。
然后再看bin目录下面多了一个server.pfx 文件,即为生成的pfx证书文件。
以上,将pfx导入到IIS后,就可以进行绑定了。、