2013-04-15 8 views
10

Ich versuche, mit der Entwicklung von Safari-Erweiterungen zu beginnen, bekomme aber immer noch den Fehler "Kein Safari Extension Developer Certificate".Safari Extension Developer Zertifikat - Windows

folgte ich den openssl Anweisungen hier: making CSR certificates in Windows (7)

ich die CSR-Datei auf developer.apple.com hochgeladen, die ich heruntergeladen habe die generierte Datei und installiert sie in Personal und Trusted Shops Stammzertifizierungsstellen. Im Extension Builder passiert nichts.

Die Top-Antwort hier macht mich denken: Safari doesn't detect my Extension Certificate

Er sagt: „auf einer anderen Maschine, die Sie den privaten Schlüssel nicht mit dem Zertifikat zugeordnet ist“.

Ich sehe den openssl-Befehl erzeugt eine private Schlüsseldatei für mich. Muss ich es irgendwo in Safari oder irgendwo anders im Betriebssystem verwenden?

Ich habe es schon einen ganzen Tag lang versucht und ich habe das Gefühl, dass mir etwas offensichtlich fehlt. Kannst du vorschlagen, was es sein könnte?

+0

Sie versuchen, dies auf Windows zu tun? Apple hat wichtige Änderungen an den Seiten für Entwicklerzertifikate vorgenommen, einschließlich der Entfernung aller Windows-Anweisungen. An dieser Stelle glaube ich, dass Windows nicht für die Entwicklung von Safari-Erweiterungen unterstützt wird, es sei denn, Sie haben das Zertifikat heruntergeladen, bevor Apple die Änderungen vorgenommen hat. –

+0

Ich konnte es schließlich lösen. Ich wollte die Lösung hier posten, aber ich kam nie dazu. Ich werde versuchen, diese Woche zu machen, wenn ich etwas Freizeit habe. –

+0

Bitte veröffentlichen Sie die Lösung. .. Ich brauche es –

Antwort

30

Ok, hier ist eine Komplettlösung.

Bei zwei dieser Schritte werden Sie aufgefordert, ein Kennwort zu erstellen. Sie können mit einem leeren gehen - drücken Sie einfach die Eingabetaste.

  1. Holen Sie sich OpenSSL. Es gibt ein paar Optionen hier, ich habe meine here. Ich habe die erste (Light-Version) und Visual C++ Redistributables heruntergeladen (Sie haben sie vielleicht schon, das OpenSSL-Installationsprogramm wird Sie warnen, wenn Sie sie benötigen). Ich habe OpenSSL in C: \ OpenSSL installiert und ausgewählt, um OpenSSL-DLLs in das OpenSSL-Binärdateiverzeichnis zu kopieren.
  2. Führen Sie diesen Befehl in der Standard-Windows-Terminal:

    set OPENSSL_CONF=c:\OpenSSL\bin\openssl.cfg

  3. Dann ist dieses ein (wie für Details, trat ich nur meinen Namen und E-Mail, aber wahrscheinlich auch diejenigen, die nicht für Apple erforderlich):

    c:\OpenSSL\bin\openssl.exe req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privateKey.key

  4. die neue Datei CSR.csr im Abschnitt Zertifikate auf developer.apple.com hochladen. Sie erhalten im Gegenzug eine Datei namens safari_extension.cer. diese
  5. Run:

    c:\OpenSSL\bin\openssl x509 -in safari_extension.cer -inform DER -out safari_extension_PEM.cer -outform PEM

  6. Und:

    c:\OpenSSL\bin\openssl pkcs12 -export -in safari_extension_PEM.cer -inkey privateKey.key -out bundle.p12

  7. Klicken Sie doppelt safari_extension.cer. Installieren Sie es im persönlichen Zertifikatspeicher.

  8. Doppelklicken Sie auf bundle.p12. Installieren Sie es im selben Geschäft.

Das ist es. Öffnen Sie Safari und es sollte über das Zertifikat wissen.

+0

gibt es eine quucker/einfachere Methode, wenn Sie nur ein Zertifikat erneuern müssen? Oder muss man all diese Schritte durchlaufen, um sich zu erneuern? btw ich bemerke, dass Windows ein eingebautes Tool namens CertUtil hat, das Sie durch Eingabe von certutil ausführen können, kann das nicht verwendet werden, anstatt zusätzliche Software zu installieren? – user280109

+0

Funktioniert gut! Vielen Dank! – tiltdown

+3

Das ist ein bisschen kompliziert, aber es funktioniert. Ich habe Windows7 64 Bit verwendet. Nicht sicher, ob dies erwähnenswert ist, aber wenn Sie eine 64-Bit-Version von Windows ausführen, stellen Sie sicher, dass Sie eine 64-Bit-Version der C++ - Redist und 64-Bit-OPENSSL herunterladen. Sie müssen Ihr Verzeichnis an OpenSSL-Win64 (oder wie es benannt wurde) anpassen. HINWEIS: Stellen Sie sicher, dass CMD im Administratormodus ausgeführt wird! Außerdem werden Sie in Schritt 6 aufgefordert, ein Kennwort einzugeben. Sie können es umgehen, indem Sie dem Befehl -password pass: 1234 hinzufügen. Beachten Sie auch, dass das generierte * _PEM und * .cer in dem Verzeichnis sein müssen, in dem Sie diese Befehle ausführen. –

Verwandte Themen