生成私钥及自签名证书(自签名这样就可以咯)
set OPENSSL_CONF=%OPENSSL_HOME%\bin\openssl.cfg openssl genrsa 1024 > test.key openssl req -new -x509 -nodes -key test.key -days 1095 -subj "/C=CN/ST=ShangHai/L=ShangHai/O=NEOHOPE/OU=Development/CN=NMyCA1024" > test.pem
生成私钥、证书请求及自签名证书(通常是把csr文件发给第三方机构申请证书,这里仍然是自签名)
set OPENSSL_CONF=%OPENSSL_HOME%\bin\openssl.cfg openssl genrsa -out test1.key 1024 openssl req -new -key test.key -out test1.csr -subj -subj "/C=CN/ST=ShangHai/L=ShangHai/O=NEOHOPE/OU=Development/CN=NMyCA1024" openssl x509 -req -days 3650 -in test1.csr -signkey test1.key -out test1.pem
这里请注意,自签名证书的话,上面两种方式是一样的。但这里只有一层,也就是没有CA的存在,如果需要CA及服务器两层的话,就要:
1、生成CA的私钥及证书
2、生成服务器私钥及证书
3、用CA的私钥对服务器证书签名
4、所有客户端信任CA证书
pem转为p12(私钥+证书)
set OPENSSL_CONF=%OPENSSL_HOME%\bin\openssl.cfg openssl pkcs12 -export -out test.p12 -in test.pem -inkey test.key
pem转为jks的truststore(ca证书)
keytool -import -v -trustcacerts -file test.pem -keystore test.jks -storepass 123456 -alias caRoot keytool -list -v -keystore test.jks -storepass 123456
p12转为jks的keystore(私钥+证书)
keytool -importkeystore -srckeystore test.p12 -destkeystore test1.jks -srcstoretype PKCS12 -deststoretype JKS -srcstorepass 123456 -deststorepass 123456 keytool -list -v -keystore test1.jks -storepass 123456
这里请注意,jks与p12的密码要设成一样的,否则有些时候会无法使用。