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

127 lines
3.6 KiB
XML
Raw Permalink 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>83</hex>
</command>
<data extend="data">
<cardType len="1" cn="卡类型">
<options>
<option cn="Visa">
<hex>0</hex>
</option>
<option cn="Master">
<hex>1</hex>
</option>
<option cn="PBOC">
<hex>2</hex>
</option>
</options>
</cardType>
<AlgorithmType len="1" cn="算法类型" >
<options>
<option cn="3DES">
<hex>0</hex>
</option>
<option cn="SM4">
仅PBOC类型卡片支持SM4
<hex>1</hex>
</option>
</options>
</AlgorithmType>
<pattern len="1" cn="模式">
<options>
<option cn="只验证ARQC">
<hex>0</hex>
</option>
<option cn="验证ARQC,验证成功后生成 ARPC">
<hex>1</hex>
</option>
<option cn="只产生ARPC">
<hex>2</hex>
</option>
</options>
</pattern>
<keyType len="3" cn="应用主密钥密钥类型">
应用主密钥密钥类型
</keyType>
<key len="27" cn="应用主密钥">
27位的索引号16位机构号+3位密钥类型+8位密钥索引号K为传入索引标志
</key>
<cardDispersionFactor len="16" cn="卡片分散因子">
用于分散主密钥生成卡片密钥
</cardDispersionFactor>
<ATC len="4" cn="ATC(会话密钥分散因子)">
用于进一步分散卡片密钥生成会话密钥VISA卡卡片密钥与会话密钥相同。
</ATC>
<ARQC len="16" cn="ARQC">
待验证ARQC同时参与ARPC生成
</ARQC>
<messageLength len="4" :if="0 == $packet.data.patten$option || 1 == $packet.data.patten$option" :value="messageLen()" cn="数据长度">
模式为0/1时存在用于计算ARQC并校验的数据长度
</messageLength>
<message cn="数据">
用于计算ARQC并校验的数据
</message>
<ARC len="4" :if="1 == $packet.data.patten$option || 2 == $packet.data.patten$option" cn="ARC">
模式为1/2时存在,作用于ARQC然后用于计算ARPC
</ARC>
</data>
</req>
<res>
<command>
<hex>84</hex>
</command>
<data>
<error len="2" cn="错误码" format="X" :catch="catchError('%s')">
<options>
<option cn="无错误">
<hex>00</hex>
</option>
<option cn="ARQC校验失败">
<hex>07</hex>
</option>
<option cn="LMK运算错误">
<hex>13</hex>
</option>
<option cn="输入数据错">
<hex>15</hex>
</option>
<option cn="数据长度错">
<hex>80</hex>
</option>
</options>
</error>
<APRC len="16" :if="1 == $packet.data.patten$option || 2 == $packet.data.patten$option" cn="APRC">
模式为1/2输出AQPC
</APRC>
</data>
</res>
<script>
function messageLen(){
var data = $packet.data;
return data.message.length();
}
</script>
</packet>