在Java中比较2个x509证书

use*_*372 3 java bytearray certificate x509certificate

已为我提供了字节数组和X509证书。我可以使用以下代码从字节数组生成X509证书。

CertificateFactory certificatefactory = CertificateFactory.getInstance("X.509");
InputStream in = new ByteArrayInputStream(bytes);
X509Certificate cert = (X509Certificate)certificatefactory.generateCertificate(in);
Run Code Online (Sandbox Code Playgroud)

请指导我如何验证提供给我的X509与生成的X509。

JM *_*ord 5

Simply use certificate.equals(otherCertificate) : the equals() method will compare them correctly, with a specific implementation for each certificate subclass.

See the javadoc.


use*_*421 4

反过来做。将证书转为字节(X509Certificate.getEncoded()),然后比较字节即可。

但这个问题毫无意义。如果字节数组是生成证书的证书工厂的输入,则它们不可能不同。