- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试验证特定消息是否使用来 self 自己的信任 anchor 识别的实体证书的有效签名进行签名。我正在这样做:
public static boolean isValid(CMSSignedData signedData, X509Certificate rootCert) throws Exception
{
CertStore certsAndCRLs = signedData.getCertificatesAndCRLs("Collection", "BC");
SignerInformationStore signers = signedData.getSignerInfos();
Iterator it = signers.getSigners().iterator();
if (it.hasNext()){
SignerInformation signer = (SignerInformation)it.next();
X509CertSelector signerConstraints = signer.getSID();
PKIXCertPathBuilderResult result = buildPath(rootCert, signerID, certsAndCRLs);
return signer.verify(result.getPublicKey(), "BC");
}
return false;
}
但是这一行给了我一个编译错误:
X509CertSelector signerConstraints = signer.getSID();
因为它无法从 SignerId 转换为 X509CertSelector。我尝试使用显式强制转换:
X509CertSelector signerConstraints = (CertSelector) signer.getSID();
还有:
X509CertSelector signerConstraints = (X509CertSelector) signer.getSID();
没有结果。我怎样才能做到这一点?谢谢
PS:请注意,此代码是从 David Hook 的《Beginning Cryptography with Java》中提取的,但它无法编译。
最佳答案
我昨天解决了我自己的问题。我认为那是某事相对于作为外部存档包含到我的项目中的 .jar。现在,我正在使用这些:
bcprov-jdk16-145.jar
bcmail-jdk16-145.jar
而不是:
bcprov-jdk15on-147.jar
bcmail-jdk15on-147.jar
也许旧版本不支持这种隐式转换。
编辑:David Hook 在 http://bouncy-castle.1462172.n4.nabble.com/Problem-with-SignerID-and-X509CertSelector-td4620461.html 中的回答
Use org.bouncycastle.cert.selector.jcajce.JcaX509CertSelectorConverter - unfortunately the code in "Beginning Cryptography With Java" is now getting out of date. Guess I'll have to get the word processor out again.
Regards,
David
关于java - SignerID 转换为 BouncyCasSTLe 库中的 X509CertSelector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10517148/
我正在尝试计算公钥的哈希值以匹配 ApplePay 提供给我的内容。我无法让 C# 中的 BouncyCaSTLe 为我提供正确格式的公钥,以便我可以对它进行哈希处理。然而,我正在移植的 Java 版
缩写 UBER 是什么意思?我知道 UBER 是 BouncyCaSTLe-Keystore 等,但我不知道缩写是什么意思。 谢谢 最佳答案 我认为这是对德语单词“Über”(over 或 super
我必须使用以下参数创建大量签名,并且使用以下代码,使用 Intel Core i5-6500 CPU 创建签名需要大约 10 毫秒。 在普通 PC 上使用这些参数创建签名大约需要 10 毫秒,这正常吗
我目前在让 BouncyCaSTLe 正常工作时遇到一些困难。这几天一直在搜索这个问题,所以我希望你能提供任何有用的见解。 这是设置。 Android 客户端使用 REST 协议(protocol)向
我有使用 BouncyCaSTLe 的 C# 代码 var jsonToSend = "{\"Number\":\"string\",\"Name\":\"string\",\"Nam
我想在 PHP 中使用 OpenSSL(或 cli linux OpenSSL)对内容进行签名。 BouncyCaSTLe 在 Java 中生成的签名: ContentInfo con
我正在创建一个证书分发系统来跟踪客户和其他内容。 发生的情况是: 客户端向服务器发送 CSR 服务器检查并签署证书 服务器将签名证书发送给客户端 客户将签名证书和私钥放入 Windows 存储区。 所
我正在尝试验证特定消息是否使用来 self 自己的信任 anchor 识别的实体证书的有效签名进行签名。我正在这样做: public static boolean isValid(CMSSignedD
因此,我们最近将 Centos 服务器上的 Java 从 java-1.8.0- 更新为 java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64/ openjd
我正在尝试使用 Java 中的 iTextPDF 从签名的 PDF 中提取数字签名数据。我的代码是: PdfReader reader = new PdfReader(is); AcroFields
我们最近升级了 BouncyCaSTLe .jar 文件以使用最新的可用版本,并一直致力于将它们实现到我们现有的代码中。 在测试加密方法时,我们发现创建的文件缺少“END PGP MESSAGE”结束
我已经安装了 BouncyCaSTLe.NetCore 包来创建自签名证书,但我找不到 CryptoApiRandomGenerator 类。 正常吗?如果是,替代品是什么? 最佳答案 您可以实现自己
我正在 IBM WebSphere 环境中实现一些 iText7.1.11 java 代码,在部署 WebSphere 时,它出错了,因为它需要一些 BouncycaSTLe JAR。根据 pom
将 PEMKeyPair 转换为 KeyPair 时在 Android 上出现异常: org.bouncycastle.openssl.PEMException: unable to convert
我正在尝试在系统中实现 El-Gamal 加密算法。我刚刚了解了该算法并在互联网上查找代码以获得实现它的想法。我在互联网上找到了以下代码并给出了这个奇怪的错误: Exception in thread
我是一名优秀的程序员,十分优秀!