如何自签证书
一、生成服务器证书
keytool -genkey -alias demo -keypass 123456 -keyalg RSA -keysize 1024 -validity 36500 -keystore server.keystore -storepass 123456
-alias 为别名
-validity 为有效天数
-keystore 为服务器证书的文件名称
-keypass 私钥的密码
-storepass 服务器证书的密码
二、生成客户端证书
keytool -genkey -alias client -keyalg RSA -storetype PKCS12 -keypass 123456 -storepass 123456 -keystore client.p12
三、导出客户端证书到client.cer文件
keytool -export -alias client -keystore client.p12 -storetype PKCS12 -keypass 123456 -file client.cer
四、导入客户端证书到服务器受信任库
keytool -import -v -alias client -file client.cer -keystore webank.keystore -storepass 123456
五、生成对端服务器证书库
keytool -genkey -alias clientcer -keypass 123456 -keyalg RSA -keysize 1024 -validity 36500 -keystore clientcer.keystore -storepass 123456
六、导出服务器证书到文件server.cer
keytool -export -keystore server.keystore -alias demo -file server.cer
七、将服务器证书导入对端服务器证书信任库
keytool -import -v -alias demo -file server.cer -keystore clientcer.keystore -storepass 123456
查看证书库, 此时可以查看到demo已经导入授信证书库
keytool -v -list -keystore clientcer.keystore
到这里证书签名已经完成,另外如果想从服务器证书导出客户端证书,这里提供2种方式
将从服务器证书server.keystore导出pfx格式客户端证书,得到upload.pfx客户端证书
keytool -importkeystore -v -srckeystore server.keystore -destkeystore upload.pfx -deststoretype pkcs12
将从服务器证书server.keystore导出p12格式客户端证书,得到upload.p12客户端证书
keytool -importkeystore -srckeystore server.keystore -destkeystore upload.p12 -srcstoretype JKS -deststoretype PKCS12 -srcalias demo -destalias demo -noprompt