小编在去年的时候写过一篇《OpenSSL创建的自签名证书在chrome端无法信任》。在具体实践中才发现,太麻烦,而且很容易出错。所以就搞一个简单且行至有效的方法吧。
长话短说,直接上代码:
openssl genrsa -out zhangs.key 2048
openssl req -new -key zhangs.key -out zhangs.csr
echo "subjectAltName=DNS:zhangs.esrichina.com.com" > cert_extensions
openssl x509 -req -sha256 -in zhangs.csr -signkey zhangs.key -extfile cert_extensions -out zhangs.crt -days 3650
openssl pkcs12 -inkey zhangs.key -in zhangs.crt -export -out zhangs.pfx -name zhangs
如果环境中涉及到很多台机器,如所有的Server,Portal和Data Store都分布在不同的机器上,那么,我们可以通过如下方式,构建pfx
openssl genrsa -out zhangs.key 2048
openssl req -new -key zhangs.key -out zhangs.csr
echo "subjectAltName=DNS.1:zhangs.esrichina.com.com,DNS.2:p1.esrichina.com.com,DNS.3:p2.esrichina.com.com,DNS.4:s1.esrichina.com.com,DNS.5:s2.esrichina.com.com,DNS.6:t1.esrichina.com.com" > cert_extensions
openssl x509 -req -sha256 -in zhangs.csr -signkey zhangs.key -extfile cert_extensions -out zhangs.crt -days 3650
openssl pkcs12 -inkey zhangs.key -in zhangs.crt -export -out zhangs.pfx -name zhangs
如果环境中需要用到对IP签发证书,那么,我们可以通过如下方式:
openssl genrsa -out zhangs.key 2048
openssl req -new -key zhangs.key -out zhangs.csr
echo "subjectAltName=DNS:zhangs.esrichina.com.com,IP:192.168.100.83" > cert_extensions
openssl x509 -req -sha256 -in zhangs.csr -signkey zhangs.key -extfile cert_extensions -out zhangs.crt -days 3650
openssl pkcs12 -inkey zhangs.key -in zhangs.crt -export -out zhangs.pfx -name zhangs