我正在p11tool
CentOS 上使用来读取 PIV 智能卡。正在通过包驱动程序读取卡coolkey
(使用libcoolkeypk11.so
, per p11-kit list-modules
)
我可以使用以下命令获取那里的证书列表
p11tool --list-all-certs 'pkcs11:model=;manufacturer=;serial=;token=CoolKey'
证书列表仅包括 URL、类型、标签和 ID。使用 RedHat Enterprise Security Client (esc
包中的 GUI 智能卡管理器,这需要coolkey
(不是 opensc
)),我可以深入查看证书详细信息,例如证书的序列号和指纹。
我尝试p11tool --info <certurl>
希望能够提供详细信息,但仍然只列出了使用 看到的四个字段--list-all-certs
。
更新:我也尝试过,openssl x509 -engine pkcs11 -keyform engine -text -in <certurl>
但失败了,并显示消息
140067620280208:error:02001002:system library:fopen:No such file or directory:bss_file.c:402:fopen('<certurl>','r')
如何使用 p11tool 和/或其他命令行工具查看这些详细信息?
答案1
使用--export
旗帜是关键(感谢@Johan Myréen 的提示)。因此,要查看证书的详细信息和指纹,可以这样做:
p11tool --export <certurl> | openssl x509 -text -noout
p11tool --export <certurl> | openssl x509 -fingerprint -noout
#默认为SHA1指纹
p11tool --export <certurl> | openssl x509 -fingerprint -noout -md5
#MD5指纹