mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-08-18 20:38:02 +08:00
增加BCUtil.decodeECPrivateKey方法(issue#3829@Github)
This commit is contained in:
@@ -210,8 +210,8 @@ public class SM2Test {
|
||||
final byte[] data = KeyUtil.encodeECPublicKey(publicKey);
|
||||
final String encodeHex = HexUtil.encodeStr(data);
|
||||
final String encodeB64 = Base64.encode(data);
|
||||
final PublicKey Hexdecode = KeyUtil.decodeECPoint(encodeHex, SM2Constant.SM2_CURVE_NAME);
|
||||
final PublicKey B64decode = KeyUtil.decodeECPoint(encodeB64, SM2Constant.SM2_CURVE_NAME);
|
||||
final PublicKey Hexdecode = KeyUtil.decodeECPublicKey(encodeHex, SM2Constant.SM2_CURVE_NAME);
|
||||
final PublicKey B64decode = KeyUtil.decodeECPublicKey(encodeB64, SM2Constant.SM2_CURVE_NAME);
|
||||
Assertions.assertEquals(HexUtil.encodeStr(publicKey.getEncoded()), HexUtil.encodeStr(Hexdecode.getEncoded()));
|
||||
Assertions.assertEquals(HexUtil.encodeStr(publicKey.getEncoded()), HexUtil.encodeStr(B64decode.getEncoded()));
|
||||
}
|
||||
|
@@ -54,4 +54,16 @@ public class ECKeyUtilTest {
|
||||
final PublicKey ecPublicKey = ECKeyUtil.getECPublicKey((ECPrivateKey) sm2.getPrivate(), SM2Constant.SM2_EC_SPEC);
|
||||
Assertions.assertEquals(sm2.getPublic(), ecPublicKey);
|
||||
}
|
||||
|
||||
@Test
|
||||
void encodeAndDecodeECPrivateKeyTest(){
|
||||
// 生成一个EC密钥对
|
||||
final KeyPair ecKeyPair = KeyUtil.generateKeyPair("EC");
|
||||
final ECPrivateKey ecPrivateKey = (ECPrivateKey) ecKeyPair.getPrivate();
|
||||
|
||||
final byte[] bytes = ECKeyUtil.encodeECPrivateKey(ecPrivateKey);
|
||||
final ECPrivateKey decodedPrivateKey = (ECPrivateKey) ECKeyUtil.decodeECPrivateKey(bytes, "secp256r1");
|
||||
|
||||
Assertions.assertEquals(ecPrivateKey.getD(), decodedPrivateKey.getD());
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user