gpt4 book ai didi

iphone - 检查配置文件的开发人员证书有效性

转载 作者:可可西里 更新时间:2023-11-01 05:14:43 30 4
gpt4 key购买 nike

我想让客户上传他们自己的配置文件,包括图标,这样我就可以即时为他们制作我的应用程序的自定义版本,然后他们可以发布。

但是,我在验证配置文件时遇到了一些麻烦。特别是,我想检查 DeveloperCertificate 是否实际上是有效证书。配置文件看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ApplicationIdentifierPrefix</key>
<array>
<string>ABCDEFGH</string>
</array>
<key>CreationDate</key>
<date>2012-03-28T11:17:23Z</date>
<key>DeveloperCertificates</key>
<array>
<data>
MIIFajCCBFKgAwIBAgIIddUra9YprMQwDQYJKoZIhvcNAQEFBQAwgZYxCzAJ
BgNVBAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBs
ZSBXb3JsZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBw
...
</data>
</array>
...
</dict>

因此,我提取了证书,然后想要检查它们,最好使用 openssl 命令。这些证书使用什么加密方式,我如何使用 openssl 验证它们?我认为这使用了 pkcs12,但尝试这样做会给我一个错误:

$ openssl pkcs12 -noout -in testcertificate
140653159306912:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1319:
140653159306912:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:381:Type=PKCS12

谁能指出我正确的方向?我必须能够以某种方式验证开发人员证书的有效性。

谢谢

最佳答案

我一直在研究这个问题,事实证明它不一定像 David 描述的那样难。解决方法其实很简单:

证书是 base64 编码的 DER 证书。您需要做的是:

  • 从 XML 中提取证书
  • Base64-解码证书:

    base64 -d 证书 > certificate.crt

  • 使用 OpenSSL 测试证书:

    openssl x509 -inform DER -in certificate.crt -noout -text

或者,如果我们通过管道传输它:

cat certificate | base64 -d - | openssl x509 -inform DER -noout -text

-text 选项使 openssl 提供所有详细信息,但您可以根据自己的意愿指定。例如,假设您只对证书是否为实际分发证书感兴趣,则可以改用 -subject 选项并查看 CN= 字段。

关于iphone - 检查配置文件的开发人员证书有效性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11521857/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com