CA 更新后的客户端证书

Client certificates after CA renewal

我有一个根 CA,用于在当前工作的系统中生成服务器和客户端证书。

它很快就会到期,我试图在不更改任何服务器或客户端证书的情况下续订它,但到目前为止我都失败了。

要续订 CA,我使用了:

openssl req -new -key ca.key -out newcsr.csr
openssl x509 -req -days 3650 -in newcsr.csr -signkey ca.key -out newca.pem

然后我用 newca.pem 替换了我的旧 CA 证书。 我希望这足以让它工作,但不幸的是它没有。

当尝试使用我的旧客户端证书(未过期)通过 CuRL 发送请求时,我收到此错误消息:

curl --cert clientcrt.pem --key clientkey.pem https://myserver/

(35) Peer does not recognize and trust the CA that issued your certificate

(与旧 CA 的相同请求有效,因为它尚未过期)

我错过了哪些步骤? 或者您是否有任何错误原因的线索可供我查找?

如果它对任何人都有用,我最终通过将新 CA 的序列号设置为与旧 CA 的序列号相同的值解决了这个问题:

openssl req -new -x509 -days 3650 -key ca.key -set_serial <oldserial> -out newca.pem

这样我的客户端证书就成功地被我的 CA 验证了。