Heim > Java > javaLernprogramm > Hauptteil

Wie lade ich einen privaten RSA-Schlüssel aus einer Datei in Java zur XML-Signaturüberprüfung?

Patricia Arquette
Freigeben: 2024-10-25 09:42:28
Original
736 Leute haben es durchsucht

How to Load an RSA Private Key from a File in Java for XML Signature Verification?

Laden des privaten RSA-Schlüssels aus einer Datei in Java

Bei der Verarbeitung sicherheitsrelevanter Daten ist es von entscheidender Bedeutung, die Authentizität digitaler Daten überprüfen zu können Unterschriften. In diesem Fall besteht die Aufgabe darin, einen privaten RSA-Schlüssel aus einer Datei zu laden, um eine XML-Signatur zu überprüfen.

Um dies zu erreichen, befolgen Sie diese Schritte:

1. Lesen Sie die private Schlüsseldatei als Bytes:

<code class="java">String keyPath = "mykey.pem";
File privKeyFile = new File(keyPath);
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(privKeyFile));
byte[] privKeyBytes = new byte[(int) privKeyFile.length()];
bis.read(privKeyBytes);
bis.close();</code>
Nach dem Login kopieren

2. Konvertieren Sie den privaten Schlüssel in das PKCS8-Format (optional)

Wenn Ihr privater Schlüssel nicht bereits im PKCS8-Format vorliegt, konvertieren Sie ihn mit diesem Befehl:

<code class="bash">openssl pkcs8 -topk8 -inform PEM -outform DER -in private_key_file -nocrypt > pkcs8_key</code>
Nach dem Login kopieren

Lesen Sie dann den konvertierten Schlüssel mit folgendem Code:

<code class="java">byte[] convertedPrivKeyBytes = Files.readAllBytes(Paths.get("pkcs8_key"));</code>
Nach dem Login kopieren

3. Generieren Sie den privaten RSA-Schlüssel:

<code class="java">KeyFactory keyFactory = KeyFactory.getInstance("RSA");
KeySpec ks = new PKCS8EncodedKeySpec(convertedPrivKeyBytes);
RSAPrivateKey privKey = (RSAPrivateKey) keyFactory.generatePrivate(ks);</code>
Nach dem Login kopieren

4. Überprüfen Sie die digitale Signatur:

Sobald Sie über den privaten RSA-Schlüssel verfügen, können Sie ihn verwenden, um die Signatur des SAMLResponse-Objekts zu überprüfen:

<code class="java">samlResponse.sign(Signature.getInstance("SHA1withRSA").toString(), privKey, certs);</code>
Nach dem Login kopieren

Wenn Sie diese Schritte befolgen, können Sie kann erfolgreich einen privaten RSA-Schlüssel aus einer Datei laden und ihn zur Überprüfung digitaler Signaturen verwenden.

Das obige ist der detaillierte Inhalt vonWie lade ich einen privaten RSA-Schlüssel aus einer Datei in Java zur XML-Signaturüberprüfung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!