Openssl 如何:从iTunes分发证书和签名密钥(P12文件)以及mobileprovision获取信息

Openssl 如何:从iTunes分发证书和签名密钥(P12文件)以及mobileprovision获取信息,openssl,itunes,pkcs#12,mobileprovision,Openssl,Itunes,Pkcs#12,Mobileprovision,在处理iTunes应用程序时,分发证书和签名密钥(P12文件)以及签名密钥(P12文件)和.mobileprovision(plist文件)对我来说有点神秘。我想知道如何通过CLI以编程方式从这些文件中获取信息 如何从这些文件中提取信息?对于整个开发中心帐户,有一个通配符.mobileprovision文件。它包括: 分发配置ID 公司标识 证书 每个启用推送通知的应用程序都有自己的.mobileprovision文件(它包含推送证书和通配符证书) 我发现最有用的命令是将.mobilepro

在处理iTunes应用程序时,分发证书和签名密钥(P12文件)以及签名密钥(P12文件)和.mobileprovision(plist文件)对我来说有点神秘。我想知道如何通过CLI以编程方式从这些文件中获取信息


如何从这些文件中提取信息?

对于整个开发中心帐户,有一个通配符
.mobileprovision
文件。它包括:

  • 分发配置ID
  • 公司标识
  • 证书
每个启用推送通知的应用程序都有自己的
.mobileprovision
文件(它包含推送证书和通配符证书)

我发现最有用的命令是将
.mobileprovision
文件转换为XML,然后您可以使用它执行您想要的操作:

openssl smime -inform der -verify -noverify -in my.mobileprovision
是与
.mobileprovision
文件交互的好PHP库

分发证书和签名密钥位于.p12容器中。顾名思义,它包含:

  • 证书
  • 应用程序签名私钥
以下是一些方便的命令:

要在证书过期时获取:

openssl pkcs12 -in my.p12 -passin pass:1234 -nodes | openssl x509 -noout -enddate
要获取私钥,请执行以下操作:

openssl pkcs12 -in my.p12 -passin pass:1234 -nodes | awk '/-----BEGIN PRIVATE KEY-----/,/-----END PRIVATE KEY-----/'
要获得证书:

openssl pkcs12 -in my.p12 -passin pass:1234 -nodes | awk '/-----BEGIN CERTIFICATE-----/,----END CERTIFICATE-----'
获得其他证书的sha1:

openssl pkcs12 -in my.p12 -passin pass:1234 -nodes | awk '/-----BEGIN CERTIFICATE-----/,----END CERTIFICATE-----'
openssl pkcs12 -in my.p12 -passin pass:1234 -nodes |  openssl x509 -noout -fingerprint | cut -d "=" -f 2

如何使用OpenSSL创建.mobileprovision?提前感谢。您无法创建iOS移动设备配置。它是由appleCan创建的,我不使用OpenSSL中的“smime”命令来创建它吗?我这样问是因为我不想只为了测试而花99美元获得.mobileprovision文件。不幸的是,每个
.mobileprovision
文件都是由苹果的私钥签名的(即,
苹果iPhone OS配置文件签名
证书)。因此,只有苹果才能生成有效的
.mobileprovision
配置文件。