使用DER中PKCS#7格式的数字证书对Xml进行签名(ITU-T X.690建议书)

马雷克

我有一个.xml具有与要签署的文件digital certificate中的格式PKCS#7 version 1.5 (RFC 2315)DER (ITU-T Recommendation X.690

.xml将被发送到政府。WebService只接受我上面提到的格式。

我能做的-多亏了这个网站,我使用生成.xml.pfx文件进行了数字签名Certificate Export Wizard下面对此进行了说明。我用来签名的课程位于提及的网站或此处

从到目前为止的尝试中,我将需要根据标准.xmlwith.pfx文件进行签名,X.690但是我只能访问此名称空间:

using System.Security.Cryptography.X509Certificates;

这显然适用于X.509格式。

注意:

我有些困惑-将证书从那里导出到.pfx我正在使用的文件中Internet Explorer - Certificate Export Wizard,我可以:

是的-出口私钥-然后将它在产生PKCS#12,但.pfx

否-不导出私钥-根据Cryptographic Message Syntax Standard - PKCS#7我认为我需要的标准,但我会收到.p7b文件的证书

我必须说我是证书和数字签名的新手,所以我什至不确定我是否正确导出了证书,第二件事是如何按照X.690标准进行签名

我可以知道如何按照X.690格式签名吗?

谢谢大家的宝贵时间和答复。

我的代码如下:

bool res = false;
try
{
    byte[] certBytes = System.IO.File.ReadAllBytes(pvkPath);
    X509Certificate2 cert = new X509Certificate2(certBytes, certPass);
    XmlDocument doc = new XmlDocument();

    doc.Load(xmlPath);

    // sign the document with the private key of the certificate
    XmlDsig.SignXml(doc, cert);

    // save the document
    doc.Save(xmlSavePath);

    // verify that the document has a signature
    bool hasSignature = XmlDsig.HasSignatureElement(doc);
    return res = true;
}
catch (Exception)
{ return res; }
拉吉

PKCS#7 / CMS格式的数字签名是包含您的XML数据+签名者的x509公钥证书(.cer文件)+数字签名的blob。整个Blob以ASN 1.0格式(X690)编码。由于缺少原始数据或签署者证书,斑点可能会有变化。这种变化称为分离签名。

当您使用签名者的私钥对xml文件签名时,会生成数字签名。当您将XML文件+签名者的公钥(作为X509 .cer文件)+数字签名发送给有兴趣对其进行验证的一方时,可以验证此签名。

PFX / p12是一个包含签名者的私钥和公钥的容器。您可以从政府或政府批准的主要保管人那里获得此密钥对。然后,您将使用此PFX执行数字签名。

cryptoAPI支持PKCS#7

以上是基础知识。这样可以使您的查询更清晰。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在DER中以PKCS#7格式用数字证书对Xml进行签名(ITU-T X.690建议书)

来自分类Dev

x509Certificate-以pkcs#7格式(.net c#)保存二进制签名

来自分类Dev

在MATLAB中求解x(t)

来自分类Dev

如果abs(x)> T作为pytorch中的激活函数,则实现x = T

来自分类Dev

如何在PHP中使用RS256签名X.509证书?无法获取有效指纹... x5t

来自分类Dev

使用.pfx证书封装,签名和创建PKCS#7 DER消息

来自分类Dev

使用Redis进行Spring Boot缓存,密钥为\ xac \ xed \ x00 \ x05t \ x00 \ x06

来自分类Dev

跳过Stream <T>中的最后x个元素

来自分类Dev

为什么对于x <-3..4,执行:x * 3在Elixir中返回'\ t \ f'?

来自分类Dev

错误C2079:'X :: x'使用未定义的结构'T'

来自分类Dev

如何使用<x509certificate>验证C#中XML文件的签名(不是证书文件)?

来自分类Dev

Lint:`x <> null`; 建议考虑使用模式匹配

来自分类Dev

签名验证(格式为PKCS#7)

来自分类Dev

对P(-t <x <t)使用qt函数时遇到问题

来自分类Dev

MYSQL - 其中 x=x 和 z=z 和 t=t

来自分类Dev

sun.security.x509.CertAndKeyGen和sun.security.pkcs.PKCS10-在JDK8中丢失。实施建议

来自分类Dev

如何使用自签名证书对Mac OS X内核扩展进行代码签名

来自分类Dev

Mac OS X计算机上的数字证书实际存储在哪里?

来自分类Dev

对于整数或枚举类型,T t {x}与T t = {x}之间的差异?

来自分类Dev

ssh-keygen和编写X.509格式的用户证书?

来自分类Dev

代替EF7中的DbSet Create()方法使用什么,建议仅使用新的T()

来自分类Dev

使用Adobe PKCS#7证书在折纸上签名的PDF验证

来自分类Dev

JavaFX - 建议在 setLayoutX(x) 上使用 relocate(x,y) 移动对象,但我无法修改重定位参数

来自分类Dev

使用数字证书和数字签名的安全认证

来自分类Dev

t(as(from,“ ngCMatrix))中的错误:在选择函数't'的方法时评估参数'x'时出错:asM中的错误

来自分类Dev

Lucene in Action 一书和字段索引分析参数 API 在 6.x 中的相关性如何

来自分类Dev

如果不建议使用x..y中的“何时(a)”,我应该改用什么?

来自分类Dev

散热-AMD Phenom II 1035T X6-如何配置XML?

来自分类Dev

“ A <T>(IList <T> x)其中T:I”和“ A(IList <I> x)”之间的区别?

Related 相关文章

  1. 1

    在DER中以PKCS#7格式用数字证书对Xml进行签名(ITU-T X.690建议书)

  2. 2

    x509Certificate-以pkcs#7格式(.net c#)保存二进制签名

  3. 3

    在MATLAB中求解x(t)

  4. 4

    如果abs(x)> T作为pytorch中的激活函数,则实现x = T

  5. 5

    如何在PHP中使用RS256签名X.509证书?无法获取有效指纹... x5t

  6. 6

    使用.pfx证书封装,签名和创建PKCS#7 DER消息

  7. 7

    使用Redis进行Spring Boot缓存,密钥为\ xac \ xed \ x00 \ x05t \ x00 \ x06

  8. 8

    跳过Stream <T>中的最后x个元素

  9. 9

    为什么对于x <-3..4,执行:x * 3在Elixir中返回'\ t \ f'?

  10. 10

    错误C2079:'X :: x'使用未定义的结构'T'

  11. 11

    如何使用<x509certificate>验证C#中XML文件的签名(不是证书文件)?

  12. 12

    Lint:`x <> null`; 建议考虑使用模式匹配

  13. 13

    签名验证(格式为PKCS#7)

  14. 14

    对P(-t <x <t)使用qt函数时遇到问题

  15. 15

    MYSQL - 其中 x=x 和 z=z 和 t=t

  16. 16

    sun.security.x509.CertAndKeyGen和sun.security.pkcs.PKCS10-在JDK8中丢失。实施建议

  17. 17

    如何使用自签名证书对Mac OS X内核扩展进行代码签名

  18. 18

    Mac OS X计算机上的数字证书实际存储在哪里?

  19. 19

    对于整数或枚举类型,T t {x}与T t = {x}之间的差异?

  20. 20

    ssh-keygen和编写X.509格式的用户证书?

  21. 21

    代替EF7中的DbSet Create()方法使用什么,建议仅使用新的T()

  22. 22

    使用Adobe PKCS#7证书在折纸上签名的PDF验证

  23. 23

    JavaFX - 建议在 setLayoutX(x) 上使用 relocate(x,y) 移动对象,但我无法修改重定位参数

  24. 24

    使用数字证书和数字签名的安全认证

  25. 25

    t(as(from,“ ngCMatrix))中的错误:在选择函数't'的方法时评估参数'x'时出错:asM中的错误

  26. 26

    Lucene in Action 一书和字段索引分析参数 API 在 6.x 中的相关性如何

  27. 27

    如果不建议使用x..y中的“何时(a)”,我应该改用什么?

  28. 28

    散热-AMD Phenom II 1035T X6-如何配置XML?

  29. 29

    “ A <T>(IList <T> x)其中T:I”和“ A(IList <I> x)”之间的区别?

热门标签

归档