0

如何检查具有特定序列号的证书是否已存在于 Firefox 用户配置文件的证书数据库中?

到目前为止,我一直在使用下面的命令来检查它,然后解析输出:

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

提前致谢。

4

1 回答 1

0

我不认为certutil让你这样做,但是,这样做nss本身就很容易。

这是一个 Python 示例,它使用python-nss它只是从数据库中转储所有序列号和昵称。

#!/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)
于 2015-02-02T19:48:16.083 回答