Mit*_*hen 6 keychain ios ios-provisioning
我已经获得了一个iOS应用程序代码库,我想通过之前开发人员使用的现有Enterprise证书进行分发.
导入提供的.mobileprovision文件后,我(并不奇怪)得到"找不到有效签名身份"错误.特别是在建设时:
The identity '[name]' doesn't match any valid, non-expired certificate/private key pair in your keychains
Run Code Online (Sandbox Code Playgroud)
我获得了原始的CertificateSigningRequest.certSigningRequest文件,.p12文件和.cer文件.我没有得到.p12文件的密码.
是否可以在没有.p12文件密码的情况下从CertificateSigningRequest.certSigningRequest重建我需要的内容?我很可能得到.p12密码,但不及时.
谢谢!
Bry*_*ial 19
我知道您已经通过获取.p12文件的密码解决了您的问题,但我想我会对您提到的每个文件中的内容有所了解,以便在未来.
回答这个问题的主要问题:我可以从CertificateSigningRequest.certSigningRequest文件重建我需要的东西吗?
令人遗憾的是,答案是非常坚实的"不".其根本原因是公钥基础设施(PKI)的核心,这是一套处理数字证书创建,验证,使用和撤销的管理技术,人员和实践.PKI的核心是公钥 - 私钥对的概念."公共"密钥是您广泛共享的密钥,任何人都可以拥有该密钥,任何希望验证由数字证书签名的邮件的人都需要访问此密钥."私人"密钥是链接密钥,只有您(或更确切地说,您的计算机)在签名邮件时才知道并使用.正是这个签名通过使用"公共"密钥进行验证,该密钥被广泛共享,证明该消息实际上是真实的.
当我们构建开发或分发证书时,我们固有地要求Keychain Access,openssl或您首选的SSL工具链来创建公钥 - 私钥对.公钥与其他"主题"字段(如姓名和电子邮件地址)一起进入CertificateSigningRequest文件,我们将此文件发送给Apple.该文件主要告诉Apple 他们可以使用哪些公钥来验证您的应用程序签名 - 它毕竟不会给他们一份私钥,如果其他人拥有您的私钥,他们就可以在您有效破坏iOS平台上的问责制概念(例如,此应用程序的签名检查有效,但我仍然不知道它是否真的由我信任的开发人员签名......).在任何时候,您的私钥都是传输到Apple或Developer Portal; 它非常幸福地存在于您的钥匙串中,直到1)证书到期,2)您主动撤销开发者门户网站的证书,或3)您意外(或故意)从钥匙串中删除密钥对.
那么每个文件中都有什么?
CertificateSigningRequest.certSigningRequest - 它包含您在本地生成的Public-Private密钥对中的公钥副本,以及证书签名请求格式所需的一些其他必需主题信息.Apple在构建证书时忽略了这些附加信息并使用了他们在开发者帐户中存档的名称和电子邮件地址.
.p12 - 这是一个PKCS#12格式的文件,其中包含Apple颁发的证书(其本身包含公钥)的副本和链接的私钥的副本.此数据已加密以防止未经身份验证的访问,因此需要密码才能解密.
.cer - 这是Apple颁发的证书,其中包含密钥对的公钥部分.Apple使用此证书来验证您提交的应用程序在传输到App Store审核小组时未被篡改:
如您所见,私钥所在的唯一位置是原始开发人员的钥匙串以及加密的.p12文件.与您的评论和flup的评论一致,您必须获取该.p12文件的密码或查看突破加密.
无论如何,很高兴听到您能够从原始开发人员那里获得密码.如果您有任何后续问题,请告诉我.
| 归档时间: |
|
| 查看次数: |
17206 次 |
| 最近记录: |