将.NET分离签名验证转换为充气弹子

问题描述 投票:0回答:1

我正在尝试将以下代码(使用.NET的内置加密库)转换为BouncyCastle。不幸的是,在缺乏文档,对所有Java BC问题的困惑以及使用分离签名的不寻常之间,我不知道该怎么做。

。NET代码:signature是以Base64编码存储在p7s文件中的独立SHA256 RSA签名。

var data = Encoding.ASCII.GetBytes("Hi!");
var signature = File.ReadAllText("Signature.p7s");
byte[] hashedDocument = HashAlgorithm.Create("SHA256").ComputeHash(data);
var cms = new SignedCms(new ContentInfo(hashedDocument), true);
cms.Decode(Convert.FromBase64String(signature));
cms.CheckSignature(true);

[我已经尝试过BouncyCastle的RsaDigestSignerCmsSignedDataCmsSignedDataParserSignerUtilities.GetSigner("SHA-256withRSA")(它们只是返回RsaDigestSigner),但是它们似乎都没有办法同时理解p7s文件和实际验证它是否适用于指定的数据。

我正在尝试将以下代码(使用.NET的内置加密库)转换为BouncyCastle。不幸的是,在缺乏文档的情况下,与所有Java BC ...

c# hash bouncycastle
1个回答
0
投票

因此,考虑到您尚未提供如何生成分离的签名的示例,我不得不作一些假设。

© www.soinside.com 2019 - 2024. All rights reserved.