XMLDSIG是XML文档的数字签名规范。 C#具有在System.Security.Cryptography.Xml命名空间中支持XMLDSIG的类。
我想知道YAML文档是否有数字签名规范。或者一般来说如何验证YAML文档的真实性(因为它没有被篡改)。
想法是在YAML文档中放置数字签名,然后使用另一端的公钥来验证它。不确定在C#,python或go中是否存在围绕此事件实现的库。
我确实在 3.2.1.3部分找到了一些内容。 http://yaml.org/spec/1.0/处的平等提到了使用规范形式来支持数字签名。不知道我是否理解它。
答案 0 :(得分:0)
不,Yaml没有特定的数字签名格式。最常见的格式为xml为XMLDsig
,PDF为PAdES
,二进制数据为CMS
/ PKCS#7
/ CAdES
,JSON为JWS
< / p>
添加带有签名的yaml标记意味着处理可能导致头痛的文本的规范化。
我建议将内容作为CMS / PKCS#7或JWT包装到签名容器中。例如
{
"yaml": "SGVsbG8=". //yaml as base64
}
或使用分离的签名
<强>规范化强> 您引用的链接是在谈论如何表示数字。请注意,数据的任何更改或处理它们以计算签名的方式都会产生不同的签名。因此,当使用文本格式时,需要一个众所周知的“规范化”过程来确保所有各方以相同的方式处理数据