Cryptography 在pkcs12中同时存储公钥和私钥是否有风险?

Cryptography 在pkcs12中同时存储公钥和私钥是否有风险?,cryptography,pkcs#12,truststore,Cryptography,Pkcs#12,Truststore,我最近一直在处理一些存储私钥和公钥的p12文件。由于远离密码学专家,我开始思考将公钥和私钥存储在同一个归档文件中(然后通过有线传输)是否会破坏密钥的全部用途。将公钥与私钥一起存储在文件中没有什么错。这一切都取决于它的意图 如果您只想将公钥发送给第三方,那么通过发送私钥,您可以为他们提供一种打破公钥机制的方法。这是不安全的,您应该扔掉密钥,因为它们现在没有任何值 如果传输是您的基础结构的一部分,和传输安全地进行,和您完全希望此文件在目标上是私有的,那么将它们存储为一个文件没有什么错 大多数框架都知

我最近一直在处理一些存储私钥和公钥的
p12
文件。由于远离密码学专家,我开始思考将公钥和私钥存储在同一个归档文件中(然后通过有线传输)是否会破坏密钥的全部用途。

将公钥与私钥一起存储在文件中没有什么错。这一切都取决于它的意图

如果您只想将公钥发送给第三方,那么通过发送私钥,您可以为他们提供一种打破公钥机制的方法。这是不安全的,您应该扔掉密钥,因为它们现在没有任何值

如果传输是您的基础结构的一部分,传输安全地进行,您完全希望此文件在目标上是私有的,那么将它们存储为一个文件没有什么错


大多数框架都知道如何正确使用单个私有/公共文件,并且只会将公共部分披露给第三方,并将私有部分保留在内部。

是否分发私钥取决于您的特殊需要。通常情况下,它们是保密的,不会超出需要(几乎从不)分发

从技术上讲,在PKCS#12容器中添加一个没有私钥的证书是可能的,但这没有多大意义,因为其他格式更适合只分发证书。如果您添加私钥只是因为某些软件只能使用PKCS#12格式,并且您不知道如何避免将私钥放在那里,那么这是一个错误-您不应该这样做


现在,PKCS#12文件中数据的安全性取决于所使用的加密算法。以前(在旧版本的Windows中)默认使用40位加密。40位是不安全的,这是肯定的。较新的版本支持3DES加密-它更强大

你能解释一下你什么时候在转移东西吗?你当然不应该给任何人你的私钥。这应该是私人的。你在说什么文件?这些是ssl配置还是其他配置?您是真的在进行传输,还是只是假设会发生这种情况?在我们的包存储库中,我们有一个用于产品部署的p12文件,该文件具有私钥和公钥。