apache-flex 无法将apple developer_identity.cer转换为.p12格式,没有与私钥匹配的证书

ctzwtxfj  于 2022-11-01  发布在  Apache
关注(0)|答案(4)|浏览(231)

我有以下问题:
我有这些文件
开发者身份.cer
团队设置配置文件.mobileprovision
为了打包adobe flex移动的应用程序的iOS,我需要转换我的.cer证书到.p12格式.按照这个教程on help.adobe.com我总是得到这个问题时,执行最后一个openssl命令:
“没有与私钥匹配的证书
pkcs12中的错误”
据我所知,我需要以某种方式来获得私钥,这是用来创建证书(我明白这一点吗?).我如何获得私钥mykey.key如果我只有.cer和.mobileprovision文件上面提到的?

6ioyuze2

6ioyuze21#

当证书是DER编码时,OpenSSL说 * 没有证书与私钥匹配 。在创建PKCS#12之前,只需将其更改为PEM编码。
1.
创建密钥对 openssl req -new -sha256 -key aps_development.key -out aps_development.csr
1.
创建CSR*:openssl req -new -sha256 -key aps_development.key -out aps_development.csr
1.将CSR上传到开发人员门户以获取证书aps_development.cer
1.* 转换证书 openssl x509 -inform DER -outform PEM -in aps_development.cer -out aps_development.pem
1.
构建PKCS#12*:openssl pkcs12 -inkey aps_development.key -in aps_development.pem -export -out aps_development.p12

v7pvogib

v7pvogib2#

.cer文件不包含您的私钥,您无法从它生成.p12文件。您必须同时从钥匙串中导出这两个文件。如果您只有.cer文件,它将毫无用处,您将必须创建一个新的私钥和证书对。

mklgxw1f

mklgxw1f3#

如果您丢失了私钥,不确定您是否可以获得它。
密钥是在您请求证书时创建的,这样您就可以请求新证书,而新证书应该会为您提供一个私钥。

xkftehaa

xkftehaa4#

你打开程序钥匙串访问下找到的应用程序/实用程序。在类别列表的权利,你选择“我的证书”。
这会给你一个所有安装在你的钥匙链中的证书的列表。如果你不熟悉钥匙链是什么的话。它基本上是一个安全的数据库,包含你的登录密码,证书,私钥等。
下载证书时,您应该连按它以将其导入钥匙串。
然后你可以在“我的证书”列表中找到你的证书。如果你展开你有兴趣找到私钥的证书,它应该显示在证书的正下方。
我敢打赌你只是按照一个指南,并没有完全确定你到底做了什么步骤。- )
它的工作原理是你首先在keychain访问程序中创建一个公钥和私钥。通常在加密中,你使用公钥的方式是你把你的公钥给别人,然后他们可以加密一个信息并发送给你。只有拥有私钥的人才能解密这个信息。
但是任何人得到你的公钥都不能确定它是否真的来自你。这就是证书的用武之地。像苹果这样大多数人信任的第三方会签署你的公钥,这就创建了一个证书。所以你之前可能做的是把你的公钥发送给苹果,苹果签署了它,这样就创建了一个你可以下载的证书。
让我给予你一个简短的版本:
1.密钥链访问用于创建公钥/私钥
1.您可以使用您的公钥创建证书签名请求。这基本上是一个包含您的公钥的文件,要求Apple使用此公钥创建证书。
1.苹果会添加一堆关于你的信息和公钥的用途,并将公钥本身添加到一个文件中,成为证书,然后苹果会对证书进行签名。
1.下载证书。
1.连按并将证书导入到钥匙串。

相关问题