微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

试图在 android 中获取 ECDH 密钥对,我遇到了这个错误:java.security.NoSuchAlgorithmException: no such algorithm: ECDH for provider BC

如何解决试图在 android 中获取 ECDH 密钥对,我遇到了这个错误:java.security.NoSuchAlgorithmException: no such algorithm: ECDH for provider BC

主要问题:如何在 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: 没有这样的算法:ECDH for 提供商 BC

所以我将 spongycastle 添加到 gradle 文件中,然后在 onCreate 中添加了这一行:

Security.addProvider(new BouncyCastleProvider());

这是我的静态方法

Security.insertProviderAt(new org.spongycastle.jce.provider.BouncyCastleProvider(),1);

但我仍然收到输出类型不一致的错误,无法通过强制转换为该特定类来修复。

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。