【发布时间】:2021-09-04 00:39:10
【问题描述】:
在我的项目中,我正在用我的私钥签署一个字符串。如果我将我的公钥和签名存储在一个稍后要验证的 json 文件中,那么它真的安全吗?还是首选使用 PKCS#7?如果是,那有什么区别?
【问题讨论】:
标签: node.js json encryption cryptography digital-signature
在我的项目中,我正在用我的私钥签署一个字符串。如果我将我的公钥和签名存储在一个稍后要验证的 json 文件中,那么它真的安全吗?还是首选使用 PKCS#7?如果是,那有什么区别?
【问题讨论】:
标签: node.js json encryption cryptography digital-signature
是的。只要您的私钥未公开,将您的公钥与由私钥签名的文档一起存储是安全的。
在用于联合用户身份验证和授权的 SAML2.0 系统中,他们使用的 Assertion 令牌使用私钥进行签名。这些断言是 XML 文档,包含加密签名和公钥。公钥是该系统中 X.509 公钥的 base64 编码版本。
当然,收件人应该使用自己之前存储的公钥副本来验证签名。如果收件人使用文档中的公钥验证签名,则很容易受到欺骗。不良行为者可以使用自己的私钥签署恶意文档,然后发送自己的公钥。签名会匹配,但无法证明文档的来源。
【讨论】: