我们的合作伙伴之一是使用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是我们提供的用于验证的证书。任何帮助表示赞赏。