说明
最近项目需要使用椭圆曲线实现ECDHE秘钥协商算法,然后遇到了一些坑,在这里做个记录
示例代码
引入依赖
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.62</version>
<scope>provided</scope>
</dependency>
其实计算的过程就是参考公司钥对生成的过程。
公私钥对的生成代码如下:
@Test
public void case6() throws Exception{
// 曲线参数
X9ECParameters ecp = SECNamedCurves.getByName("secp256r1");
ECDomainParameters domainParameters = new ECDomainParameters(ecp.getCurve(), ecp.getG(), ecp.getN()