From bed95d2009fe9236ddbb8d8fad8e1d3c68fb1639 Mon Sep 17 00:00:00 2001 From: yihzhou <468340218@qq.com> Date: Mon, 5 Sep 2022 11:06:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=AD=BE=E5=90=8D=E6=95=B0?= =?UTF-8?q?=E5=AD=97=E4=BF=A1=E5=B0=81=E3=80=81=E8=A7=A3=E7=AD=BE=E5=90=8D?= =?UTF-8?q?=E6=95=B0=E5=AD=97=E4=BF=A1=E5=B0=81=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DProto/6A.xml | 55 ++++++- DProto/6B.xml | 49 ++++-- src/main/java/com/sunyard/SydApi.java | 4 +- .../inf/customize/Syd4DigitalEnvelope.java | 31 ++++ .../java/racal/sunyard/main/SydApi4j.java | 139 +++++++++++++++++- .../sunyard/sydapi/test/AAA4shangqing.java | 57 +++++++ 6 files changed, 319 insertions(+), 16 deletions(-) create mode 100644 src/main/java/com/sunyard/inf/customize/Syd4DigitalEnvelope.java create mode 100644 src/test/java/com/sunyard/sydapi/test/AAA4shangqing.java diff --git a/DProto/6A.xml b/DProto/6A.xml index b914fcb..b63a7cd 100644 --- a/DProto/6A.xml +++ b/DProto/6A.xml @@ -72,6 +72,30 @@ 公钥加密的密钥格式3所需机构码长度,仅当格式3以及'P'存在时存在 + + + 签名数字信封标识符,存在则为P + + + + 可选项,只针对"可选字段"为P时存在。 + + + + 可选项,只针对“证书模式”为1时有,只针对"可选字段"为P时存在。 + + + + + + + + + 可选项。如果显示消息尾域,则该域必须显示。值为 “X’19”。 @@ -172,17 +196,26 @@ } } + function signCertificateLen(){ + var data = $packet.data; + if( 'P' == $packet.data.pSignFlag ){ + return data.signCertificateDn.length + } + return null; + } + + function getKeyLen() { - return Util.a2i( $final.getSection('data').getSection('keyLen') ) + return Util.a2i( $final.getSection('data').getSection('keyLen') ); } function lmkLen() { if( Arrays.equals("L".getBytes(), $final.getSection('data').getSection('lmkHead').getValue() ) ){ - return 64 + return 64; }else{ - return 32 + return 32; } } @@ -190,6 +223,8 @@ return $packet.data.orgData.length } + + > 8 & 0xFF) - data[1] = (byte)(len & 0xFF) + data[0] = (byte)(len >> 8 & 0xFF); + data[1] = (byte)(len & 0xFF); return data; } diff --git a/DProto/6B.xml b/DProto/6B.xml index 0ba5f39..57dd00e 100644 --- a/DProto/6B.xml +++ b/DProto/6B.xml @@ -11,6 +11,18 @@ 可选,如果输入P代表使用PKCS7_SM2_SM4_ECB模式解密数字信封 + + + + 如果输入P代表进行解封签名数字信封模式,必须当可选字段1为P时才可选 + + + 根据证书模式,需要输入内容项的长度n,只针对可选字段2为P时存在 + + + X509证书的subject可选项,只针对“证书模式”为1时有,只针对可选字段2为P时存在 + +