0

Ich versuche, die Anweisungen in der these zu befolgen, um meine S3-API so einzurichten, dass Push-Benachrichtigungen an meine iOS-App gesendet werden.AWS/Apple Push-Zertifikat - Fehler beim Festlegen des privaten Schlüssels

Ich mache ein Chaos der Zertifikate Probleme, so dass ich gehofft hatte, dass jemand helfen könnte, mich durch sie zu sortieren.

Bisher habe ich eine CSR erstellt, sie auf das Apple Dev-Portal hochgeladen und eine .cer-Datei heruntergeladen. Ich konvertiert dann die cer in eine pem

openssl x509 -in apns-dev.cer -inform DER -out apns-dev.pem

Dann habe ich in den Unterricht lief zu „Open Schlüsselbund, Schlüssel auswählen und dann markieren Sie Ihre App privaten Schlüssel.“ Nicht zu wissen, was meine "app privaten Schlüssel" wurde, ich habe ein paar Dinge ausprobiert:

  1. Ergreifung die bereits existierende Private-Key-Datei im Ordner Cert App (einen privaten RSA-Schlüssels, die nicht, waren zu meinem Wissen, das zur Generierung der oben genannten CSR verwendet wurde).
  2. Exportieren meines privaten Schlüssels des Standardsystems als p12 und dann konvertieren es, nach AWS-Anweisungen, in einen Schlüssel pem.
  3. Der Versuch, eine neue CSR direkt von meinem System privaten Schlüssel in Schlüsselbund erzeugen

Jedes Mal, wenn ich den Anweisungen zu „test“ der privaten/öffentlichen Schlüsselpaar (openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev.pem -key apns-private.pem) folgen, bekomme ich diese:

error setting private key 
41047:error:0B080074:x509 certificate routines:X509_check_private_key:key values  mismatch:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-59.60.1/src/crypto/x509/x509_cmp.c:406: 

ich habe bei den folgenden Fragen sehe, habe aber nicht in der Lage gewesen, ihre Antworten zu verwenden, um dies herauszufinden:

Jede Idee geben, was könnte gehen? Ich schieße hier nur im Dunkeln.

Antwort

1

Verwenden Sie nicht die Anweisungen von Apple zum Generieren des CSR.

  1. Schlüssel erzeugen:

    openssl genrsa -out $app.key 2048 
    
  2. CSR generieren:

    openssl req -new -key $app.key -out $app.csr 
    

    und die entsprechenden Daten eingeben.

  3. CSR zu Apple hochladen. Zertifikat herunterladen

  4. Convert Zertifikat PEM:

    openssl x509 -inform DER -in $app.cer -out $app.pem 
    

Jetzt haben Sie den Schlüssel in $app.key und ein PEM-kodierte Zertifikat in $app.pem. Sie können dann beide auf der Box installieren, die mit APNS verbunden wird (abhängig von der Software, die Sie verwenden, können sie separate Dateien sein, oder Sie können den Schlüssel einfach an die Zertifikatsdatei anhängen).

Verwandte Themen