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:
openssl pkcs8 -topk8 -inform PEM -outform DER -in private_key_file -nocrypt > pkcs8_key
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>
b. Segerakan KeyFactory untuk RSA:
<code class="java">KeyFactory keyFactory = KeyFactory.getInstance("RSA");</code>
c. Hasilkan kunci persendirian daripada data kunci berkod PKCS8:
<code class="java">PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(pkcs8Key); RSAPrivateKey privateKey = (RSAPrivateKey) keyFactory.generatePrivate(keySpec);</code>
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!