java 生成 ECDSA 密钥对
时间: 2023-10-14 17:51:53 浏览: 268
在 Java 中生成 ECDSA 密钥对可以使用 `KeyPairGenerator` 类和 `ECGenParameterSpec` 类。下面是一个示例代码:
```java
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.spec.ECGenParameterSpec;
public class ECDSAGenerateKeyPairExample {
public static void main(String[] args) {
try {
// 创建一个ECDSA密钥对生成器
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("EC");
// 指定密钥对的算法和曲线参数
ECGenParameterSpec ecSpec = new ECGenParameterSpec("secp256r1"); // 可根据需求选择其他曲线,如secp384r1、secp521r1等
keyPairGenerator.initialize(ecSpec);
// 生成密钥对
KeyPair keyPair = keyPairGenerator.generateKeyPair();
System.out.println("公钥: " + keyPair.getPublic());
System.out.println("私钥: " + keyPair.getPrivate());
} catch (NoSuchAlgorithmException | NoSuchProviderException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
此代码使用 `secp256r1` 曲线生成 ECDSA 密钥对。你可以根据需要选择其他曲线,如 `secp384r1`、`secp521r1` 等。
阅读全文