public class SmUtils extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
static org.bouncycastle.asn1.ASN1ObjectIdentifier |
ID_SM2_PUBLIC_KEY_PARAM
SM2国密算法公钥参数的Oid标识
|
static String |
SM2_CURVE_NAME
SM2默认曲线
|
static org.bouncycastle.crypto.params.ECDomainParameters |
SM2_DOMAIN_PARAMS
SM2推荐曲线参数(来自https://github.com/ZZMarquis/gmhelper)
|
| 构造器和说明 |
|---|
SmUtils() |
| 限定符和类型 | 方法和说明 |
|---|---|
static byte[] |
changeC1C2C3ToC1C3C2(byte[] c1c2c3,
org.bouncycastle.crypto.params.ECDomainParameters ecDomainParameters)
bc加解密使用旧标c1||c2||c3,此方法在加密后调用,将结果转化为c1||c3||c2
|
static byte[] |
changeC1C3C2ToC1C2C3(byte[] c1c3c2,
org.bouncycastle.crypto.params.ECDomainParameters ecDomainParameters)
bc加解密使用旧标c1||c3||c2,此方法在解密前调用,将密文转化为c1||c2||c3再去解密
|
static byte[] |
rsAsn1ToPlain(byte[] rsDer)
BC的SM3withSM2签名得到的结果的rs是asn1格式的,这个方法转化成直接拼接r||s
|
static byte[] |
rsPlainToAsn1(byte[] sign)
BC的SM3withSM2验签需要的rs是asn1格式的,这个方法将直接拼接r||s的字节数组转化成asn1格式
|
static SM2 |
sm2() |
static SM2 |
sm2(byte[] privateKey,
byte[] publicKey) |
static SM2 |
sm2(PrivateKey privateKey,
PublicKey publicKey) |
static SM3 |
sm3() |
static SM4 |
sm4() |
static SM4 |
sm4(Key key) |
public static final org.bouncycastle.crypto.params.ECDomainParameters SM2_DOMAIN_PARAMS
public static final org.bouncycastle.asn1.ASN1ObjectIdentifier ID_SM2_PUBLIC_KEY_PARAM
public static SM2 sm2() throws GeneralSecurityException
public static SM2 sm2(byte[] privateKey, byte[] publicKey) throws GeneralSecurityException
public static SM2 sm2(PrivateKey privateKey, PublicKey publicKey) throws GeneralSecurityException
public static SM3 sm3() throws NoSuchAlgorithmException
public static SM4 sm4() throws NoSuchAlgorithmException
public static byte[] rsAsn1ToPlain(byte[] rsDer)
throws IOException
rsDer - rs in asn1 formatIOExceptionpublic static byte[] rsPlainToAsn1(byte[] sign)
throws IOException
sign - in plain byte arrayIOExceptionpublic static byte[] changeC1C2C3ToC1C3C2(byte[] c1c2c3,
org.bouncycastle.crypto.params.ECDomainParameters ecDomainParameters)
c1c2c3 - 加密后的bytes,顺序为C1C2C3ecDomainParameters - ECDomainParameterspublic static byte[] changeC1C3C2ToC1C2C3(byte[] c1c3c2,
org.bouncycastle.crypto.params.ECDomainParameters ecDomainParameters)
c1c3c2 - 加密后的bytes,顺序为C1C3C2ecDomainParameters - ECDomainParametersCopyright © 2024 fossc. All rights reserved.