添加6A、6B关于P7的数字信封

This commit is contained in:
zb
2022-04-12 20:54:20 +08:00
parent b20bb8f2b0
commit b4bdf191de
9 changed files with 458 additions and 68 deletions
@@ -216,6 +216,32 @@ public interface SydGenApi {
*/
RetWrap generateDEByDn(byte[] dn, int alg, int model) throws Exception;
/**
* 产生对称密钥,通过公钥加密生成网联格式的数字信封。
* @param certSerial 证书DN。
* @param oData 明文数据
* @return RetWrap 包含 CipherKey SessionKey KCV
* CipherKey 公钥加密的会话密钥 ,BASE64 编码
* SessionKey 本地LMK 加密的会话密钥,HEX 格式, 本地 LMK 加密的会话密钥长度,HEX 格式(不包括第 1 个字符),一般为 33 个 Bytes。默认输入值为缓冲区的大小。
* KCV 会话密钥的检验值,HEX 格式,长度为 32H。
*/
RetWrap generateDEByDn(byte[] certSerial, String oData);
/**
* 产生对称密钥,通过公钥加密生成网联格式的数字信封。
* @param certSerial 证书DN或SN。
* @param alg 算法标识,0:AES,1-3:SM4
* @param model 证书模式,0:证书序号,1:证书 DN
* @param oData 明文数据
* @return RetWrap 包含 CipherKey SessionKey KCV
* CipherKey 公钥加密的会话密钥 ,BASE64 编码
* SessionKey 本地LMK 加密的会话密钥,HEX 格式, 本地 LMK 加密的会话密钥长度,HEX 格式(不包括第 1 个字符),一般为 33 个 Bytes。默认输入值为缓冲区的大小。
* KCV 会话密钥的检验值,HEX 格式,长度为 32H。
*/
RetWrap generateDE(byte[] certSerial, int alg, int model, String oData);
/**
* 产生对称密钥,通过公钥加密生成网联格式的数字信封。
@@ -271,6 +297,34 @@ public interface SydGenApi {
String pCipherKey
);
/**
* 接收用私钥解密数字信封,还原对称密钥。
* 默认会传P
* @param certSerial 输入。 对方 X509 证书的DN。
* @param pCipherKey 输入。 公钥加密的会话密钥,BASE64 编码
* @return RetWrap 包含 SessionKey KCV
* oData 如果有机构码的话会返回原数据
* SessionKey 输出。 本地LMK 加密的会话密钥,格式为:密钥类型|密钥密文,比如:02|密钥密文
* KCV 会话密钥的检验值,HEX 格式,长度为 36H。
* orgCode 如果有机构码的话会返回机构码
*/
RetWrap decryptDEByDN(byte[] certSerial, String pCipherKey);
/**
* 接收用私钥解密数字信封,还原对称密钥。
*
* @param pFlag 输入。 p标识,如果为true,则传入P
* @param model 输入。 证书模式,0:证书序号,1:证书 DN
* @param certSerial 输入。 对方 X509 证书的序列号或DN。
* @param pCipherKey 输入。 公钥加密的会话密钥,BASE64 编码
* @return RetWrap 包含 SessionKey KCV
* oData 如果有机构码的话会返回原数据
* SessionKey 输出。 本地LMK 加密的会话密钥,格式为:密钥类型|密钥密文,比如:02|密钥密文
* KCV 会话密钥的检验值,HEX 格式,长度为 36H。
* orgCode 如果有机构码的话会返回机构码
*/
RetWrap decryptDE(boolean pFlag, int model, byte[] certSerial, String pCipherKey);
/**
* 产生要求长度的随即数据串,可用于身份认证
*