次の方法で、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セキュリティにまったく慣れていません。したがって、証明書ファイルを確認する方法についての考えは素晴らしいでしょう。