Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Memuatkan Kunci Peribadi RSA daripada Fail dalam Java untuk Tandatangan SAML?

DDD
Lepaskan: 2024-10-25 06:45:28
asal
780 orang telah melayarinya

How to Load an RSA Private Key from File in Java for SAML Signing?

Cara Memuatkan Kunci Peribadi RSA Dari Fail

Apabila cuba menandatangani mesej Perkhidmatan Pengguna Penegasan SAML 1.1 menggunakan kunci peribadi RSA, ralat berikut boleh berlaku:

<code class="java">java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: invalid key format</code>
Salin selepas log masuk

Ralat ini menunjukkan bahawa kunci persendirian tidak berada dalam format yang betul. Kunci peribadi RSA biasanya disimpan dalam format PEM, tetapi Java memerlukannya dalam format PKCS8.

Untuk menukar kunci peribadi RSA daripada format PEM kepada PKCS8, anda boleh menggunakan arahan berikut:

<code class="bash">openssl pkcs8 -topk8 -inform PEM -outform DER -in private_key_file  -nocrypt > pkcs8_key</code>
Salin selepas log masuk

Setelah anda menukar kunci persendirian kepada format PKCS8, anda boleh memuatkannya ke dalam Java menggunakan kod berikut:

<code class="java">byte[] privKeyBytes = Files.readAllBytes(Paths.get("pkcs8_key"));
KeySpec ks = new PKCS8EncodedKeySpec(privKeyBytes);
RSAPrivateKey privKey = (RSAPrivateKey) KeyFactory.getInstance("RSA").generatePrivate(ks);</code>
Salin selepas log masuk

Anda kini boleh menggunakan privKey untuk menandatangani mesej SAML.

Atas ialah kandungan terperinci Bagaimana untuk Memuatkan Kunci Peribadi RSA daripada Fail dalam Java untuk Tandatangan SAML?. 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
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!