3

RSA を指定してjava.security.interfaces.RSAPrivateKeyのインスタンスを作成するにはどうすればよいですか(BigIntegersと仮定しましょう)。(ここでは、プライベート指数、パブリック指数、およびRSA モジュラスを示します。)denden=pq

これは本当に簡単だと思いましたが、ドキュメントやインターネットでは一般的に何も見つかりません。

それが助けになるなら、私はすでにBouncyCastleをインストールしています。

明確にするために編集d:新しいランダムキーを作成したりキーを読み取ったりするのではなく、インターフェースを実装し、eおよび/またはnコンストラクタへの引数(またはファクトリ関数などへの引数)として取るクラスを探していますPKCS* 形式のファイルから。

4

1 に答える 1

7

さて、秘密指数とモジュラス (秘密鍵に必要なすべて) を指定して作成する方法は次のとおりです。

    KeyFactory keyFactory = KeyFactory.getInstance("RSA");

    RSAPrivateKeySpec privateKeySpec = new RSAPrivateKeySpec(
            new BigInteger("57791d5430d593164082036ad8b29fb157791d5430d593164082036ad8b29fb157791d5430d593164082036ad8b29fb157791d5430d593164082036ad8b29fb1", 16),
            new BigInteger("57791d5430d593164082036ad8b29fb157791d5430d593164082036ad8b29fb157791d5430d593164082036ad8b29fb157791d5430d593164082036ad8b29fb1", 16)
    );

    RSAPrivateKey privateKey = (RSAPrivateKey) keyFactory.generatePrivate(privateKeySpec);
于 2013-07-07T23:32:30.237 に答える