我一直在研究数字签名。首先,我遇到了PKCS标准,它涉及将任何数据或文件视为二进制内容并对其进行签名/加密。
最近,我开始了解其他方式,例如:
1)W3C XML签名:使用XML对互联网上的任何内容进行签名(无论是否为XML)
2)PDF签名:ISO格式指定了将数字签名添加到pdf文件的机制,可以由pdf读者阅读。
还有哪些其他标准/技术可用于以编程方式对数据进行数字签名?
感谢。
答案 0 :(得分:3)
你提到的PKCS#7。
CMS是PKCS#7的扩展/继承者
较旧的MS Office二进制格式包含自己的签名机制(类似于PDF中的签名机制)。较新的基于MS Office XML的格式和OpenOffice格式使用XMLDSig。
OpenPGP签名(使用OpenPGP密钥对,而不是X.509证书)。
PKWare支持ZIP档案的签名,他们可以自由地验证这些签名(但是,他们不提供自己签署ZIP的许可证 - 仅使用他们的SecureZIP应用程序)。
然后存在签署PNG图像的规范:ftp://ftp.simplesystems.org/pub/png/documents/signatures/index.html
也许存在其他不那么广泛的格式也有签名,但这是我现在所能记住的。