Heim >Java >javaLernprogramm >Wie lade ich einen öffentlichen RSA-Schlüssel aus einer Datei in Java?

Wie lade ich einen öffentlichen RSA-Schlüssel aus einer Datei in Java?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-01 04:11:28608Durchsuche

How to Load an RSA Public Key from a File in Java?

Öffentlichen RSA-Schlüssel aus einer Datei laden

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.

Privaten Schlüssel laden

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>

Öffentlichen Schlüssel laden

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn