【问题标题】:Digital signature in YAML file. Similar to XMLDSIGYAML 文件中的数字签名。类似于 XMLDSIG
【发布时间】:2017-09-25 18:35:59
【问题描述】:

XMLDSIG 是 XML 文档的数字签名规范。 C# 具有在 System.Security.Cryptography.Xml 命名空间中支持 XMLDSIG 的类。

我想知道 YAML 文档是否有数字签名规范。或者一般来说,如何验证 YAML 文档的真实性(因为它没有被篡改)。

想法是在 YAML 文档中放置一个数字签名,然后使用另一端的公钥来验证它。不确定在 C#、python 或 go 中是否有围绕这个东西实现的任何库。

我确实在 3.2.1.3 部分下找到了一些东西。 http://yaml.org/spec/1.0/ 的平等,其中提到了使用规范形式来支持数字签名。不知道我是否理解它。

【问题讨论】:

    标签: c# encryption cryptography digital-signature


    【解决方案1】:

    没有,Yaml 没有特定的数字签名格式。最常见的格式是XMLDsig 用于 xml,PAdES 用于 PDF,CMS/PKCS#7/CAdES 用于二进制数据,JWS 用于 JSON

    添加带有签名的 yaml 标记意味着处理可能导致头痛的文本的规范化。

    我建议将内容包装到签名容器中,如 CMS/PKCS#7 或 JWT。例如

    {
     "yaml": "SGVsbG8=". //yaml as base64
    }
    

    或者使用分离签名


    规范化 您引用的链接正在讨论如何表示数字。请注意,数据中的任何更改,或处理它们以计算签名的方式都会产生不同的签名。因此,当使用文本格式时,需要一个众所周知的“规范化”过程,以确保各方以相同的方式处理数据

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-09-27
      • 2013-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多