Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Memuatkan Kunci Peribadi RSA dari Fail dalam Format PKCS8?

Susan Sarandon
Lepaskan: 2024-10-25 03:37:02
asal
626 orang telah melayarinya

How to Load an RSA Private Key from File in PKCS8 Format?

Cara Memuatkan Kunci Peribadi RSA Dari Fail Menggunakan Penukaran Format PKCS8

Anda boleh menghadapi ralat semasa cuba menandatangani dokumen XML menggunakan RSA kunci persendirian yang tidak dalam format PKCS8. Untuk menyelesaikan isu ini, ikut langkah berikut:

  1. Tukar Kunci Peribadi kepada Format PKCS8: Gunakan utiliti OpenSSL untuk menukar kunci peribadi yang dikodkan PEM sedia ada kepada format PKCS8 DER. Jalankan arahan berikut:
openssl pkcs8 -topk8 -inform PEM -outform DER -in private_key_file  -nocrypt > pkcs8_key
Salin selepas log masuk
  1. Muatkan Kunci PKCS8 dalam Java:

    a. Cipta bait[] untuk memegang kunci peribadi yang dikodkan PKCS8:

    <code class="java">byte[] pkcs8Key = Files.readAllBytes(Path.of("PKCS8_key"));</code>
    Salin selepas log masuk

    b. Segerakan KeyFactory untuk RSA:

    <code class="java">KeyFactory keyFactory = KeyFactory.getInstance("RSA");</code>
    Salin selepas log masuk

    c. Hasilkan kunci persendirian daripada data kunci berkod PKCS8:

    <code class="java">PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(pkcs8Key);
    RSAPrivateKey privateKey = (RSAPrivateKey) keyFactory.generatePrivate(keySpec);</code>
    Salin selepas log masuk

Dengan mengikuti langkah ini, anda boleh berjaya memuatkan kunci persendirian RSA dalam format PKCS8 dan menggunakannya untuk menandatangani XML anda dokumen. Ambil perhatian bahawa arahan yang digunakan untuk menukar kunci persendirian hanya tersedia dalam OpenSSL versi 1.0.2 dan lebih baru.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!