卡可验证证书创建、签名和导出工具?



美好的一天,

我在工作中接到了一项任务,由于缺乏有关该主题的信息,结果证明这是一个相当有趣的噩梦。

我的任务如下:以确保芯片卡在现场的非对称管理。身份验证 CVC 证书必须通过"PSO 命令"导入卡内。CVC 证书必须由 CVC 根证书颁发机构签名,并拥有为卡管理定义的 OID。

我拥有任务所需的所有加密材料,除了CVC证书。我有CVC证书应该如何外观以及如何编码信息的定义。我的问题是我从未使用过X.509证书和OpenSSL CLI以外的任何东西,因为这个原因以及我缺乏这方面的经验,以下问题出现了......

如何创建 CVC-PKCS#10?

如何在OPENSSL和CVC根证书的帮助下对其进行签名?

如何输出CVC证书?

这是我在这种董事会中的第一个问题,所以如果您发现错误或需要有关此事的更多信息,请告诉我。

提前感谢您的所有意见。

PSO(即执行安全操作(在模式验证证书(短VCERT(中描述,请参见ISO 7816,第8部分。据我所知,互联网上没有容易下载的副本。

原理很简单:必须事先选择根密钥(管理安全环境,ISO 7816,第 4 部分(。然后,将 BER-TLV 编码字符串作为 PSO VCERT 命令中的命令数据字段发送。CV 证书在顶层被分隔到新的公钥和签名中。(我不明白输出问题;它只是具有适当长度字段的相应数据对象的组合。如果签名匹配,卡会丢弃它并保留新的公钥以供后续使用。您还需要卡供应商提供大量文件,说明如何选择根密钥。

恐怕OpenSSL和PKCS#10都不会有太大用处。签名(假设 RSA(只不过是对正确填充的字节字符串执行 RSA 操作。在任何情况下,您都可能需要直接与 APDU 级别的卡通信,首先用于验证证书,然后用于应用相应的密钥。

最新更新