我们的客户端需要使用双向 SSL 身份验证连接服务器。在我的情况下,我使用“keytool -genkey”生成密钥库并使用“keytool -certreq”导出 csr 文件。服务器端获取我的 csr 文件并对其进行签名由 CA,然后返回一个由 CA 和根 CA cer 签名的新 cer 文件。问题是我应该如何更新我的密钥库以完成服务器端身份验证?这是我生成密钥库的步骤。
keytool -genkey -alias client -keyalg RSA -keystore D://key/client.keystore -validity 3650
keytool -certreq -alias client -keystore D://key/client.keystore -file client.csr
使用wireshark,我可以找到我的客户端发送一个由我的密钥库生成的自签名证书,但服务器端实际上将CA签名的cer文件作为客户端cer导入到它的信任库中,这使得握手失败每次。
PS:服务器的 cer 文件已经导入到我的信任库,所以问题只在客户端 cer 文件上。这是握手捕获