sydapi/DProto/MG.xml
2021-06-29 11:32:24 +08:00

137 lines
4.3 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8" ?>
<packet extend="base">
<req>
<command>
<hex>MG</hex>
</command>
<data extend="data">
<zmk cn="ZMK" >
LMK 对04-05下加密的 ZMK。
27 位的索引号16 位机构号+3 位密钥类型+8 位密钥
索引号
</zmk>
<tak cn="TAK" >
LMK 对16-17下加密的 TAK。
27 位的索引号16 位机构号+3 位密钥类型+8 位密钥
索引号
</tak>
<businessKey len="1" cn="业务标识">
取值 N可选当选定此标识时表示密钥加密方案采用默认方式
</businessKey>
<separator cn="分隔符" :if=" null != $packet.data.zmkSolution ">
可选项。如果显示后面的三个域,则该域必须显示。
值为“;”。
如果命令不需要一个可选域,则用一个有效值或 0 填
充。
</separator>
<zmkSolution len="1" cn="密钥方案ZMK" required="false">
可选项。ZMK 下加密密钥的方案。
</zmkSolution>
<lmkSolution len="1" cn="密钥方案LMK" required="false">
可选项。LMK 下加密密钥的方案。
</lmkSolution>
<keyCheckType len="1" cn="密钥校验值类型" required="false">
可选项。密钥校验值计算方式。
0KCV 向后兼容。
1KCV 6H。
</keyCheckType>
<tailSep len="1" :if=" null != $packet.data.tail " cn="尾分隔">
可选项。如果显示消息尾域,则该域必须显示。值为
“X19”。
<hex>19</hex>
</tailSep>
<tail maxLen="32" required="false" cn="尾部">
可选项。最大长度为 32个字符。
</tail>
</data>
</req>
<res>
<command>
<hex>MH</hex>
</command>
<data>
<error len="2" cn="错误码" format="X" :catch="catchError('%s')">
<options>
<option cn="无错误">
<hex>00</hex>
</option>
<option cn="ZMK 奇偶校验错">
<hex>10</hex>
</option>
<option cn="TMK、TPK 或 PVK 奇偶校验错">
<hex>11</hex>
</option>
<option cn="用户存储区没有装载密钥">
<hex>12</hex>
</option>
<option cn="LMK 错误">
LMK 错误;报告给管理员。
<hex>13</hex>
</option>
<option cn="输入数据错">
<hex>15</hex>
</option>
<option cn="无效用户存储区索引">
<hex>21</hex>
</option>
<option cn="密钥方案错误">
<hex>26</hex>
</option>
<option cn="数据长度错误">
<hex>80</hex>
</option>
</options>
</error>
<takZmkHead len="1" cn="zpk 头" >
如果是 'Z' 16 个字节长
如果是 'X,U,S' 32 个字节长
如果是 'Y,T' 48 个字节长
</takZmkHead>
<takZmk :len="lmkLen()" cn="ZPKZMK" >
ZMK 下加密的 TAK
</takZmk>
<keyCheck :len="keyCheckLen()" cn="密钥校验值">
用 TAK 加密 64 位 0 的结果。是 16H 还是 6H 取决于 KCV
的类型选项。当 ZMK 的密钥方案为 S 时,默认或 KCV
类型为 0 时,输出 32H 的 KCV
</keyCheck>
<tailSep len="1" required="false" cn="尾分隔">
可选项。如果显示消息尾域,则该域必须显示。值为 “X19”。
<hex>19</hex>
</tailSep>
<tail maxLen="32" required="false" cn="尾部">
可选项。最大长度为 32个字符。
</tail>
</data>
</res>
<script>function lmkLen() {
return Util.lenChoice($final.getSection('data').getSection('takZmkHead').getValue() )
}
function keyCheckLen() {
return Util.keyCheckLen($final.getSection('data').getSection('takZmkHead').getValue() )
} </script>
</packet>