この記事では、Java でファイルから RSA 公開キーをロードする方法について説明します。このシナリオは、OpenSSL を使用して秘密鍵と公開鍵のペアを生成し、それらをデジタル署名と検証の目的で Java で使用したい場合に発生します。
秘密鍵は変換できますOpenSSL を使用して PKCS8 形式に変換し、次のコードを使用してロードします。
<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>
公開キーをロードするには、公開キーを X509 形式に変換する必要があります。コード スニペットは次のとおりです:
<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>
これらの手順に従うと、ファイルから RSA 公開キーと秘密キーの両方を正常にロードし、署名と検証の操作に使用できます。
以上がJava でファイルから RSA 公開キーをロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。