dan*_*ani 23 certificate keychain keychain-access macos
我有一个这样的证书文件:
-----BEGIN CERTIFICATE-----
MIIHCDCCBPC ....
Run Code Online (Sandbox Code Playgroud)
通过转到“文件->导入项目”(它是“Elin”),我可以让它显示在“证书”下。
但是,我无法将其添加到“我的证书”中,我认为在连接到某些网站时必须显示它:
我怎么把它弄到那里去?(例如,我是否需要将其转换为 .p12,在这种情况下如何转换?)
Spi*_*iff 44
简短版本:
除非您拥有与证书中的公钥匹配的私钥,否则您不能将其用作证书。找到您留下私钥的位置并将其导入钥匙串,钥匙串访问将自动看到它与该证书中的公钥匹配并开始在“我的证书”列表中显示该证书。
长版:
证书是可以自由分发的公共文件。他们只是一个方法来安全地连接您的身份(即识别像您的全名,用户名,电子邮件地址等信息)到你的公开密钥。
由于证书是可公开分发的,因此仅拥有证书的副本并不能证明您是证书中指定的人,或者证书中的公钥确实是您的公钥。
为了能够证明证书是你的,你必须有私人即形成匹配集与键的公共密钥包含在证书中。
如果您只有一个 .p7b 或 .cer 或 .pem 文件,它很可能只包含一个证书,而不包含与之配套的私钥。
私钥必须完全安全和私密,绝不能提供给其他任何人。存储在磁盘上时,它们应存储在需要密码短语才能解密的加密文件中。在受密码保护的加密文件中安全地存储证书和匹配的私钥的典型方法是 .p12 (PKCS#12) 文件。看看你是否已经在某处有一个 .p12 文件。
如果 Keychain Access 在您的个人钥匙串中显示了一个证书,但它没有在“我的证书”列表中显示,这意味着您只导入了一个证书而不是随附的私钥,因此 OS X 无法分辨它真的是“你的”。
您需要找到第一次生成公钥/私钥对时私钥的存储位置。生成密钥对是获得证书的第一步。首先生成密钥对,然后将公钥和您的身份信息放入证书签名请求(又名 CSR,req)中,并发送给证书颁发机构 (CA) 进行签名。CA 应该验证您的身份信息和您的公钥,然后如果全部检查出来,他们就会签署 CSR,创建一个证书。签名的证书被发送回给您,您必须将它与您在第一步中生成的私钥进行匹配,才能真正使用它。
请注意,CA 的作用并没有什么特别的。它不必是像 Verisign 这样的公司。每个个人计算机操作系统都包含充当 CA 所需的所有软件。Keychain Access 的证书助手功能甚至会引导您完成 CA 设置以供您私人使用。
如果您不记得生成密钥对,您可能使用了一些自动为您生成的软件。例如,CA 网站可以在其 CSR Web 表单上使用一个特殊的 HTML 标记,它告诉您的 Web 浏览器自动生成密钥对,并仅随 Web 表单提交公钥。当您在此类表单上使用 Safari 时,私钥存储在您登录的 OS X 用户帐户的用户钥匙串中。当您以这种形式在 Windows 中使用 IE 时,私钥存储在 Windows 等效项中(Microsoft 称其为用户的“证书存储”;“存储”为“存储容器”而不是“零售店”:-) .
我不能告诉你你的私钥在哪里,因为我不知道你用什么软件来创建它,即使我知道,我也不确定你告诉那个软件在哪里保存你的私钥。你可能不得不自己去调查。
如果您找不到您的私钥,您可能需要认为它已被泄露并吊销您的证书(您可能需要联系您的 CA 来执行此操作)并通过生成新的密钥对、创建新的 CSR、拥有一个重新开始CA 签署并颁发证书,将其与新的私钥匹配,等等。这有点像意识到您丢失了房屋钥匙的副本,并选择让锁匠为您的所有门锁重新上锁注意安全。
tl;dr:找到您的私钥并将其导入钥匙串。
归档时间: |
|
查看次数: |
48312 次 |
最近记录: |