public class ECKeyUtil extends Object
| Constructor and Description |
|---|
ECKeyUtil() |
| Modifier and Type | Method and Description |
|---|---|
static PrivateKey |
decodeECPrivateKey(byte[] d,
String curveName)
解码恢复EC私钥,支持Base64和Hex编码,(基于BouncyCastle)
|
static PrivateKey |
decodeECPrivateKey(String d,
String curveName)
解码恢复EC私钥,支持Base64和Hex编码,(基于BouncyCastle)
|
static PublicKey |
decodeECPublicKey(byte[] encodeByte,
String curveName)
解码恢复EC压缩公钥,支持Base64和Hex编码,(基于BouncyCastle)
|
static PublicKey |
decodeECPublicKey(String encode,
String curveName)
解码恢复EC压缩公钥,支持Base64和Hex编码,(基于BouncyCastle)
见:https://www.cnblogs.com/xinzhao/p/8963724.html |
static byte[] |
encodeECPrivateKey(PrivateKey privateKey)
只获取私钥里的d,32位字节
|
static byte[] |
encodeECPublicKey(PublicKey publicKey)
编码压缩EC公钥(基于BouncyCastle),即Q值
见:https://www.cnblogs.com/xinzhao/p/8963724.html |
static byte[] |
encodeECPublicKey(PublicKey publicKey,
boolean isCompressed)
编码压缩EC公钥(基于BouncyCastle),即Q值
见:https://www.cnblogs.com/xinzhao/p/8963724.html |
static PrivateKey |
generatePrivateKey(org.bouncycastle.asn1.ASN1Encodable privateKey)
将SM2算法的
ASN1Encodable格式私钥 生成为 PrivateKey |
static PrivateKey |
generateSm2PrivateKey(byte[] privateKeyBytes)
生成SM2私钥,支持包括:
D值
PKCS#8
PKCS#1
OpenSSH格式
|
static PublicKey |
generateSm2PublicKey(byte[] publicKeyBytes)
生成SM2公钥,支持包括:
Q值
X.509
PKCS#1
|
static PublicKey |
generateSm2PublicKey(byte[] x,
byte[] y)
尝试解析转换各种类型公钥为
ECPublicKeyParameters,支持包括: |
static PublicKey |
getECPublicKey(org.bouncycastle.jce.interfaces.ECPrivateKey privateKey,
org.bouncycastle.jce.spec.ECParameterSpec spec)
根据私钥获取EC公钥
|
static org.bouncycastle.crypto.params.ECPublicKeyParameters |
getPublicParams(org.bouncycastle.crypto.params.ECPrivateKeyParameters privateKeyParameters)
根据私钥参数获取公钥参数
|
static org.bouncycastle.math.ec.ECPoint |
getQFromD(BigInteger d,
org.bouncycastle.jce.spec.ECParameterSpec spec)
根据私钥D值获取公钥的点坐标(Q值)
|
static org.bouncycastle.crypto.params.AsymmetricKeyParameter |
toParams(Key key)
密钥转换为AsymmetricKeyParameter
|
static org.bouncycastle.crypto.params.ECPrivateKeyParameters |
toPrivateParams(BigInteger d,
org.bouncycastle.crypto.params.ECDomainParameters domainParameters)
转换为 ECPrivateKeyParameters
|
static org.bouncycastle.crypto.params.ECPrivateKeyParameters |
toPrivateParams(byte[] d,
org.bouncycastle.crypto.params.ECDomainParameters domainParameters)
转换为 ECPrivateKeyParameters
|
static org.bouncycastle.crypto.params.ECPrivateKeyParameters |
toPrivateParams(PrivateKey privateKey)
私钥转换为
ECPrivateKeyParameters |
static org.bouncycastle.crypto.params.ECPrivateKeyParameters |
toPrivateParams(String d,
org.bouncycastle.crypto.params.ECDomainParameters domainParameters)
转换为 ECPrivateKeyParameters
|
static org.bouncycastle.crypto.params.ECPublicKeyParameters |
toPublicParams(BigInteger x,
BigInteger y,
org.bouncycastle.crypto.params.ECDomainParameters domainParameters)
转换为ECPublicKeyParameters
|
static org.bouncycastle.crypto.params.ECPublicKeyParameters |
toPublicParams(byte[] xBytes,
byte[] yBytes,
org.bouncycastle.crypto.params.ECDomainParameters domainParameters)
转换为ECPublicKeyParameters
|
static org.bouncycastle.crypto.params.ECPublicKeyParameters |
toPublicParams(byte[] pointEncoded,
org.bouncycastle.crypto.params.ECDomainParameters domainParameters)
转换为ECPublicKeyParameters
|
static org.bouncycastle.crypto.params.ECPublicKeyParameters |
toPublicParams(org.bouncycastle.math.ec.ECPoint point,
org.bouncycastle.crypto.params.ECDomainParameters domainParameters)
转换为ECPublicKeyParameters
|
static org.bouncycastle.crypto.params.ECPublicKeyParameters |
toPublicParams(PublicKey publicKey)
公钥转换为
ECPublicKeyParameters |
static org.bouncycastle.crypto.params.ECPublicKeyParameters |
toPublicParams(String pointEncoded,
org.bouncycastle.crypto.params.ECDomainParameters domainParameters)
转换为ECPublicKeyParameters
|
static org.bouncycastle.crypto.params.ECPublicKeyParameters |
toPublicParams(String x,
String y,
org.bouncycastle.crypto.params.ECDomainParameters domainParameters)
转换为ECPublicKeyParameters
|
static org.bouncycastle.crypto.params.ECPrivateKeyParameters |
toSm2PrivateParams(BigInteger d)
转换为 ECPrivateKeyParameters
|
static org.bouncycastle.crypto.params.ECPrivateKeyParameters |
toSm2PrivateParams(byte[] d)
转换为 ECPrivateKeyParameters
|
static org.bouncycastle.crypto.params.ECPrivateKeyParameters |
toSm2PrivateParams(String d)
转换为 ECPrivateKeyParameters
|
static org.bouncycastle.crypto.params.ECPublicKeyParameters |
toSm2PublicParams(byte[] q)
转换为 ECPublicKeyParameters
|
static org.bouncycastle.crypto.params.ECPublicKeyParameters |
toSm2PublicParams(byte[] xBytes,
byte[] yBytes)
转换为SM2的ECPublicKeyParameters
|
static org.bouncycastle.crypto.params.ECPublicKeyParameters |
toSm2PublicParams(String q)
转换为 ECPublicKeyParameters
|
static org.bouncycastle.crypto.params.ECPublicKeyParameters |
toSm2PublicParams(String x,
String y)
转换为SM2的ECPublicKeyParameters
|
public static org.bouncycastle.crypto.params.ECPublicKeyParameters getPublicParams(org.bouncycastle.crypto.params.ECPrivateKeyParameters privateKeyParameters)
privateKeyParameters - 私钥参数public static PublicKey getECPublicKey(org.bouncycastle.jce.interfaces.ECPrivateKey privateKey, org.bouncycastle.jce.spec.ECParameterSpec spec)
privateKey - EC私钥spec - 密钥规范public static org.bouncycastle.math.ec.ECPoint getQFromD(BigInteger d, org.bouncycastle.jce.spec.ECParameterSpec spec)
d - 私钥d值spec - 密钥规范public static byte[] encodeECPrivateKey(PrivateKey privateKey)
privateKey - PublicKey,必须为org.bouncycastle.jce.interfaces.ECPrivateKeypublic static PrivateKey decodeECPrivateKey(String d, String curveName)
d - 私钥d值(Base64或Hex格式)curveName - EC曲线名,例如SM2Constant.SM2_DOMAIN_PARAMSpublic static PrivateKey decodeECPrivateKey(byte[] d, String curveName)
d - 私钥d值curveName - EC曲线名,例如SM2Constant.SM2_DOMAIN_PARAMSpublic static byte[] encodeECPublicKey(PublicKey publicKey)
publicKey - PublicKey,必须为org.bouncycastle.jcajce.provider.asymmetric.ec.BCECPublicKeypublic static byte[] encodeECPublicKey(PublicKey publicKey, boolean isCompressed)
publicKey - PublicKey,必须为org.bouncycastle.jcajce.provider.asymmetric.ec.BCECPublicKeyisCompressed - 是否压缩public static PublicKey decodeECPublicKey(String encode, String curveName)
encode - 压缩公钥curveName - EC曲线名public static PublicKey decodeECPublicKey(byte[] encodeByte, String curveName)
encodeByte - 压缩公钥curveName - EC曲线名,例如SM2Constant.SM2_DOMAIN_PARAMSpublic static org.bouncycastle.crypto.params.AsymmetricKeyParameter toParams(Key key)
key - PrivateKey或者PublicKeypublic static org.bouncycastle.crypto.params.ECPublicKeyParameters toSm2PublicParams(byte[] q)
q - 公钥Q值public static org.bouncycastle.crypto.params.ECPublicKeyParameters toSm2PublicParams(String q)
q - 公钥Q值public static org.bouncycastle.crypto.params.ECPublicKeyParameters toSm2PublicParams(String x, String y)
x - 公钥Xy - 公钥Ypublic static org.bouncycastle.crypto.params.ECPublicKeyParameters toSm2PublicParams(byte[] xBytes,
byte[] yBytes)
xBytes - 公钥XyBytes - 公钥Ypublic static org.bouncycastle.crypto.params.ECPublicKeyParameters toPublicParams(String x, String y, org.bouncycastle.crypto.params.ECDomainParameters domainParameters)
x - 公钥Xy - 公钥YdomainParameters - ECDomainParametersnull则返回nullpublic static org.bouncycastle.crypto.params.ECPublicKeyParameters toPublicParams(byte[] xBytes,
byte[] yBytes,
org.bouncycastle.crypto.params.ECDomainParameters domainParameters)
xBytes - 公钥XyBytes - 公钥YdomainParameters - ECDomainParameters曲线参数public static org.bouncycastle.crypto.params.ECPublicKeyParameters toPublicParams(BigInteger x, BigInteger y, org.bouncycastle.crypto.params.ECDomainParameters domainParameters)
x - 公钥Xy - 公钥YdomainParameters - ECDomainParameterspublic static org.bouncycastle.crypto.params.ECPublicKeyParameters toPublicParams(String pointEncoded, org.bouncycastle.crypto.params.ECDomainParameters domainParameters)
pointEncoded - 被编码的曲线坐标点domainParameters - ECDomainParameterspublic static org.bouncycastle.crypto.params.ECPublicKeyParameters toPublicParams(byte[] pointEncoded,
org.bouncycastle.crypto.params.ECDomainParameters domainParameters)
pointEncoded - 被编码的曲线坐标点domainParameters - ECDomainParameterspublic static org.bouncycastle.crypto.params.ECPublicKeyParameters toPublicParams(org.bouncycastle.math.ec.ECPoint point,
org.bouncycastle.crypto.params.ECDomainParameters domainParameters)
point - 曲线坐标点domainParameters - ECDomainParameterspublic static org.bouncycastle.crypto.params.ECPublicKeyParameters toPublicParams(PublicKey publicKey)
ECPublicKeyParameterspublicKey - 公钥,传入null返回nullECPublicKeyParameters或nullpublic static org.bouncycastle.crypto.params.ECPrivateKeyParameters toSm2PrivateParams(String d)
d - 私钥d值16进制字符串public static org.bouncycastle.crypto.params.ECPrivateKeyParameters toSm2PrivateParams(byte[] d)
d - 私钥d值public static org.bouncycastle.crypto.params.ECPrivateKeyParameters toSm2PrivateParams(BigInteger d)
d - 私钥d值public static org.bouncycastle.crypto.params.ECPrivateKeyParameters toPrivateParams(String d, org.bouncycastle.crypto.params.ECDomainParameters domainParameters)
d - 私钥d值16进制字符串domainParameters - ECDomainParameterspublic static org.bouncycastle.crypto.params.ECPrivateKeyParameters toPrivateParams(byte[] d,
org.bouncycastle.crypto.params.ECDomainParameters domainParameters)
d - 私钥d值domainParameters - ECDomainParameterspublic static org.bouncycastle.crypto.params.ECPrivateKeyParameters toPrivateParams(BigInteger d, org.bouncycastle.crypto.params.ECDomainParameters domainParameters)
d - 私钥d值domainParameters - ECDomainParameterspublic static org.bouncycastle.crypto.params.ECPrivateKeyParameters toPrivateParams(PrivateKey privateKey)
ECPrivateKeyParametersprivateKey - 私钥,传入null返回nullECPrivateKeyParameters或nullpublic static PrivateKey generatePrivateKey(org.bouncycastle.asn1.ASN1Encodable privateKey)
ASN1Encodable格式私钥 生成为 PrivateKeyprivateKey - ASN1Encodable格式的私钥PrivateKeypublic static PrivateKey generateSm2PrivateKey(byte[] privateKeyBytes)
privateKeyBytes - 私钥ECPrivateKeyParameterspublic static PublicKey generateSm2PublicKey(byte[] publicKeyBytes)
publicKeyBytes - 公钥ECPublicKeyParameterspublic static PublicKey generateSm2PublicKey(byte[] x, byte[] y)
ECPublicKeyParameters,支持包括:x - 坐标Xy - 坐标yECPublicKeyParametersCopyright © 2025. All rights reserved.