我仅使用自签名证书进行测试。
问题:
Q1.我想知道为什么我需要在步骤6中将服务器和客户端各自的证书添加到其相应的信任库中。
Q2.我是否可以减少达到相同目的所需的步骤?如果可以,那么如何做?
创建RSA密钥、自签名证书、密钥库和信任库的步骤(服务器):
1.生成私有RSA密钥
openssl genrsa -out diagserverCA.key 2048
2.创建x509证书
openssl req -x509 -new -nodes -key diagserverCA.key -sha256 -days 1024 -out diagserverCA.pem
3.从私有密钥和公共证书创建PKCS12密钥库。
openssl pkcs12 -export -name server-cert -in diagserverCA.pem -inkey diagserverCA.key -out serverkeystore.p12
4.将PKCS12密钥库转换为JKS密钥库
keytool -importkeystore -destkeystore server.keystore -srckeystore serverkeystore.p12 -srcstoretype pkcs12 -alias server-cert
5.将客户端的证书导入服务器的信任库。
keytool -import -alias client-cert -file diagclientCA.pem -keystore server.truststore 6.将服务器的证书导入服务器的信任库。
keytool -import -alias server-cert -file diagserverCA.pem -keystore server.truststore 创建RSA私钥、自签名证书、密钥库和信任库的步骤(客户端):
1.生成私钥
openssl genrsa -out diagclientCA.key 2048
2.创建x509证书
openssl req -x509 -new -nodes -key diagclientCA.key -sha256 -days 1024 -out diagclientCA.pem
3.从私有密钥和公共证书创建PKCS12密钥库。
openssl pkcs12 -export -name client-cert -in diagclientCA.pem -inkey diagclientCA.key -out clientkeystore.p12
4.将PKCS12密钥库转换为JKS密钥库。
使用keytool命令将客户端keystore.p12导入到目标客户端密钥库client.keystore中。
5. 将服务器证书导入到客户端信任库中。
使用keytool命令将diagserverCA.pem文件中的服务器证书导入到客户端信任库client.truststore中,并指定别名为server-cert。
6. 将客户端证书导入到客户端信任库中。
使用keytool命令将diagclientCA.pem文件中的客户端证书导入到客户端信任库client.truststore中,并指定别名为client-cert。