Rumah  >  Artikel  >  Java  >  Bagaimana untuk Memuatkan Kunci Awam RSA dari Fail di Java?

Bagaimana untuk Memuatkan Kunci Awam RSA dari Fail di Java?

Patricia Arquette
Patricia Arquetteasal
2024-11-01 04:11:28509semak imbas

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

Muat Kunci Awam RSA daripada Fail

Dalam artikel ini, kita akan membincangkan cara memuatkan kunci awam RSA daripada fail dalam Java. Senario ini timbul apabila kami telah menghasilkan pasangan kunci peribadi dan awam menggunakan OpenSSL dan mahu menggunakannya dalam Java untuk tujuan tandatangan dan pengesahan digital.

Memuatkan Kunci Peribadi

Kami boleh menukar kunci peribadi ke format PKCS8 menggunakan OpenSSL dan kemudian muatkannya menggunakan kod berikut:

<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>

Memuatkan Kunci Awam

Untuk memuatkan kunci awam, kita perlu menukarnya kepada format X509. Berikut ialah coretan kod:

<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>

Dengan mengikut langkah ini, anda boleh berjaya memuatkan kedua-dua kunci awam dan peribadi RSA anda daripada fail dan menggunakannya untuk operasi tandatangan dan pengesahan.

Atas ialah kandungan terperinci Bagaimana untuk Memuatkan Kunci Awam RSA dari Fail di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn