一、发卡行公钥证书(CA私钥签过名的数据)
2B0CB3F653A15F5DD6A30D09F47E9BB36747B52C7B49499416FF12E5707FDFDB
CF8B8F05703B86BDC0B322A8943F801EEED8FAD8A96B533D742DBF36410548C0
9EBE9C317C98542BF694C4143A3813F3ABDF5C3AD23BA26B0B23A4D52455E11F
6F0D1EE0435C69DD4B41E38C9D855A03E194C5321152879375849401BB415166
二、CA公钥模数数据
AE8DE479F30046B083AD42DD7E9300BE9EF67E891AE79FB96599C46A3CA5516B
EA1598E3FB3AEDE7CE5EA8E47DD98774D2D2373B3CBACC7BBEC807CF7D9110B7
AB1946D4C762244A5E006DCDB3F4E6BB99BBA4A0BE9A892203B8226352F7B9F2
60C32B37EE255D96E68E12D8F90C70842009ABB07E708110A70292E2EFCBB4D9
三、CA公钥指数数据
010001
四、发卡行公钥证书(CA公钥解密后的数据)
6A02622800FF123000000101018001B4AB1DC9B46B8745C26703A7CEFF495229
22F18DABFBBD0AA3492FA1A893A78C1766226561F7895CA938FFDF53838E5863
E46D11D60B98104125174D7A0DF09FAF7C255DDC5A51494D60449B8A7524EE33
955363C7CB26CD679A05EB500DC25210B5F2ADDF14429F2A9F3CB781A5717EBC
五、发卡行公钥证书数据解析
6A//恢复数据头
02//证书格式
622800FF//发卡行标识(主账号最左面的3-8个数字)
1230//证书失效日期
000001//证书序列号
01//哈希算法标识
01//发卡行公钥算法标识
80//发卡行公钥长度
01//发卡行公钥指数长度
//下面是发卡行公钥模数的最左边92个字节数据
//(计算哈希结果的时候还要加上后续的36个字节公钥余项,再加上公钥指数03)
B4AB1DC9B46B8745C26703A7CEFF49522922F18DABFBBD0AA3492FA1A893A78C
1766226561F7895CA938FFDF53838E5863E46D11D60B98104125174D7A0DF09F
AF7C255DDC5A51494D60449B8A7524EE33955363C7CB26CD679A05EB
//下面是哈希结果
500DC25210B5F2ADDF14429F2A9F3CB781A5717E
BC//恢复数据结尾
六、下面验证一下哈希结果是否正确
//下面是发卡行公钥模数的完整数据128个字节
//(说明一下,前面92个字节是从发卡行公钥证书解得的,后面36个字节发卡行公钥余项可从IC卡中读出)
B4AB1DC9B46B8745C26703A7CEFF49522922F18DABFBBD0AA3492FA1A893A78C
1766226561F7895CA938FFDF53838E5863E46D11D60B98104125174D7A0DF09F
AF7C255DDC5A51494D60449B8A7524EE33955363C7CB26CD679A05EBC193DEF1
65FD9026C33952A5F1C7C8A917A34DC2A9853973FD139F821D068A07267E8AC5
七、计算发卡行公钥证书的哈希结果需要把下面的数据连接起来,用sha1算法计算摘要
02//证书格式
622800FF//发卡行标识(主账号最左面的3-8个数字)
1230//证书失效日期
000001//证书序列号
01//哈希算法标识
01//发卡行公钥算法标识
80//发卡行公钥长度
01//发卡行公钥指数长度
//发卡行公钥模数的完整数据128个字节
B4AB1DC9B46B8745C26703A7CEFF49522922F18DABFBBD0AA3492FA1A893A78C
1766226561F7895CA938FFDF53838E5863E46D11D60B98104125174D7A0DF09F
AF7C255DDC5A51494D60449B8A7524EE33955363C7CB26CD679A05EBC193DEF1
65FD9026C33952A5F1C7C8A917A34DC2A9853973FD139F821D068A07267E8AC5
03//发卡行公钥指数
八、连接七部分列出来的数据组成一个数据块:
02622800FF123000000101018001
B4AB1DC9B46B8745C26703A7CEFF49522922F18DABFBBD0AA3492FA1A893A78C
1766226561F7895CA938FFDF53838E5863E46D11D60B98104125174D7A0DF09F
AF7C255DDC5A51494D60449B8A7524EE33955363C7CB26CD679A05EBC193DEF1
65FD9026C33952A5F1C7C8A917A34DC2A9853973FD139F821D068A07267E8AC5
03
九、计算上面数据块哈希摘要(sha1)结果得:
500DC25210B5F2ADDF14429F2A9F3CB781A5717E
十、第五部分解出来的哈希结果:
500DC25210B5F2ADDF14429F2A9F3CB781A5717E
十一、九和十结果一致,说明发卡行公钥证书确为CA所签发,合法有效,可以使用
继续解析IC卡公钥证书.......
十二、IC卡公钥证书(发卡行私钥签过名的数据)
2E3E615E24165DCF4941B32CD0B64BF4FAB8F78B3D16CFF088BB452E1556D729
744D25B17057D306D3A5900113ED26DCC9F1827DABE5115C4D86C685FB3F2826
6DA84206373820FD893A4E064567066BE768F07AB4F26FD8E44608DA46D4BC99
1E44ED3E4A7B764DAE0A3AF31AEAF6027325601E03EFCA7B41CC2056F09B01B2
十三、发卡行公钥模数数据
B6F553279E88CEFA81C0597FDD39AEF4D5CF5DE9AC64D78EC69BE4CC0EDD595E
219F774316912B5096B478CEFCD98EC5A15C6FD994ED3C8FC2C2A0379473FD1D
6BD63DDD70A2F0F6813310CB2417CA5B0C9F1988DE2B45451434452B64DF4781
2507868D9028C4F1D032920E507051225C3F4D6F6AD105EA8009C318B8DF20B3
十四、发卡行公钥指数数据
03
十五、IC卡公钥证书(发卡行公钥解密过的数据)
6A046228000100001117FFFF123100000101018003DCC633F5728D3B93C2D7BE
93BA5AE021A8888D621A3DD17CC739485BAD19C571B20811629A44526964416D
346143B3503173C70B8CEF57C9990EC0B007E862B6075CC5249E44880DCC93FA
3BF5D047A1FFAA0339D548CA7D169D24B403A7F20C5DDC85D60CF504F2333FBC
十六、下面是对IC卡公钥证书的解析
6A//恢复数据头
04//证书格式
6228000100001117FFFF//应用主账号
1231//证书失效日期
000001//证书序列号
01//哈希算法标识
01//IC卡公钥算法标识
80//IC卡公钥长度
03//IC卡公钥指数长度
//IC卡公钥或IC卡公钥的最左边86字节(IC卡公钥余项42字节可在IC中读出)
DCC633F5728D3B93C2D7BE93BA5AE021A8888D621A3DD17CC739485BAD19C571
B20811629A44526964416D346143B3503173C70B8CEF57C9990EC0B007E862B6
075CC5249E44880DCC93FA3BF5D047A1FFAA0339D548
//哈希结果
CA7D169D24B403A7F20C5DDC85D60CF504F2333F
BC//恢复数据尾
十七、验证IC卡公公证书的哈希结果
//下面是IC卡公钥模数的完整数据128字节
//说明:前面86个字节从IC卡公钥证书中解得,后面42个字节从IC卡中读出
DCC633F5728D3B93C2D7BE93BA5AE021A8888D621A3DD17CC739485BAD19C571
B20811629A44526964416D346143B3503173C70B8CEF57C9990EC0B007E862B6
075CC5249E44880DCC93FA3BF5D047A1FFAA0339D5480E81D6B54F0FD406197F
AA21A92554DA1351515925071A29696BBF9D268757DD5234277107A16768741B
十八、计算IC卡公钥证书中的哈希结果需要把下面数据连接起来做sha1哈希摘要计算
04//证书格式
6228000100001117FFFF//应用主账号
1231//证书失效日期
000001//证书序列号
01//哈希算法标识
01//IC卡公钥算法标识
80//IC卡公钥长度
03//IC卡公钥指数长度
//IC卡公钥模数的完整数据128字节
DCC633F5728D3B93C2D7BE93BA5AE021A8888D621A3DD17CC739485BAD19C571
B20811629A44526964416D346143B3503173C70B8CEF57C9990EC0B007E862B6
075CC5249E44880DCC93FA3BF5D047A1FFAA0339D5480E81D6B54F0FD406197F
AA21A92554DA1351515925071A29696BBF9D268757DD5234277107A16768741B
//IC卡公钥指数
010001
//应用主帐号TAG+长度+应用主帐号+应用主帐号序列号TAG+长度+应用主帐号序列号
5A0862280001000011175F340101
十九、把十八部分列出的数据连接成一个数据块:
046228000100001117FFFF123100000101018003
DCC633F5728D3B93C2D7BE93BA5AE021A8888D621A3DD17CC739485BAD19C571
B20811629A44526964416D346143B3503173C70B8CEF57C9990EC0B007E862B6
075CC5249E44880DCC93FA3BF5D047A1FFAA0339D5480E81D6B54F0FD406197F
AA21A92554DA1351515925071A29696BBF9D268757DD5234277107A16768741B
0100015A0862280001000011175F340101
二十、对上面的数据块用sha1算法取哈希摘要得:
CA7D169D24B403A7F20C5DDC85D60CF504F2333F
与十六解析出来的IC卡公钥证书中的哈希结果相同说明IC卡公钥证书合法
转载自:http://blog.csdn.net/caokun_8341/article/details/8851035