2

問題があります。PythonでAppleパスブックに関するいくつかのヒントをテストしています。署名を取得するためにM2Cryptoを使用しています。

コードは次のとおりです。

    def passwordCallback(*args, **kwds):
        return password

    smime = SMIME.SMIME()
    smime.load_key(key, certificate, callback=passwordCallback)
    pk7 = smime.sign(SMIME.BIO.MemoryBuffer(manifest), flags=SMIME.PKCS7_DETACHED | SMIME.PKCS7_BINARY)
    pem = SMIME.BIO.MemoryBuffer()
    pk7.write(pem)
    der = ''.join(l.strip() for l in pem.read().split('-----')[2].splitlines()).decode('base64')

コードはうまく機能し、署名コンテンツを生成するはずです。問題は「キー」と「証明書」にあります。

この2つの変数はcertificate.pemとkey.pemの名前ですが、AppleDeveloperポータルからpass.certファイルのみをダウンロードしました。

opensslなどを使用してこの2つのファイルを取得するにはどうすればよいですか?

解決済み:

私はこのリンクで解決しました

http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12

4

1 に答える 1

0

サードパーティの証明機関 (CA) から証明書を取得するか、openSSLで説明されているようなプロセスを使用して自己署名証明書を作成する必要があります。一部のコードをテストするだけの場合、自己署名証明書は機能しますが、CA 発行の証明書は、他のユーザーに、証明書に記載されている自分が誰であるかを示すものを提供します。Tim_Cook@apple.com であると主張する自己署名証明書を作成することはできますが、信頼できる CA がそのような証明書を発行することはありません。

于 2012-09-24T11:22:57.177 に答える