我有以下问题:
我有这些文件
developer_identity.cer
Team_Provisioning_Profile_.mobileprovision
为了打包适用于iOS的adobe flex移动应用程序,我需要将.cer证书转换为.p12格式。在本教程on help.adobe.com之后,我总是在执行last openll命令时遇到此问题:
“没有证书与私钥匹配
pkcs12中的错误“
据我所知,我需要以某种方式获得私钥,用于创建证书(我明白这一点吗?)。如果我只有上面提到的.cer和.mobileprovision文件,我如何获得私钥mykey.key?
答案 0 :(得分:6)
.cer不包含您的私钥,您无法从中生成.p12文件。您必须从钥匙串同时导出它们。如果你只有.cer文件,它就没用了,你将不得不创建一个新的私钥和证书对。
答案 1 :(得分:5)
如果丢失私钥,不确定是否可以获取私钥。
当您申请证书时,会创建密钥,以便您可以申请新证书,并且应该为您提供私钥。
答案 2 :(得分:3)
当证书是DER编码时,OpenSSL说没有证书与私钥匹配。只需在创建PKCS#12之前将其更改为PEM编码。
创建密钥对:
openssl genrsa -out aps_development.key 2048
创建CSR :openssl req -new -sha256 -key aps_development.key -out aps_development.csr
将CSR上传到开发人员门户以获取证书aps_development.cer
转换证书:openssl x509 -inform DER -outform PEM -in aps_development.cer -out aps_development.pem
构建PKCS#12 :openssl pkcs12 -inkey aps_development.key -in aps_development.pem -export -out aps_development.p12
答案 3 :(得分:0)
您打开在Applications / Utilities下找到的Keychain Access程序。在右侧的类别列表下,选择“我的证书”。
这将为您提供安装在钥匙串中的所有证书的列表。如果您不熟悉钥匙链是什么。它基本上是一个安全的数据库,包含您的登录密码,证书,私钥等。
下载证书时,应双击它以将其导入到钥匙串中。
然后,您可以在“我的证书”列表中找到您的证书。如果您展开了有兴趣查找私钥的证书,则应该在证书下方显示。
我打赌你只是按照指南做了一些步骤,并不完全确定你做了什么。我们都做得对; - )
这是如何工作的,您最初是在钥匙串访问程序中一起创建公钥和私钥。通常在加密方式中,您使用这些方法的方法是将公钥提供给某人,然后他们可以加密消息并发送给您。只有拥有与此公钥一起创建的私钥的人才能解密该消息。
但任何获取公钥的人都无法确定您是否真的知道这一点。这是证书进入的地方。像大多数人信任的Apple这样的第三方将签署您的公钥,从而创建证书。所以你之前可能做的就是将你的公钥发送给签署它的Apple,从而创建一个你可以下载的证书。
让我给你简短的版本: