C# YAML文件中的数字签名。类似于XMLDSIG
XMLDSIG是XML文档的数字签名规范。C#在System.Security.Cryptography.Xml命名空间中有支持XMLDSIG的类 我想知道YAML文档是否有数字签名规范。或者一般来说,如何验证YAML文档的真实性(因为它没有被篡改) 其想法是在YAML文档中放置一个数字签名,然后在另一端使用公钥对其进行验证。不确定是否有任何库在C#、python或go中实现了这一点C# YAML文件中的数字签名。类似于XMLDSIG,c#,encryption,cryptography,digital-signature,C#,Encryption,Cryptography,Digital Signature,XMLDSIG是XML文档的数字签名规范。C#在System.Security.Cryptography.Xml命名空间中有支持XMLDSIG的类 我想知道YAML文档是否有数字签名规范。或者一般来说,如何验证YAML文档的真实性(因为它没有被篡改) 其想法是在YAML文档中放置一个数字签名,然后在另一端使用公钥对其进行验证。不确定是否有任何库在C#、python或go中实现了这一点 我确实在第3.2.1.3节中找到了一些东西。Equality在这里提到了使用规范形式支持数字签名。不确定我是否理
我确实在第3.2.1.3节中找到了一些东西。Equality在这里提到了使用规范形式支持数字签名。不确定我是否理解。不,Yaml没有特定的数字签名格式。最常见的格式是xml的
XMLDsig
、PDF的PAdES
、二进制数据的CMS
/PKCS#7
/CAdES
、JSON的JWS
添加带有签名的yaml标记意味着处理可能导致头痛的文本规范化
我建议将内容包装到签名容器中,作为CMS/PKCS#7或JWT。比如说
{
"yaml": "SGVsbG8=". //yaml as base64
}
或者使用分离的签名
规范化 你提到的链接是关于如何表示一个数字。请注意,数据中的任何更改或计算签名的处理方式都将产生不同的签名。因此,当使用文本格式时,需要一个众所周知的“规范化”过程,以确保所有各方以相同的方式处理数据