作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要将 Java 应用程序转换为 C#,因此需要从 java.security API 迁移到 BouncyCaSTLe
轻量级 API。
我的工作代码 (java.security) 如下所示:
private byte[] computeSignature(byte[] message, PrivateKey key) {
Signature signature = Signature.getInstance("NONEwithRSA");
signature.initSign(privateKey);
signature.update(message);
return signature.sign();
}
这是我的验证:
private void verifySignature(byte[] signature, byte[] message, PublicKey publicKey) {
Signature signature = Signature.getInstance("NONEwithRSA");
signature.initVerify(publicKey);
signature.update(message);
System.out.println(signer.verify(result) ? "OK" : "FAIL");
}
现在我正在尝试像这样将它迁移到 BC:
NONEwithRSA
算法不存在的问题(不确定如何添加)
private byte[] computeSignature(byte[] message, AsymmetricKeyParameter key) {
AlgorithmIdentifier sigAlgId = new DefaultSignatureAlgorithmIdentifierFinder().find("NONEwithRSA");
AlgorithmIdentifier digAlgId = new DefaultDigestAlgorithmIdentifierFinder().find(sigAlgId);
ContentSigner signer = new BcRSAContentSignerBuilder(sigAlgId, digAlgId).build(key);
signer.getOutputStream().write(Arrays.copyOf(message, message.length), 0, message.length);
byte[] signature = signer.getSignature();
}
没有提供好的签名
private byte[] computeSignature(byte[] message, AsymmetricKeyParameter privateKey) {
Signer signer = new GenericSigner(new RSAEngine(), new NullDigest());
signer.init(true, privateKey);
signer.update(message, 0, message.length);
return signer.generateSignature();
}
您有什么建议吗?或者甚至可以将 NONEwithRSA
算法迁移到 BC LW API 中吗?我认为我需要编写自己的 Signer,但作为 BC 的新手和 BC 文档,我无法独自处理这个问题。
最佳答案
试试这个:
RSABlindedEngine engine = new RSABlindedEngine();
PKCS1Encoding paddedEngine = new PKCS1Encoding(engine);
paddedEngine.init(true, privateKey);
return paddedEngine.processBlock(message, 0, message.length);
关于java - 将java.security "NONEwithRSA"签名转换为BouncyCaSTLe轻量级API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21876156/
我需要将 Java 应用程序转换为 C#,因此需要从 java.security API 迁移到 BouncyCaSTLe 轻量级 API。 我的工作代码 (java.security) 如下所示:
我有兴趣将带有 RSA 签名的 SHA-1 散列应用于某些数据,但我需要分两步进行 - 首先应用散列,然后对数据进行签名。 Signature.sign() 函数似乎创建了一个更复杂的(ASN.1?)
我是一名优秀的程序员,十分优秀!