init files

This commit is contained in:
Cheney
2021-06-29 11:32:24 +08:00
commit bbf0cb2fb9
337 changed files with 167274 additions and 0 deletions
@@ -0,0 +1,117 @@
package com.sunyard.inf.customize;
import com.sunyard.cert.X509;
public interface SydHAApi {
/**
* 通过机构实体ID获得使用者的SM2公钥(DER编码)
* @param pUserID 本机构实体ID,最大长度为16位数字,即设备安装生成实体时的实体机构输入栏的内容
* @param nKeyType 密钥类型,0:签名公钥,1:加密公钥,如无加解密业务,传入0即可
* @return 输出的公钥串,DER编码,HEX格式,此公钥是机构自己公钥证书的公钥
*/
public String SYD_SM2_Get_Id_PublicKey_HA (
String pUserID,
int nKeyType
);
/**
* 通过证书DN获得机构的公钥(DER编码),联调前需要导入公钥证书
* @param Dn 证书的DN,每个证书有唯一的DN
* @param nKeyType 密钥类型,0:签名公钥,1:加密公钥,如无加解密业务,传入0即可
* @return 输出的公钥串,DER编码,HEX格式,此公钥为他方机构的公钥
*/
public String SYD_SM2_Get_Dn_PublicKey_HA (
byte[] Dn,
int nKeyType
);
/**
* 通过本机构实体ID所对应的私钥对指定的原始数据进行数字签名(PKCS#1)
* @param pUserID 本机构实体ID,最大长度为16位数字,即设备安装生成实体时的实体机构输入栏的内容
* @param nOrgDataType 输入的数据类型,0:HASH值,1:原始数据,原始数据由加密设备内部完成HASH并签名
* @param publicKey 公钥串,DER编码,HEX格式。仅 OrgDataType=1有效, 2.1章节接口,输出公钥原串传入
* @param orgData 待签名的原始数据
* @return 签名数据( DER 编码 + Base64 编码)
*/
public String SYD_SM2_Sign_HA(
String pUserID,
int nOrgDataType,
byte[] publicKey,
byte[] orgData
);
/**
* 通过本机构实体ID所对应的私钥对指定的原始数据进行数字签名(PKCS#1)
* @param nOrgDataType 输入的数据类型,0:HASH值,1:原始数据,原始数据由加密设备内部完成HASH并签名
* @param privateKey 私钥串,LMK34-35 下加密的私钥
* @param publicKey 公钥串,DER编码,HEX格式。仅 OrgDataType=1有效, 2.1章节接口,输出公钥原串传入
* @param orgData 待签名的原始数据
* @return 签名数据( DER 编码 + Base64 编码)
*/
public String SYD_SM2_Sign_HA(
int nOrgDataType,
byte[] privateKey,
byte[] publicKey,
byte[] orgData
);
/**
* 用指定的公钥对指定的原始数据进行数字签名验证(PKCS#1)
* @param nOrgDataType 数据类型,SydApi.DATA_ORIGIN 原始数据 SydApi.DATA_HASH : hash 后的类型
* @param publicKey 公钥串,DER编码,HEX格式,2.1章节接口,输出公钥原串传入
* @param orgData 待签名的原始数据
* @param sign 签名数据 (DER 编码 + Base64 编码)
* @return 验签是否通过
*/
public boolean SYD_SM2_Verify_HA(
int nOrgDataType,
byte[] publicKey,
byte[] orgData,
String sign
);
/**
* 对指定的原始数据核验其带公钥证书签名(PKCS#7)
* @param orgData 待签名的原始数据
* @param sign 签名数据
* @return 验签是否通过
*/
public boolean SYD_SM2_DetachedVerify_HA(
byte[] orgData,
String sign );
/**
* 通过指定的私钥对指定的原始数据编制带公钥证书的数字签名(遵循PKCS#7)
* @param orgData 待签名的原始数据
* @param sCertDN 签名者证书 DN
* @return 签名数据
*/
public String SYD_SM2_DetachedSign_HA(
byte[] orgData,
String sCertDN
);
// 外部私钥
public String SM2Sign(
int nOrgDataType,
byte[] privateKey,
byte[] orgData
);
// SYD_SM2_Verify_HA
public boolean SM2Verify(
int nOrgDataType,
byte[] publicKey,
byte[] orgData,
String base64Sign
);
}