使用b#

时间:2017-11-07 14:32:39

标签: c# cryptography bouncycastle

尝试使用BouncyCastle for .NET验证护照中数据的签名。其他应用程序已验证相同的护照签名是正确的。

以下代码是当前进度,结果返回false。

var asn1setdata = Asn1Set.FromByteArray(eContent); //Results in properly parsed dataset
var derEncodedASN1Set = asn1setdata.GetDerEncoded();

Org.BouncyCastle.X509.X509Certificate cert1 = new X509CertificateParser().ReadCertificate(documentSignerCertficateBytes); //Correct certificate attributes after parsing
RsaKeyParameters ecPublic = (RsaKeyParameters)cert1.GetPublicKey();

//create a signerutility with type SHA-256withRSA 
ISigner signer = SignerUtilities.GetSigner("SHA256withRSA");

signer.Init(false, ecPublic);
signer.BlockUpdate(derEncodedASN1Set, 0, derEncodedASN1Set.Length);

var verified = signer.VerifySignature(documentSignatureBytes); //returns false

解析asn1set并在对象中提供适当的数据。

正确解析x509证书并显示SHA-256withRSA。

使用正确的算法创建签名者。

我使用的方法是否正确?

0 个答案:

没有答案