Ich versuche PKCS12 Zertifikat mit Keytool in Java zu importieren. Es funktioniert nur, wenn das Schlüsselspeicherkennwort mit dem Zertifikatkennwort übereinstimmt. Ist es zwingend erforderlich, das PKCS12-Zertifikat-Passwort auch für den Keystore zu verwenden?Sollte Keystore-Kennwort dasselbe wie PKCS12-Zertifikatkennwort sein?
Antwort
Von den documentation of keytool (nur Optionen relevant zu dieser Frage sind aufgeführt):
keytool -importkeystore [-srcstorepasssrcstorepass] [-deststorepassdeststorepass] {- srcaliassrcalien {-salediasdestalias} [-srckeypasssrckeypass]} [-destkeypassdestkeypass] ...
Importiert eine einzelne oder alle Einträge aus einer Quelle zu einem Schlüsselspeicher Ziel Schlüsselspeicher.
Wenn die Option -srcalias angegeben ist, importiert der Befehl den einzelnen Eintrag , der durch den Alias identifiziert wird, in den Ziel-Keystore. [...] Wenn der Quelleintrag durch ein Kennwort geschützt ist, wird srckeypass verwendet, um den Eintrag wiederherzustellen. Wenn srckeypass nicht angegeben ist, versucht der Befehl keytool srcstorepass , um den Eintrag wiederherzustellen. Wenn srcstorepass entweder nicht angegeben ist oder falsch ist, wird der Benutzer zur Eingabe eines Kennworts aufgefordert. Das Ziel Eintrag ist mit destkeypass geschützt. Wenn destkeypass nicht angegeben wird, wird der Zieleintrag mit dem Quelleintrag Kennwort geschützt. Zum Beispiel, die meisten Tools von Drittanbietern erfordernstorepassund keypassin einem PKCS # 12-Schlüsselspeicher gleich zu sein. Um einen PKCS # 12 Keystore für diese Werkzeuge zu erstellen, geben Sie immer einen -destkeypass an, der wie der -deststorepass sein soll.
Wenn die -srcalias Option nicht vorhanden ist, dann werden alle Einträge in der Quelle Schlüsselspeicher werden in das Zielschlüsselspeicher importiert. [...] Wenn der Quelleintrag durch ein Kennwort geschützt ist, wird srcstorepass verwendet, um den Eintrag wiederherzustellen. Wenn srcstorepass entweder nicht angegeben ist oder falsch ist, wird der Benutzer zur Eingabe eines Kennworts aufgefordert. [...] Der Zieleintrag ist geschützt mit dem Quelleingabe-Passwort.So
, ob es zwingend notwendig ist, um das PKCS12 Zertifikat Passwort für Schlüsselspeicher verwendet wird, hängt auch von der Anwendung, die den Schlüsselspeicher zu lesen versuchen.
Wenn Sie JSSE anhand der Java-Systemeigenschaften über den Keystore informieren, gibt es keine Eigenschaft zum Angeben eines bestimmten Schlüsselalias oder seines Kennworts. In diesem Fall haben Sie keine andere Wahl, als die Passwörter gleich zu machen.
- 1. Kann Domain-Objekt dasselbe wie Persistenzobjekt sein?
- 2. asp.net mvc stark typisierte Helfer - sollte Ihr Render-Binding-Objekt dasselbe sein wie Ihr Buchungsobjekt?
- 3. Pfadkomponente sollte '/' sein
- 4. Sollte `System.IO.Path` konkret sein?
- 5. Wird System.Numerics.BigInteger unveränderlich sein? Sollte es sein?
- 6. Sollte CIII gleich sein?
- 7. Wie hoch sollte mein Ajax-Code sein?
- 8. Reihenfolge sollte wie angegeben sein! Fehler
- 9. Wie sollte eine dynamische Website strukturiert sein?
- 10. .htaccess funktioniert nicht wie es sein sollte
- 11. Wie groß sollte ein Sprachvokabular sein?
- 12. Wie sollte Redux State Anatomie sein?
- 13. Wie spezifisch sollte mein Abnahmetestbeispiel sein?
- 14. Sollte ein Software-Service vollständig eigenständig sein oder kann/sollte er Teil einer größeren Komponente sein?
- 15. Sollte malloc nicht asynchron sein?
- 16. Sollte "constexpr" auch "noexcept" sein?
- 17. Sollte hashmap Schlüssel unveränderlich sein?
- 18. Sollte dbnavigator.xml unter gitignore sein
- 19. Sollte meine Sitzungsklasse statisch sein?
- 20. Sollte WebException.Response.GetResponseStream() close/dises sein?
- 21. Sollte dieser Fehler behoben sein?
- 22. Sollte eine BLL zustandslos sein?
- 23. ProgressDialog sollte nicht stornierbar sein
- 24. Sollte Sortieralgorithmus dasselbe Element in der Vergleichsfunktion übergeben
- 25. Java/Jython Hypothese: Konstruktor sollte öffentlich sein
- 26. Was sollte in meinen View Models sein?
- 27. Bildhöhe sollte Höhe des Elternelements sein
- 28. Sollte ein Stack-Objekt vergleichbar sein
- 29. getCurrentSession(). Flush() sollte in Dao sein
- 30. sollte ExecutorService statische und globale sein
Welchen Fehler sehen Sie, wenn die Keystore- und Zertifikatskennwörter nicht übereinstimmen? – Leon
Es wurde kein expliziter Fehler ausgegeben. Das Zertifikat wird installiert, aber meine Anwendung wird nicht angezeigt. – user5478656