增加及修改文件以适应RSA密钥签名验签功能

This commit is contained in:
yihzhou
2022-10-26 10:05:14 +08:00
parent 01f7ac1f31
commit 99b5956143
18 changed files with 1155 additions and 89 deletions
+2 -2
View File
@@ -52,11 +52,11 @@
可选项,只针对“证书模式”为 1时有。
</certificateDn>
<orgDataLen len="4" :value="dataLen()" :if="3 == $packet.data.alg$option" cn="数据长度">
<orgDataLen len="4" :value="dataLen()" :if="3 == $packet.data.alg$option||0 == $packet.data.alg$option" cn="数据长度">
只针对算法标识为3时传入
</orgDataLen>
<orgData :if="3 == $packet.data.alg$option" cn="数据长度">
<orgData :if="3 == $packet.data.alg$option||0== $packet.data.alg$option" cn="数据长度">
只针对算法标识为3时传入
</orgData>
+3
View File
@@ -6,6 +6,9 @@
<hex>72</hex>
</command>
<data extend="data">
<pFlag len="1" required="false" cn="RSA标志符">
可选,存在,则固定值为‘R’
</pFlag>
<publicKeyLength len="4" :value="publicKeyLen()" cn="公钥长度">
公钥长度
+12 -1
View File
@@ -75,7 +75,7 @@
</error>
<hash len="32" :if="0 == $packet.data.packSn$option || 3 == $packet.data.packSn$option" cn="hash"></hash>
<hash :len="hashLen()" :if="0 == $packet.data.packSn$option || 3 == $packet.data.packSn$option" cn="hash"></hash>
<filterDataLen len="4" :value="filterDataLength()" :if="2 == $packet.data.packSn$option || 1 == $packet.data.packSn$option" cn="过渡数据长度">
只对“消息块号”为 2、1 时有效
@@ -108,6 +108,17 @@ function filterDataLength(){
var data = $packet.data;
return data.filterData.length;
}
function hashLen(){
if (0 == $packet.data.hashType$option){
return 20;
}
if (1== $packet.data.hashType$option){
return 32;
}
if (2 == $packet.data.hashType$option){
return 16;
}
}
function getFilterDataLen() {
return Util.a2i( $final.getSection('data').getSection('filterDataLen') )
+3
View File
@@ -6,6 +6,9 @@
<bin>8003</bin>
</command>
<data extend="data">
<rFlag len="1" required="false" cn="RSA标志">
可选,存在,则固定值为‘P’
</rFlag>
<signatureDataType len="1" cn="获取公私钥标记位">
<options>
<option cn="索引方式">
+3
View File
@@ -6,6 +6,9 @@
<bin>8004</bin>
</command>
<data extend="data">
<rFlag len="1" required="false" cn="RSA标志">
可选,存在,则固定值为‘P’
</rFlag>
<signatureDataType len="1" cn="获取公私钥标记位">
<options>
<option cn="索引方式">
+6 -3
View File
@@ -6,6 +6,9 @@
<bin>8005</bin>
</command>
<data extend="data">
<rFlag len="1" required="false" cn="RSA算法标志">
可选,存在,则固定值为‘P’
</rFlag>
<DN len="256" cn="证书 DN">
X509证书序号
@@ -13,13 +16,13 @@
<hashFlag cn="是否为 hash 模式" len="1" required="false"></hashFlag>
<hash cn="hash 值" :if="'P' == $packet.data.hashFlag"></hash>
<hash cn="hash 值" :if="null != $packet.data.hashFlag"></hash>
<dataLen :if="'P' != $packet.data.hashFlag" len="2" format="X" :value="dataLength()" cn="数据长度">
<dataLen :if="null == $packet.data.hashFlag" len="2" format="X" :value="dataLength()" cn="数据长度">
数据长度
</dataLen>
<infoData :if="'P' != $packet.data.hashFlag" cn="数据">
<infoData :if="null == $packet.data.hashFlag" cn="数据">
数据
</infoData>
+6 -4
View File
@@ -6,16 +6,18 @@
<bin>8006</bin>
</command>
<data extend="data">
<rFlag len="1" required="false" cn="RSA算法标志">
可选,存在,则固定值为‘P’
</rFlag>
<hashFlag cn="是否为 hash 模式" len="1" required="false"></hashFlag>
<hash cn="hash 值" :if="'P' == $packet.data.hashFlag"></hash>
<hash cn="hash 值" :if="null != $packet.data.hashFlag"></hash>
<originLen :if="'P' != $packet.data.hashFlag" len="2" :value="orginLength()" cn="待签名数据长度">
<originLen :if=" null == $packet.data.hashFlag" len="2" :value="orginLength()" cn="待签名数据长度">
待签名数据长度
</originLen>
<originData :if="'P' != $packet.data.hashFlag" cn="待签名数据">
<originData :if="null == $packet.data.hashFlag" cn="待签名数据">
待签名数据
</originData>
+3
View File
@@ -5,6 +5,9 @@
<bin>8018</bin>
</command>
<data extend="data">
<rFlag len="1" required="false" cn="RSA标志">
可选,存在,则固定值为‘P’
</rFlag>
<DN len="256" cn="证书 DN">
X509证书序号