jay*_*jay 9 java keystore certificate-authority truststore
我已经构建了一个Java应用程序,它将Web服务公开给外部授权客户端.Web服务使用WS-security和证书身份验证.基本上我们充当自定义证书颁发机构 - 我们在服务器上维护一个java信任库,并为其签名并添加客户端证书.目前,我们有手动注册流程,要求WS客户端上传其证书签名请求.我们签署CSR,使用命令行中的keytool将证书添加到我们的java信任库,并将签名证书和我们的CA证书一起返回给客户端.反过来,客户端使用其私钥来签署其soap消息有效负载并在消息中嵌入已签名的证书.服务器端对数字签名进行解密,并在满足客户端请求之前验证嵌入式证书是否已签名,并且一个证书与我们的信任库匹配.
虽然很少痛苦(因为手工劳动)这个设置工作正常.现在我意识到我们的根CA证书即将到期,因此我正在寻求设置维护策略.我该如何更新自签名的根CA证书?看起来我将不得不创建新的和替换原始.这将影响所有必须接收新证书并导入新CA证书的客户.这是正确的理解还是有更好的方法来处理这种情况?
如果重要,我使用openssl生成原始密钥对.
openssl req -x509 -newkey rsa:1024 -keyout cakey.pem -out cacert.pem -config openssl.cnf
Run Code Online (Sandbox Code Playgroud)