首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在智能卡上执行终端身份验证?

如何在智能卡上执行终端身份验证?
EN

Stack Overflow用户
提问于 2022-04-07 18:14:45
回答 1查看 157关注 0票数 0

我正在尝试使用智能卡eSign应用程序对文档进行数字签名。这是一张国家身份证,我遵守ICAO 9303TR-03110的规定。如果我没有弄错,在选择eSign应用程序之前,我应该先执行Terminal Authentication作为Signature Terminal

ICAO 9303中指出:

代码语言:javascript
复制
The following sequence of commands SHALL be used with secure messaging to implement Terminal Authentication:

MSE:Set DST
PSO:Verify Certificate
MSE:Set AT
Get Challenge
External Authenticate

Steps 1 and 2 are repeated for every CV certificate to be verified (CVCA Link Certificates, DV Certificate, Terminal Certificate).

要执行MSE:Set DST,应该使用以下APDU

代码语言:javascript
复制
INS - 0x22
P1/P2 - 0x81B6
Data - 0x83 Reference of a public key, ISO 8859-1 encoded name of the public key to be set

这是我不明白的Data部分。我到底需要在那里提供什么?我如何找到公钥或它的名字?

EN

回答 1

Stack Overflow用户

发布于 2022-04-08 09:15:18

我到底需要在那里提供什么?我如何找到公钥或它的名字?

在启动TA之前,您应该确保终端有自己的有效的简历链-证书+适当的私钥:

对应于IS证书cetitificate

  • IS 的terminal

  • private密钥的
  1. DV

证书

TA的第一步是证书链验证:

  1. 读取EF.CVCA并找到切屑
  2. 已知的根证书的CHRs,选择终端DV证书的父证书。来自DV certificate.
  3. Send MSE的CHR必须等于DV certificate
  4. Send MSE:使用选择的CHR
  5. 发送DST :用终端的DV certificate
  6. Send MSE验证证书:用终端DV证书的CHR设置DST (它必须等于certificate)
  7. Send Now :使用终端的证书验证证书现在芯片知道终端的公钥,并可以使用它来验证终端用其私钥签名的密码。

)

证书持有人引用(CHR)和证书真实性引用(CAR)是以字符串值编码的ID。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71787088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档