gpt4 book ai didi

Java X509证书颁发者验证

转载 作者:行者123 更新时间:2023-11-30 04:15:02 25 4
gpt4 key购买 nike

我正在使用 X509Certificates 实现通信,并且正在努力验证证书。

我已经获得了一个自签名的“父”证书,并用于签署所有其他证书。

这已经完成,我已经获得了证书。

下一步,另一部分是签署我的证书,然后我将存储它们。

这是第一个问题:返回的证书与我创建的证书不对应,因此公钥不同。现在如何使用签名的证书更新我的 keystore ?因此,我需要证书中的私钥,但我需要返回证书中的签名版本。

下一个问题:签名的证书需要根据父证书进行验证和检查,但执行此操作时,如下所示:

X509Certificate parent;
X509Certificate certToVerify;
parent.verify(certToVerify.getPublicKey());

它抛出,签名错误,java.security.SignatureException:签名不匹配。

还有其他方法可以检查颁发者或验证证书吗?有什么我错过的吗?

最好的,亨里克

最佳答案

对于您的第一个问题,您应该取回签名证书以响应证书签名请求 (CSR)。例如,您生成了私钥,然后创建了 CSR。您将该 CSR(包含您的公钥)发送给证书颁发机构 (CA)。 CA 验证您的身份并向您返回签名证书。此签名证书应包含与您的 CSR 中相同的公钥。您可以获取签名的证书并将其导入到您的 keystore 中。如果您已经拥有该私钥的自签名证书,则导入的签名证书应替换它。

对于第二个问题,您需要改变陈述。您需要使用父级的公钥验证签名的证书。

X509Certificate parent = ...;
X509Certificate certToVerify = ...;
certToVerify.verify(parent.getPublicKey());

关于Java X509证书颁发者验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18585222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com