2017-09-25 88 views
1

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

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

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

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

回答

0

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

添加YAML标签与签名是指处理文字的规范化,可导致头痛。

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

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

或者使用一个独立的签名


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