function params type byte[] string

This commit is contained in:
cheney 2022-06-22 09:58:51 +08:00
parent 080c705d72
commit b5332438f4
4 changed files with 37 additions and 16 deletions

View File

@ -177,7 +177,7 @@ interface SydAttachedSVApi {
* @return * @return
* 符合PKCS7标准的签名结果 * 符合PKCS7标准的签名结果
*/ */
byte[] attachedSign(byte[] orgData, String sCertDN); String attachedSign(byte[] orgData, String sCertDN);
/** /**
* 带公钥证书与原始数据的数字签名验签遵循 PKCS#7 * 带公钥证书与原始数据的数字签名验签遵循 PKCS#7
@ -186,6 +186,7 @@ interface SydAttachedSVApi {
* @param sign 已签名数据 * @param sign 已签名数据
* @return true 验签通过 false 验签失败 * @return true 验签通过 false 验签失败
*/ */
boolean attachedVerify(String sign);
boolean attachedVerify(byte[] sign); boolean attachedVerify(byte[] sign);
/** /**
@ -196,6 +197,7 @@ interface SydAttachedSVApi {
* @return 成功返回签名的原数据失败则报错 * @return 成功返回签名的原数据失败则报错
*/ */
byte[] attachedVerifyRD(byte[] sign); byte[] attachedVerifyRD(byte[] sign);
byte[] attachedVerifyRD(String sign);
/** /**
* 带公钥证书与原始数据的数字签名验签遵循 PKCS#7 * 带公钥证书与原始数据的数字签名验签遵循 PKCS#7
@ -207,6 +209,7 @@ interface SydAttachedSVApi {
* 若发送报文返回证书信息标志位为1则返回CERT_INFO结构的证书数据 * 若发送报文返回证书信息标志位为1则返回CERT_INFO结构的证书数据
*/ */
X509 attachedVerifyAndGetX509(byte[] sign); X509 attachedVerifyAndGetX509(byte[] sign);
X509 attachedVerifyAndGetX509(String sign);
/** /**
* 带公钥证书与原始数据的数字签名验签遵循 PKCS#7 * 带公钥证书与原始数据的数字签名验签遵循 PKCS#7

View File

@ -10415,7 +10415,7 @@ public class SydApi4j implements SydApi {
* @return 符合PKCS7标准的签名结果 * @return 符合PKCS7标准的签名结果
*/ */
@Override @Override
public byte[] attachedSign(byte[] orgData, String sCertDN) { public String attachedSign(byte[] orgData, String sCertDN) {
sCertDN = DnUtil.verifyDn( sCertDN ); sCertDN = DnUtil.verifyDn( sCertDN );
Proto8018 proto = new Proto8018(); Proto8018 proto = new Proto8018();
@ -10462,7 +10462,12 @@ public class SydApi4j implements SydApi {
throw new SydApiException(error.getInfo(), error.autoInt()); throw new SydApiException(error.getInfo(), error.autoInt());
} }
return ((PacketSection) ret.get("signature")).getString().getBytes(); return ((PacketSection) ret.get("signature")).getString();
}
@Override
public boolean attachedVerify(String sign) {
return attachedVerify( sign.getBytes() );
} }
@Override @Override
@ -10508,6 +10513,11 @@ public class SydApi4j implements SydApi {
return true; return true;
} }
@Override
public byte[] attachedVerifyRD(String sign) {
return attachedVerifyRD( sign.getBytes() );
}
@Override @Override
public byte[] attachedVerifyRD(byte[] sign) { public byte[] attachedVerifyRD(byte[] sign) {
RetWrap retWrap = attachedVerifyAndGetAll(sign); RetWrap retWrap = attachedVerifyAndGetAll(sign);
@ -10524,6 +10534,10 @@ public class SydApi4j implements SydApi {
* @param sign 已签名数据 * @param sign 已签名数据
* @return 返回CERT_INFO结构的证书数据 * @return 返回CERT_INFO结构的证书数据
*/ */
public X509 attachedVerifyAndGetX509(String sign) {
return attachedVerifyAndGetX509( sign.getBytes() );
}
public X509 attachedVerifyAndGetX509(byte[] sign) { public X509 attachedVerifyAndGetX509(byte[] sign) {
RetWrap retWrap = attachedVerifyAndGetAll( sign); RetWrap retWrap = attachedVerifyAndGetAll( sign);
if (retWrap == null) if (retWrap == null)
@ -10532,6 +10546,10 @@ public class SydApi4j implements SydApi {
return (X509) retWrap.get("x509"); return (X509) retWrap.get("x509");
} }
public RetWrap attachedVerifyAndGetAll(String sign) {
return attachedVerifyAndGetAll( sign.getBytes() );
}
public RetWrap attachedVerifyAndGetAll(byte[] sign) { public RetWrap attachedVerifyAndGetAll(byte[] sign) {
Proto8019 proto = new Proto8019(); Proto8019 proto = new Proto8019();

View File

@ -22,7 +22,7 @@ public class ShangTest {
} }
public void action(){ public void action(){
byte[] sign = api.attachedSign(testData, dn); String sign = api.attachedSign(testData, dn);
boolean ret = api.attachedVerify( sign ); boolean ret = api.attachedVerify( sign );
assert ret; assert ret;

View File

@ -45,11 +45,11 @@ public class TestHT {
byte[] orgData = "111111213323143243243".getBytes("UTF-8"); byte[] orgData = "111111213323143243243".getBytes("UTF-8");
// 签名 // 签名
byte[] sign = api.attachedSign(orgData, dn); String sign = api.attachedSign(orgData, dn);
System.out.println("签名结果: " + Util.bytes2HexString(sign) ); System.out.println("签名结果: " + sign );
// 生成数字信封 // 生成数字信封
RetWrap retWrap = api.generateDEByDn(dn, sign); RetWrap retWrap = api.generateDEByDn(dn, sign.getBytes() );
byte[] cipherKey = (byte[]) retWrap.get(SydApi.RET_CIPHER_KEY); byte[] cipherKey = (byte[]) retWrap.get(SydApi.RET_CIPHER_KEY);
System.out.println("数字信封: " + new String(cipherKey)); System.out.println("数字信封: " + new String(cipherKey));
@ -106,8 +106,8 @@ public class TestHT {
public void testAttachedSignAndVerify() { public void testAttachedSignAndVerify() {
String dn = "C=CN,O=CFCA OCA1,OU=YCCA,OU=Individual-2,CN=YCCA@黄金交易所@Zhuangj@1"; String dn = "C=CN,O=CFCA OCA1,OU=YCCA,OU=Individual-2,CN=YCCA@黄金交易所@Zhuangj@1";
String orgData = "111111213323143243243"; String orgData = "111111213323143243243";
byte[] sign = api.attachedSign(orgData.getBytes(), dn); String sign = api.attachedSign(orgData.getBytes(), dn);
System.out.println("签名结果: " + Util.bytes2HexString(sign) ); System.out.println("签名结果: " + sign);
boolean verify = api.attachedVerify(sign); boolean verify = api.attachedVerify(sign);
System.out.println("验签结果: " + verify); System.out.println("验签结果: " + verify);
@ -117,8 +117,8 @@ public class TestHT {
public void testAttachedSignAndVerifyGetX509() { public void testAttachedSignAndVerifyGetX509() {
String dn = "C=CN,O=CFCA OCA1,OU=YCCA,OU=Individual-2,CN=YCCA@黄金交易所@Zhuangj@1"; String dn = "C=CN,O=CFCA OCA1,OU=YCCA,OU=Individual-2,CN=YCCA@黄金交易所@Zhuangj@1";
byte[] orgData = "111111213323143243243".getBytes(); byte[] orgData = "111111213323143243243".getBytes();
byte[] sign = api.attachedSign(orgData, dn); String sign = api.attachedSign(orgData, dn);
System.out.println("签名结果: " + Util.bytes2HexString(sign) ); System.out.println("签名结果: " + sign );
X509 verify = api.attachedVerifyAndGetX509(sign); X509 verify = api.attachedVerifyAndGetX509(sign);
System.out.println("验签结果: " + Util.bytes2HexString(verify.getPubKey())); System.out.println("验签结果: " + Util.bytes2HexString(verify.getPubKey()));
@ -128,8 +128,8 @@ public class TestHT {
public void testAttachedSignAndVerifyRD() { public void testAttachedSignAndVerifyRD() {
String dn = "C=CN,O=CFCA OCA1,OU=YCCA,OU=Individual-2,CN=YCCA@黄金交易所@Zhuangj@1"; String dn = "C=CN,O=CFCA OCA1,OU=YCCA,OU=Individual-2,CN=YCCA@黄金交易所@Zhuangj@1";
String orgData = "111111213323143243243"; String orgData = "111111213323143243243";
byte[] sign = api.attachedSign(orgData.getBytes(), dn); String sign = api.attachedSign(orgData.getBytes(), dn);
System.out.println("签名结果: " + Util.bytes2HexString(sign)); System.out.println("签名结果: " + sign);
byte[] verify = api.attachedVerifyRD(sign); byte[] verify = api.attachedVerifyRD(sign);
System.out.println("验签结果: " + Util.bytes2HexString(verify)); System.out.println("验签结果: " + Util.bytes2HexString(verify));
@ -139,8 +139,8 @@ public class TestHT {
public void testAttachedSignAndVerifyGetAll() { public void testAttachedSignAndVerifyGetAll() {
String dn = "C=CN,O=CFCA OCA1,OU=YCCA,OU=Individual-2,CN=YCCA@黄金交易所@Zhuangj@1"; String dn = "C=CN,O=CFCA OCA1,OU=YCCA,OU=Individual-2,CN=YCCA@黄金交易所@Zhuangj@1";
byte[] orgData = "111111213323143243243".getBytes(); byte[] orgData = "111111213323143243243".getBytes();
byte[] sign = api.attachedSign(orgData, dn); String sign = api.attachedSign(orgData, dn);
System.out.println("签名结果: " + Util.bytes2HexString(sign)); System.out.println("签名结果: " + sign);
RetWrap verify = api.attachedVerifyAndGetAll(sign); RetWrap verify = api.attachedVerifyAndGetAll(sign);
if (verify != null) { if (verify != null) {