如何:
要使 SSL 在客户端和服务器之间工作,我只需要帮助生成密钥库和信任库以使用终端命令(Keytool 和 openssl)进行相互身份验证的分步指南。
我关注了这个链接.
1.生成密钥库(在服务器):
keytool -genkey -alias bmc -keyalg RSA -keystore KeyStore.jks -keysize 2048
2.生成新的ca-cert和ca-key:
openssl req -new -x509 -keyout ca-key -out ca-cert
3.Extracting cert/creating cert sign req(csr):
keytool -keystore KeyStore.jks -alias bmc -certreq -file cert-file
4.签署“证书文件”和证书签名将成为新证书:
openssl x509 -req -CA ca-cert -CAkey ca-key -in cert-file -out
cert-signed -days 365 -CAcreateserial -passin pass:yourpass
5.将 ca-cert 导入密钥库文件:
keytool -keystore KeyStore.jks -alias CARoot -import -file ca-cert
6.导入证书签名到密钥库:
keytool -keystore KeyStore.jks -alias bmc -import -file cert-signed
7.将 ca-cert 复制到客户端机器并生成信任库:(在客户端)
keytool -keystore truststore.jks -alias bmc -import -file ca-cert-s
8.将 ca-cert 复制到客户端机器并生成信任库:(在服务器上)
keytool -keystore truststore.jks -alias bmc -import -file ca-cert-c
**在客户端重复步骤(1-6)并通过导入客户端的 ca-cert 在服务器端生成信任库(步骤 8)
在第 6 步之后重命名为 ca-cert。
Ex:服务器端生成的 ca-cert-s 和客户端生成的 ca-cert-c 相互交换以生成信任库。
使用此命令,我可以为给定的 crt 文件创建信任库文件:keytool -import -file -keystore
对于适合我的 Windows 11:
./keytool.exe -import -file dev.local.crt -keystore dev.local.jks
在
keytool.exe
中找到
C:\Program Files (x86)\Java\jre1.8.0_351\bin
二进制文件