0

主要问题:如何在没有错误的情况下在 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);

但是我仍然会因为输出类型的不一致而出现错误,这些错误无法通过强制转换为该特定类来修复。

总的来说,我想生成一个密钥对,获取对方的公钥并进行密钥协商。

4

0 回答 0