无法在java中的Bouncy castle中验证使用SHA256WITHRSA签名的SMIME消息签名

时间:2017-10-12 06:54:27

标签: bouncycastle smime

我们的合作伙伴之一是使用NOSPAMPROXY向我们发送签名的SMIME消息。除了使用SHA256WITHRSA的一个以外,一切正常。 Bouncy城​​堡说签名验证失败了。请参阅下面的代码段

public static boolean verifySignature(SMIMESigned s, X509Certificate myCert) throws Exception {
        SignerInformationStore signers = s.getSignerInfos();
        Collection c = signers.getSigners();
        for (Iterator it = c.iterator(); it.hasNext(); ) {
            try {
                SignerInformation signer = (SignerInformation) it.next();
                final SignerInformationVerifier verifier = new JcaSimpleSignerInfoVerifierBuilder().setProvider(BouncyCastleProvider.PROVIDER_NAME).build(
                    myCert);
                if (signer.verify(verifier)) {
                    return true;
                }
            } catch (CMSException ex) {
                Tracer.debug(ex);
            }
        }
        return false;
}

myCert是我们提供的用于验证的证书。任何帮助表示赞赏。

0 个答案:

没有答案