7

[追加] ボタンを押して、手動でパッケージ化された通帳アプリをインストールしようとすると、タイトルにエラーが表示されます。「signpass」ツールを使用してパッケージ化された通帳アプリを正常にインストールできますが、UNIX サーバーで動的パッケージを作成する必要があります。

通帳アプリを Web のさまざまなパッケージで手動でパッケージ化しようとしていますが、それぞれで同じエラーが発生します。私が試したいくつかのパッケージは次の とおり です

これは、作成され圧縮された pass.json です (teamIdentifier と passTypeIdentifier の両方が入力されていることに注意してください)。

{
  "formatVersion" : 1,
  "passTypeIdentifier" : "pass.votizen.membership",
  "serialNumber" : "ASDF",
  "webServiceURL" : "https://www.votizen.com/passbook/",
  "authenticationToken" : "AUTH_TOKEN",
  "teamIdentifier" : "MY_TEAM_IDENTIFIER",
  "organizationName" : "Matthew Snider",
  "description" : "Your voter registration card",
  "logoText" : "VOTIZEN",
  "labelColor": "#B7B0A8",
  "foregroundColor" : "#5F6062",
  "backgroundColor" : "#FCFAF5",
  "generic" : {
    "headerFields": [
      {
        "key" : "reg_date",
        "label": "VOTER SINCE",
        "value" : "2002"
      }
    ],
    "primaryFields" : [
      {
        "key" : "party",
        "label": "REGISTERED PARTY",
        "value" : "Democrat"
      }
    ],
    "secondaryFields" : [
      {
        "key" : "election",
        "label" : "NEXT ELECTION",
        "value" : "November 6, 2012"
      },
    ],
    "auxiliaryFields" : [
      {
        "key" : "polling_place",
        "label" : "POLLING PLACE",
        "value" : "268 E Julian Street, San Jose, CA 95112",
        "textAlignment" : "PKTextAlignmentLeft"
      }
    ],
    "backFields" : [
      {
        "key" : "elections",
        "label" : "ELECTIONS YOU VOTED IN",
        "value" : "2010 General\n2008 General\n2008 Primary\n2004 General"
      },
      {
        "key" : "polling",
        "label" : "DIRECTIONS TO YOUR POLLING PLACES",
        "value" : "https://maps.apple.com/maps?q=268+E+Julian+Street,+San+Jose,+CA+95112"
      },
      {
        "key" : "website",
        "label" : "Powered by Votizen",
        "value" : "https://www.votizen.com/"
      }
    ]
  }
}

Apple の手順に従って、Pass Type ID 証明書を生成し、ダウンロードして Keychain Access にインストールしました。次に、それを「Certificates.p12」としてエクスポートし、次を実行してcertificate.pemとkey.pemを生成します。

set P12 = Certificates.p12
sef PASSWORD = MY_PASSWORD
openssl pkcs12 -passin pass:$PASSWORD -in "$P12" -clcerts -nokeys -out certificate.pem 
openssl pkcs12 -passin pass:$PASSWORD -in "$P12" -nocerts -out key.pem -passout pass:$PASSWORD

マニフェスト ファイルが作成されたら、次を実行します。

openssl smime -passin pass:$PASSWORD -binary -sign -certfile wwdr.pem -signer certificate.pem -inkey key.pem -in manifest.json -out signature xs-outform DER

Apple Worldwide Developer Relations Certification Authority を Privacy Enhanced Mail ファイルとしてエクスポートして、wwdr.pem を作成しました。

Apple ルート認証局をインストールする必要があることをどこかで読んだので (私はインストールしています)、インストールした証明書のリストを以下に示します。

  • Apple アプリケーション統合認証局 Apple ルート CA
  • Apple ルート認証局は、世界中の開発者関係を適用します
  • 認証局
  • com.apple.idms.appleid.prd.4f3756614a59746e554a36344e6b55426b64576441413d3d
  • com.apple.ubiquity.peer-uuid.207240B0-758A-4C1E-B173-D1B70FF03533
  • com.apple.ubiquity.peer-uuid.C5D1968F-8923-48E4-A09D-8C9AE485A88B
  • com.apple.ubiquity.ssl-cert.C5D1968F-8923-48E4-A09D-8C9AE485A88B
  • iPhone 開発者: Matthew Snider パス タイプ ID:
  • pass.votizen.membership

明らかに、使用している証明書またはパッケージ化の方法に問題があります。何が間違っているのかわかりません。誰かがアイデアを持っていることを願っています。

4

2 に答える 2

17

私はそれを考え出した。p12 ファイルを作成するときに、証明書と秘密鍵の両方を選択する必要があることに気づきませんでした。証明書のエクスポートには秘密鍵も含まれると思いましたが、含まれていません。Keychain Access でパス タイプ ID をエクスポートするときは、「パス タイプ ID のエクスポート: ...」ではなく、「2 アイテムのエクスポート」であることを確認してください。

于 2012-10-11T22:00:13.540 に答える