我想提取不属于我的已撤销 P12 的公共部分。我无法使用 KeyStore Explorer 打开它,因为系统提示我输入密码,是否可以使用 OpenSSL ?
密码只保护私钥,而不是证书,对吗?
我想提取不属于我的已撤销 P12 的公共部分。我无法使用 KeyStore Explorer 打开它,因为系统提示我输入密码,是否可以使用 OpenSSL ?
密码只保护私钥,而不是证书,对吗?
它可以用openssl来完成。在终端类型中:
openssl pkcs12 -in myfile.p12 -nokeys -nomacver
当需要导入密钥时,只需按 ENTER。PKCS12 文件中包含的证书应在标准输出上打印(en PEM 格式)。
注意:即使证书以纯文本形式存在于 PCKS12 文件中,文件完整内容的完整性也受到消息验证码 (MAC) 的保护。如果没有密码,您将无法验证文件是否未被修改,这意味着任何可以访问该文件的人都可以添加、删除或修改证书。这可能是一个安全问题,在您的情况下不是必需的,但如果您想在其他情况下重用该提示,则应牢记这一点。
您可以使用 openssl 或 keytool 命令从 p12 文件中提取公钥,但不会验证完整性。
是的,您是对的,密码正在保护私钥。
这里的第一个问题是密钥已经被撤销了,你为什么要再次使用它被撤销的密钥。是否有故意的理由来研究它?
您可以使用 keytool 命令打开公共部分。命令如下
keytool -list -keystore -storetype pkcs12 -rfc
它将提示输入密码,只需按 Enter 按钮即可完成工作。
the Java keystore contains certificate information
更准确地说,它包含公钥或密钥对(公钥和私钥)。密钥库受密码保护,每个私钥也受密码保护。但是,您可以更改或删除密码。由你决定。Java 密钥库就像 Web 浏览器的分离密钥库,即
Mozilla -> 编辑 -> 首选项 -> 高级 -> 证书,Chrome -> 设置 -> 高级设置 -> HTTPS/SSL
此类证书管理器管理您的证书、人员公钥、服务器或证书颁发机构证书,这些证书也是公钥。它们存储在浏览器的密钥库中。
but this information is public (i.e. other machine certificates which you want the local machine to trust)
公钥只是不需要任何保护的密钥,它们是公钥。私钥不是公开的,受密码保护。
您决定何时使用密钥以及何时被盗,从中提取信息并不容易。所以密钥库是一种安全增强。
但是您通常会谈论信任级别或信任指标。
为此,您需要知道,理论上也可以猜测私钥,因此您的安全性不是 100%。今天的超级计算机以 33,862.7 Tera Flops/s 的速度列在 Top500 超级计算机站点上,可能会暴力破解您的私钥。从理论上讲,您的计算机/笔记本电脑可能被盗,或者您的密钥库可能被盗,并且您的密码可以被木马读取。
你最终会问,如果我的密钥库被盗和解密的风险有多大,我可以做些什么来防止它。这通常也是一个努力和价格的问题。
如果您的风险很高,那么您需要将您的密钥库存储在分离的磁盘(即笔式驱动器)上,使用长而复杂的密码并使用受特殊保护的机器进行连接。
4 反对票
如果您谈论的是信任库,则风险不在于有人会看到或窃取信任库中的证书。风险在于有人会将您不想信任的证书添加到存储中。存储应首先受到操作系统权限的保护。密码是额外的保护。