In diesem Artikel besprechen wir, wie man einen öffentlichen RSA-Schlüssel aus einer Datei in Java lädt. Dieses Szenario entsteht, wenn wir mit OpenSSL ein privates und öffentliches Schlüsselpaar generiert haben und es in Java für digitale Signatur- und Verifizierungszwecke verwenden möchten.
Wir können den privaten Schlüssel konvertieren mit OpenSSL in das PKCS8-Format konvertieren und es dann mit dem folgenden Code laden:
<code class="java">import java.nio.file.*; import java.security.*; import java.security.spec.*; public class PrivateKeyReader { public static PrivateKey get(String filename) throws Exception { byte[] keyBytes = Files.readAllBytes(Paths.get(filename)); PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(keyBytes); KeyFactory kf = KeyFactory.getInstance("RSA"); return kf.generatePrivate(spec); } }</code>
Um den öffentlichen Schlüssel zu laden, müssen wir ihn in ein X509-Format konvertieren. Hier ist der Codeausschnitt:
<code class="java">import java.nio.file.*; import java.security.*; import java.security.spec.*; public class PublicKeyReader { public static PublicKey get(String filename) throws Exception { byte[] keyBytes = Files.readAllBytes(Paths.get(filename)); X509EncodedKeySpec spec = new X509EncodedKeySpec(keyBytes); KeyFactory kf = KeyFactory.getInstance("RSA"); return kf.generatePublic(spec); } }</code>
Indem Sie diese Schritte befolgen, können Sie sowohl Ihre öffentlichen als auch privaten RSA-Schlüssel erfolgreich aus Dateien laden und sie für Signierungs- und Verifizierungsvorgänge verwenden.
Das obige ist der detaillierte Inhalt vonWie lade ich einen öffentlichen RSA-Schlüssel aus einer Datei in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!