gpt4 book ai didi

java - 如何在 Java 中使用 .cer 文件验证证书

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:52:54 32 4
gpt4 key购买 nike

我正在尝试通过以下方式验证使用 Java 提供给我的证书

        try{
FileInputStream fr = new FileInputStream(pathtoCertificate);
CertificateFactory cf = CertificateFactory.getInstance("X509");
X509Certificate c = (X509Certificate)
cf.generateCertificate(fr);
System.out.println("++++Certificate Verification++++++++");
PublicKey pk = c.getPublicKey();
c.verify(pk);....//63
System.out.println("++This certificate is VALID++");
.....

}
catch(CertificateException e){
e.printStackTrace();
System.out.println("Certificate is Invalid");
}

但是,我不断收到以下错误

java.security.SignatureException: Signature does not match.
at sun.security.x509.X509CertImpl.verify(Unknown Source)
at sun.security.x509.X509CertImpl.verify(Unknown Source)
at Main.printCertificate(Main.java:63)
at Main.main(Main.java:41)

我只得到了一个证书文件(我需要验证),一个私钥(对应于上述文件)和一个CA的证书。我对 Java 安全性很陌生。因此,关于如何验证证书文件的任何想法都会很棒。

最佳答案

我终于明白了。对于将来可能到达这里的人们。引发错误的原因是我的证书不是 self signed 。因此,我只需要使用 CA 颁发的证书(如我的 Q 中所述)来验证公钥。其余保持不变。

关于java - 如何在 Java 中使用 .cer 文件验证证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15818782/

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