如何检查Firefox用户配置文件的cert db中是否已存在具有特定序列号的证书?
到目前为止,我一直在使用下面的命令检查它,然后解析输出:
certutil.exe -L -d C:\Users\<username>\AppData\Roaming\Mozilla\Firefox\Profiles\<profile>
只使用1个证书时这工作正常,但我现在需要检查多个证书,其中2个不幸共享相同的“证书昵称”。
我是否能以某种方式获取所有已安装证书的序列号或查询是否安装了具有指定序列号的证书?
我正在使用从nss-3.16.1-with-nspr-4.10.5构建的certutil.exe
提前致谢。
答案 0 :(得分:0)
我不认为certutil
允许你这样做,但是,在nss
本身做这样的事情很容易。
这是一个使用python-nss
的Python示例,它只是从数据库中转储所有序列号和昵称。
#!/usr/bin/env python2
from __future__ import print_function
import sys
from nss import nss
nss.nss_init(sys.argv[1])
for cert in nss.list_certs(nss.PK11CertListAll):
try:
print("{} {}".format(cert.serial_number, cert.make_ca_nickname()))
except Exception as ex:
print(ex, file=sys.stderr)