我想允许客户上传他们自己的配置文件,包括图标,这样我就可以让他们动态地成为我的应用程序的自定义版本,然后他们可以发布。
但是,我在验证配置文件时遇到了一点问题。特别是,我想检查 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
谁能指出我正确的方向?我必须以某种方式验证开发人员证书的有效性。
谢谢