Was ist der Unterschied zwischen einem PKCS12-Keystore und einem PKCS11-Keystore?
Bin ich daran interessiert Java-NSS-Bibliotheken, und ich lese das Sonne P11 Guide. Ich bin verwirrt, auf der folgende:
Was ist der Unterschied zwischen der Verwendung einer PKCS12-keystore und ein PKCS11-keystore?
Einen keystore ist nur ein keystore, richtig? Gibt es einige Unterschiede? Können Sie Synonym verwendet werden, in jedem Aspekt?
InformationsquelleAutor der Frage Cratylus | 2011-05-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
PKCS#12 ist ein Datei-format (oft genannt .p12-oder .pfx), wo Sie speichern können, ein privater Schlüssel und Zertifikate. Es ist für die Umwandlung/Transport von Schlüsseln und Zertifikaten, vor allem. Wenn Sie exportieren einen privaten Schlüssel + Zertifikat aus Ihrem browser, ist es wahrscheinlich gehen, um sein in diesem format.
PKCS#11 ist eine Schnittstelle, in der Regel verwendet, um sprechen Sie mit hardware cryptographic Token (oft auch Smartcards oder USB-tokens, die effektiv sind smart-Karten, eingebettet in ein Lesegerät). Diese Schnittstelle hat eine Reihe von Operationen, um die Nutzung der Schlüssel und Zertifikate. Einige Platzhalter sind, können Sie sich mit dem privaten Schlüssel, den Sie enthalten, ohne den Schlüssel zu verlassen zu können, das Gerät.
Der Sinn dieser Schnittstelle ist zu behandeln, was verarbeitet die Schlüssel und Zertifikate, die als separate Einheit, ohne die kryptografischen Operationen, die PKCS#11-Angebot (insbesondere diejenigen im Zusammenhang mit der privaten Schlüssel).
Wenn Sie PKCS#11 mit NSS, sind Sie effektiv mit NSS als eine black-box-verpackt hinter der PKCS#11-Schicht (es ist tatsächlich ein software-Anbieter für das, was eine PKCS#11-hardware-token wäre). Es gibt einen kleinen Unterschied in der Art und Weise benutzt Java NSS via PKCS#11, dass es nicht erforderlich ist, eine PKCS#11-Laufzeit-Bibliothek (im Vergleich zu den anderen PKCS#11-Bibliotheken), also als solche, es ist nicht PKCS#11 streng genommen, obwohl es sehr ähnlich.
In Java, können Sie in der Lage sein, um eine
RSAPrivateKey
Beispiel aus einem PKCS#11-speichern, verwenden Sie zum signieren und entschlüsseln, ohne jemals in der Lage, um alles von Ihrem E-Modul. Der security-Anbieter das handling wird es tun, das signieren/entschlüsseln über die Bibliothek (und damit über das token, wenn die Bibliothek wird unterstützt durch ein hardware-token).Kommen wir zurück zu den
KeyStore
in Java, es ist ein API, das Ihnen erlaubt zu laden und verwenden Sie Schlüssel und Zertifikate aus Dateien (Sie bekommen verschiedene Dateiformate wie JKS, PKCS#12, PEM, je nach security-Anbieter) oder aus anderen zugrunde liegenden APIs (wie PKCS#11, mehr oder weniger verschmolzen mit NSS in der Sonne provider oder KeychainStore, wenn du auf OSX und möchte auf den Schlüsselbund wie einen KeyStore).InformationsquelleAutor der Antwort Bruno
Vom Verschiedene keystore-Typen in Java -- Übersichtdie Unterschiede zwischen PKCS12 und PKCS11 kann wie folgt beschrieben
InformationsquelleAutor der Antwort PixelsTech