ECDSA
createCrypto
创建 ECDSA 数字签名实例,默认使用 ecp_dp.SECP256K1。
| 参数值 | 说明 | API_LEVEL |
|---|---|---|
alg.ECDSA | ECDSA 数字签名 | 3.0 |
ecp_dp.SECP192K1 | SECP192K1 椭圆曲线 | 3.0 |
ecp_dp.SECP224K1 | SECP224K1 椭圆曲线 | 3.0 |
ecp_dp.SECP256K1 | SECP256K1 椭圆曲线,默认值 | 3.0 |
类型
function createCrypto(algorithmId: typeof alg.ECDSA, option?: ECDSAOptions): ECDSACrypto | undefined
参数
ECDSAData
| 类型 | 说明 |
|---|---|
number[]|ArrayBuffer|Uint8Array | 待处理的数据 |
ECDSAOptions
| 属性 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| ecp_dp_mode | typeof ecp_dp.SECP192K1|typeof ecp_dp.SECP224K1|typeof ecp_dp.SECP256K1 | 否 | - | 椭圆曲线参数,默认 ecp_dp.SECP256K1 |
| key_encrypt | boolean|number | 否 | - | 密钥是否经过硬件密钥二次加密 |
| private_key | ECDSAData | 否 | - | 已有私钥 |
| pub_key | ECDSAData | 否 | - | 已有公钥 |
ECDSACrypto
ECDSA 实例,用于创建密钥对、生成签名和验证签名。
方法
createChiper
创建 ECDSA 公钥和私钥;失败时返回 undefined
createChiper(): ECDSAKeyResult | undefined
ECDSAKeyResult
| 属性 | 类型 | 说明 |
|---|---|---|
| private_key_length | number | 私钥长度 |
| private_key | ArrayBuffer | 私钥数据 |
| pub_key_length | number | 公钥长度 |
| pub_key | ArrayBuffer | 公钥数据 |
encrypt
为数据生成数字签名
encrypt(
data: createCrypto.ECDSAData,
option: Options,
): ECDSACipherResult | undefined
Options
| 属性 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| digest_type | typeof alg.MD5|typeof alg.HMACMD5 | 是 | - | 摘要算法,支持 alg.MD5 和 alg.HMACMD5 |
ECDSACipherResult
| 属性 | 类型 | 说明 |
|---|---|---|
| data | ArrayBuffer | 数字签名数据 |
| length | number | 数据长度 |
decrypt
使用签名数据验证原始数据
decrypt(
data: createCrypto.ECDSAData,
option: Options,
): ECDSACipherResult | undefined
Options
| 属性 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| sig_data | createCrypto.ECDSAData | 是 | - | 待验证的数字签名 |
ECDSACipherResult
| 属性 | 类型 | 说明 |
|---|---|---|
| data | ArrayBuffer | 签名验证结果数据 |
| length | number |