INITIALIZE UPDATE: 在安全通道的显式发起期间,INITIALIZEUPDATE命令用于在卡和主机之间传送卡和会话数据。这个命令开始一个安全通道会话的发起。

CPURESET()
//选择应用区
00A40400+08+A000000333010101 0084000008(RAM+9000)
//初始化通道
80500000+08+RAM+1C
00C000001C(DATA+9000)
/*************
Key diversification data 10bytes //由卡外实体来获取卡内的静态密钥
Key information 2bytes //包含了密钥的版本号和安全通道的协议号
Card challenge 8bytes //卡内部生成的随机数
Card cryptogram 8bytes //鉴别密码
************/
KEYVERSION=COPY(DATA,21,2)
QCOUNTER=COPY(DATA,25,4)
CCHALLENGE=COPY(DATA,29,12)
CARDCHALLENGE=COPY(DATA,25,16)
MAC_RII=LAST(DATA,16) //验证MAC //计算个人化过程密钥SPenc SPmac SPdek
CBC_3DES_EN(00000000000000000182+QCOUNTER+000000000000000000000000,Penc,SPenc)
CBC_3DES_EN(00000000000000000101+QCOUNTER+000000000000000000000000,Pmac,SPmac)
CBC_3DES_EN(00000000000000000181+QCOUNTER+000000000000000000000000,Pdek,SPdek) //华大
{
SPenc=COPY(SPenc,1,16)
//3DES计算MAC MAC_RII==MAC_RI
SDES_MAC_1(0000000000000000+RAM+CARDCHALLENGE+8000000000000000,SPenc,MAC_RI)
SDES_MAC_1(0000000000000000+CARDCHALLENGE+RAM+8000000000000000,SPenc,MAC1)
3DES_MAC_1(0000000000000000+8442000010+MAC1+800000,SPmac,MAC2) //通道安全认证
84420000+10+MAC1+MAC2
} //JAVA CARD
{
//3DES计算MAC
GP_MAC(RAM+CARDCHALLENGE+8000000000000000,SPenc,MAC_RI)
GP_MAC(CARDCHALLENGE+RAM+8000000000000000,SPenc,MAC1)
3DES_MAC_1(0000000000000000+8482000010+MAC1+800000,SPmac,MAC2) //通道安全认证
84820000+10+MAC1+MAC2
}

文/闫鑫原创   转载请注明出处http://blog.csdn.net/yxstars/article/details/12015925

最新文章

  1. 如何下架app
  2. 和efast对接
  3. 【数据库】 Sqlserver 2008 error 40出现连接错误的解决方法
  4. 应用scikit-learn做文本分类
  5. 我理解的RPC
  6. UIPickerView实现省 市 区三级联动
  7. T-SQL语句——UNION, EXCEPT, INTERSECT
  8. 手机端跳转和pc端跳转
  9. hdu_5753_Permutation Bo(找规律)
  10. PHP 完整表单实例
  11. Java 向MySql 插入日期和时间正确的姿势
  12. git初始化本地项目及关联github远程库
  13. Nginx Windows版的服务安装和管理工具
  14. Fiddler怎么可以抓取https的请求包
  15. 使用.pth文件扩展python环境路径
  16. GitHub万星项目:黑客成长技术清单
  17. vim 正则替换【转】
  18. SQLServer------Sql Server性能优化辅助指标SET STATISTICS TIME ON和SET STATISTICS IO ON
  19. JS中手动触发事件的方法
  20. 第八天 1-7 实战:创建一个root无法删除的文件

热门文章

  1. 10个实用的但偏执的Java编程技术
  2. hdu 1243 反恐训练营 最长公共字序列
  3. 大部分人努力程度之低,根本轮不到拼天赋 [转自w3cschool]
  4. 【转】学习JAVA的步骤
  5. 数理方程:Laplace变换 & 留数(更新中)
  6. 504 Gateway Time-out 和 502 Bad Gateway相关处理
  7. MySQL Server 5.5安装中遇到的问题及解决方法
  8. asp.net判断访问者是否来自移动端
  9. SDWebImage缓存清理
  10. (转)每天一个linux命令(46):vmstat命令