PKCS8 形式のファイルから RSA 秘密キーをロードするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-10-25 03:37:02
オリジナル
626 人が閲覧しました

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

PKCS8 形式変換を使用してファイルから RSA 秘密キーをロードする方法

RSA を使用して XML ドキュメントに署名しようとすると、エラーが発生する場合がありますPKCS8 形式ではない秘密キー。この問題を解決するには、次の手順に従います。

  1. 秘密キーを PKCS8 形式に変換する: OpenSSL ユーティリティを使用して、既存の PEM エンコードされた秘密キーを PKCS8 DER 形式に変換します。次のコマンドを実行します:
openssl pkcs8 -topk8 -inform PEM -outform DER -in private_key_file  -nocrypt > pkcs8_key
ログイン後にコピー
  1. PKCS8 キーを Java にロードします:

    a。 PKCS8 でエンコードされた秘密キーを保持する byte[] を作成します:

    <code class="java">byte[] pkcs8Key = Files.readAllBytes(Path.of("PKCS8_key"));</code>
    ログイン後にコピー

    b. RSA の KeyFactory をインスタンス化します:

    <code class="java">KeyFactory keyFactory = KeyFactory.getInstance("RSA");</code>
    ログイン後にコピー

    c. PKCS8 でエンコードされた鍵データから秘密鍵を生成します:

    <code class="java">PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(pkcs8Key);
    RSAPrivateKey privateKey = (RSAPrivateKey) keyFactory.generatePrivate(keySpec);</code>
    ログイン後にコピー

次の手順に従うことで、RSA 秘密鍵を PKCS8 形式で正常にロードし、それを使用して XML に署名できます。書類。秘密キーの変換に使用されるコマンドは、OpenSSL バージョン 1.0.2 以降でのみ使用できることに注意してください。

以上がPKCS8 形式のファイルから RSA 秘密キーをロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!