question: public static boolean matches ( final CertificateID certId , final SingleResp singleResp ) { final CertificateID singleRespCertID = singleResp . getCertID ( ) ; final ASN1ObjectIdentifier singleRespCertIDHashAlgOID = singleRespCertID . getHashAlgOID ( ) ; final byte [ ] singleRespCertIDIssuerKeyHash = singleRespCertID . getIssuerKeyHash ( ) ; final byte [ ] singleRespCertIDIssuerNameHash = singleRespCertID . getIssuerNameHash ( ) ; final BigInteger singleRespCertIDSerialNumber = singleRespCertID . getSerialNumber ( ) ; final ASN1ObjectIdentifier certIdHashAlgOID = certId . getHashAlgOID ( ) ; final byte [ ] certIdIssuerKeyHash = certId . getIssuerKeyHash ( ) ; final byte [ ] certIdIssuerNameHash = certId . getIssuerNameHash ( ) ; final BigInteger certIdSerialNumber = certId . getSerialNumber ( ) ; return singleRespCertIDHashAlgOID . equals ( certIdHashAlgOID ) && Arrays . areEqual ( singleRespCertIDIssuerKeyHash , certIdIssuerKeyHash ) && Arrays . areEqual ( singleRespCertIDIssuerNameHash , certIdIssuerNameHash ) && singleRespCertIDSerialNumber . equals ( certIdSerialNumber ) ; }
target:  fix for certId.equals methods that doesn't work very well.