gpt4 book ai didi

certificate - JKS 与 PKCS12 在代码签名方面的优点是什么?

转载 作者:行者123 更新时间:2023-12-03 11:34:13 24 4
gpt4 key购买 nike

购买代码签名证书时,从 PKCS12 开始与 JKS 证书相比有哪些优点?一些 vendors提供有关从 JKS 或 PKCS12 证书签名请求开始的说明。我们希望在使用购买的证书时拥有最大的灵 active ,尤其是考虑到成本。例如,我们可能签署的不仅仅是 Java 代码(例如:iPhone 或 Android 代码签名)。在选择这两种方法时,我们应该考虑哪些技术因素?

最佳答案

如果您使用 Java,那么 Java Key Store 是一个相当自然的存储私钥的地方。Java 应用程序通常希望从 JKS 获取所需的 key ,并且可以从您自己的 Java 应用程序轻松访问。但是,无法从 Java 外部访问 JKS(无需跳过几圈)。

另一方面,PKCS#12(又名 PFX)文件是一种与语言无关的方式来存储加密的私钥和证书,并且已经存在了足够长的时间,几乎可以在任何地方得到支持。但请注意,文件格式过于复杂和过于笼统——请查看 Peter Gutmann 的“PFX - 如何不设计加密协议(protocol)/标准” (http://www.cs.auckland.ac.nz/~pgut001/pubs/pfx.html) 轻松了解的问题。

请注意,使用这些存储格式中的一种或其他格式确实是一个关于您的应用程序将如何在本地存储加密私钥的问题。向您出售您的证书的供应商永远不会看到私钥,因此他不在乎您使用什么格式。您向他(供应商/CA)发送 PKCS#10 证书请求(包含公钥并使用私钥签名,但不包含私钥),然后他向您发回证书(您可以将其存储在 JKS 或PKCS#12 文件或两者,或其他任何你喜欢的地方)。

从技术上讲,这两种格式都不理想,因为它们都通过使用从密码派生的 key 对其进行加密来保护私钥;但是,这并不能使任何一个比另一个更好。如果您可以使用智能卡或其他硬件 key 存储解决方案,则安全性(虽然不方便)会更好。

决定您选择的主要因素应该是您计划如何使用私钥——即:哪些应用程序需要使用私钥以及它们已经处理的 key 存储格式。 PKCS#12 是更灵活的选项……但如果您打算仅将 key 与您自己编写的代码一起使用(不需要互操作性),那么您也可以考虑使用 PKCS#8 或 PKCS#15 容器。

我不建议您编写自己的代码来处理 PKCS#12(我已经完成了,不好玩)——使用经过验证的第三方库(如 OpenSSL)。

关于certificate - JKS 与 PKCS12 在代码签名方面的优点是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3867019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com