首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >P12 -不知道p12密码而提取公共部分(证书)

P12 -不知道p12密码而提取公共部分(证书)
EN

Security用户
提问于 2015-02-13 15:45:02
回答 3查看 21.2K关注 0票数 15

我想提取一个被撤销的P12中不属于我的公开部分。我不能用KeyStore资源管理器打开它,因为我被提示输入密码,OpenSSL有可能打开吗?

密码只保护私钥(S),而不是证书,对吗?

EN

回答 3

Security用户

发布于 2015-08-16 22:21:31

它可以用openssl来完成。在终端类型中:

代码语言:javascript
复制
openssl pkcs12 -in myfile.p12 -nokeys -nomacver

并在请求导入键时按ENTER键即可。PKCS12文件中包含的证书应该打印在标准输出上(en格式)。

注意:即使证书以纯文本形式存在于PCKS12文件中,该文件的完整内容也由消息身份验证代码(MAC)保护。如果没有密码,您就无法验证该文件是否已被修改,这意味着任何能够访问该文件的人都将能够添加、删除或修改证书。这可能是一个安全问题,在您的情况下并不是必要的,但是如果您想在其他情况下重用这个提示,您应该记住这一点。

票数 10
EN

Security用户

发布于 2016-03-26 00:31:17

您可以使用openssl或keytool命令从p12文件中提取公钥,但完整性不会得到验证。

票数 0
EN

Security用户

发布于 2015-02-17 17:39:57

代码语言:javascript
复制
the Java keystore contains certificate information

更准确地说,它包含公钥或密钥对(公钥和私钥)。密钥存储库由密码保护,每个私钥也受密码保护。但是,您可以更改或删除密码。由你决定。Java密钥存储库就像web浏览器的独立密钥存储库,即

Mozilla ->编辑-> Preferences ->高级->证书,Chrome ->设置->高级设置-> HTTPS/SSL

证书管理器管理您的证书、用户公钥、服务器证书或证书颁发机构证书,这些证书也是公钥。它们存储在浏览器的密钥存储库中。

代码语言:javascript
复制
but this information is public (i.e. other machine certificates which you want the local machine to trust)

公钥只是不需要任何保护的密钥,它们是公钥。私钥不是公共的,受密码保护。

你决定什么时候使用钥匙,当被偷的时候,从里面提取信息并不容易。所以密钥库就是一种安全强化。

但是,您通常会谈到信任的级别,或者说信任度量。

要做到这一点,您需要知道,一个私钥理论上也可以猜测,所以您的安全性不是100%。今天在Top500超级计算机网站上列出的一台超级计算机,带有33,862.7 Tera Flops/s,可能会残忍地强迫你使用私钥。理论上,您的计算机/膝上型计算机可以被偷,您的密钥存储库可以被窃取,您的密码可以被特洛伊木马读取。

最后你会问,如果我的密钥存储库被窃取和解密的风险有多大,我能做些什么来防止它。这往往也是一个努力和代价的问题。

如果您的风险很高,那么您需要将您的keystore存储在一个独立的磁盘(即笔驱动器)上,使用长而复杂的密码,并使用一台特殊的受保护的计算机进行连接。

4票反对

如果你说的是信任库,风险不在于有人会看到或窃取信任库中的证书。风险是有人会将证书添加到您不希望信任的商店中。存储应该首先受到OS权限的保护。密码是一种额外的保护。

票数 -1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/81601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档