主な質問: エラーなしで Android で ECDH キーペアを取得する方法。
Diffie-Hellman 鍵交換アルゴリズムを実行したい。だから私は書いた:
import java.security.KeyPairGenerator;
KeyPairGenerator kpgen =KeyPairGenerator.getInstance("ECDH", "BC");
ECGenParameterSpec genspec = new ECGenParameterSpec("brainpoolp256r1");
kpgen.initialize(genspec);
KeyPair localKeyPair = kpgen.generateKeyPair();
そして、私はこのエラーを受け取ります:
java.security.NoSuchAlgorithmException: そのようなアルゴリズムはありません: プロバイダー BC の ECDH
そこで、SpongyCastle を gradle ファイルに追加し、onCreate に次の行を追加しました。
Security.addProvider(new BouncyCastleProvider());
そして、これを私の静的メソッドに:
Security.insertProviderAt(new org.spongycastle.jce.provider.BouncyCastleProvider(), 1);
しかし、その特定のクラスにキャストすることによって修正できない出力タイプの不一致に対して、まだエラーが発生します。
全体として、鍵ペアを生成し、相手側の公開鍵を取得して、鍵の合意を行いたいと考えています。