Java でデータの暗号化に使用される RSA キー ペアを生成するために使用する Sun 暗号化プロバイダーを見つけようとしています。Bouncy Castle などの他のプロバイダーがあることは知っていますが、Sun プロバイダーのいずれかを使用したいと考えています。(アルゴリズム: RSA、鍵サイズ 2048)
たとえば、私のマシンでは現在、次のプロバイダーを利用できます。
- 日 1.7
- SunRsaSign 1.7
- サンEC1.7
- SunJSSE 1.7
- SunJCE 1.7
- SunJGSS 1.7
- SunSASL 1.7
- XMLDSig 1.0
- サンPCSC 1.7
以前、データの署名に使用される RSA キー ペアを生成するために、プロバイダ SunRsaSign を使用しました。しかし、それが安全なのか、データの暗号化に SunRsaSign によって生成されたキー ペアを使用することが理にかなっているのかはわかりません。
プロバイダ SunJSSE に次のものが含まれていることに気付きました: sun.security.rsa.RSAKeyPairGenerator
私の主な質問は、暗号化 (署名ではなく)に使用される RSA キー ペアを生成するために、どの Sun プロバイダーを使用する必要があるかということです。
また、SunRsaSign によって生成された鍵ペアは、データの署名にのみ使用されるべきですか? このプロバイダーの名前には「署名」という単語が含まれているため、署名を目的としたものだと思いましたが、今はよくわかりません。
最後に、SunJSSE によって生成された鍵ペアを一般的な暗号化に使用することは安全ですか? もしそうなら、SunJSSE によって生成された RSA と SunJSSE によって生成された RSA キーペアの違いは何ですか?