问题标签 [certutil]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
958 浏览

cryptography - 证书实用程序 | CertUtil -verifykeys 如何在内部工作?

我在本地计算机证书存储中有一个 CA 证书。当我运行此命令时 -enter code here

certutil -verifyKeysKey "KEYNAME" verifies as the public key for Certificate "KEYNAME" V0.0

Signature test FAILED CertUtil: -verifykeys command FAILED: 0x80070057 (WIN32: 87 ERROR_INVALID_PARAMETER)

CertUtil: The parameter is incorrect

MSDN 说certutil -verifykeys- 验证公钥/私钥集。

我只是想知道它如何验证这些密钥?渴望知道这个命令的内部工作。

0 投票
1 回答
4063 浏览

ssl - 如何以编程方式将证书添加到 Firefox 版本 59,在 Firefox 文件夹中找不到 cert9.db

再会。

我有自己的证书颁发机构 (CA),我们需要将其添加到 Mozilla Firefox 浏览器,因为我研究过 Firefox 有自己的证书管理。

但是我们需要以编程方式添加它,因为我们有自己的应用程序可以自动将我们的证书添加到我们的客户的 IE、Edge 和 Chrome。

我使用的是 Firefox 版本 59。由于我没有创建代码的经验,因此我环顾四周并找到了一个解决方案。但它不适用于我们的 .cer 或 pem 证书。

https://github.com/christian-korneck/firefox_add-certs - 我认为这只适用于 Firefox 39。

我找到了另一篇文章,其中有几种解决方案。最后有人从 Firefox 58 说,它只使用 cert9.db

以编程方式将证书安装到 Mozilla

但我在 firefox 文件夹中找不到任何 cert8.db 或 cert9.db。即使我手动添加我的证书。没有生成配置文件文件夹。

在此处输入图像描述

我没有陷入这个问题。我希望任何人都可以给我一个适用于 Windows 的工作代码解决方案(通过命令脚本或 powershell 脚本),我可以将我们的证书添加到 Firefox 59 证书存储。

感谢您的帮助和支持,隆美尔

0 投票
0 回答
890 浏览

firefox - 在 Windows 10 中构建 NSS 3.35 以获取 Certutil。错误,C 编译器无法创建可执行文件

我想在 Firefox 59 版上以编程方式安装证书。我读到我需要 CertUtil,但我在 github 上获得的 certutil 代码是从旧 NSS 构建的。所以它只生成 cert8.db 而不是 Cert9.db,我假设 Firefox 59 需要它。

因此,如果我是正确的,我需要构建 NSS 3.35 或更高版本才能拥有 Certutil 对吗?我去这个站点设置 Windows Prerequisite 并下载了 mozilla 构建。并且能够建造它。但它很长,所以我取消了它。我还安装了带有 C++ 编译器的 Visual Studio 2017 社区版。

https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Windows_Prerequisites https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Building

所以我有一个工作的 mozilla-build 文件夹和工作的 bash 提示符。我已经将 nspr 和 nss 克隆到我的本地文件夹中。

因此,当我执行构建 nss 的命令时,出现此错误。那个 C 编译器不工作。当我检查 console.log 时,这就是我得到的。

该文件包含编译器在运行 configure 时产生的任何消息,以帮助在 configure 出错时进行调试。

它是由 GNU Autoconf 2.69 生成的 configure 创建的。调用命令行是

我不明白为什么它不能运行 cl 编译器。因为当我运行 VS 2017 的开发人员命令提示符时,我可以执行 cl。

我不知道是什么导致了这个错误。是因为bash无法识别c Compiler cl吗?我必须设置其他环境变量吗?

我希望有人可以帮助我解决这个问题。或者,如果有人使用 Certutil.exe 编译了 NSS 3.35,那将有很大帮助。

非常感谢,隆美尔

0 投票
0 回答
290 浏览

ssl - 如何从 cert9 生成 cert7.db。使用 certutil

由于一个遗留项目,我需要生成一个 cert7.db 文件才能与 LDAP 一起使用。我已经在 Debian 上下载了 certutil,但默认情况下它会生成 cert9.db。

有没有办法将 cert9.db 转换为 cert7.db?

谢谢

0 投票
1 回答
609 浏览

powershell - 可以将对文件路径的 CERTUTIL 请求重定向到 powershell 变量吗?

我正在使用 certreq 命令行实用程序来制定 CSR 修正案,如下所示(为了清楚起见,我简化了语法)

第一个字段需要一个文本字符串(Issuing Authortiy) - 很简单。

其余三个字段应该采用基于文本的文件,并且在用变量替换时将不起作用。前两个参数($arg2a 和 $arg3)是输入(作为文本文件) 最后一个参数($arg4)是输出。除非我将其设为文件位置(例如“c:\temp\outfile.csr”),否则它将始终打开一个用于保存位置的 gui 提示

有没有一种方法可以欺骗 certutil 使其相信它正在适当地从文本文件接收/发送到文本文件,以便我可以将信息保存在对象中以供进一步操作?

显然,我可以将输入和输出写入系统临时目录中的文件并读回数据,但最好不必这样做。

非常感谢

0 投票
1 回答
859 浏览

batch-file - Windows 批处理文件 - 在单行中格式化 CertUtil 输出和文件名和大小

我的要求是创建一个具有以下格式的输出文件: Filename,file size,checksum

一个例子是abc.tar,1024 Bytes,052107adc8c42d6cf581bf81225ae6de

代码

输出

预期结果

0 投票
2 回答
2104 浏览

windows - 如何使 CertUtil 递归地进入我的文件夹和子文件夹

简而言之,我试图对给定目录中的所有文件进行哈希处理。我通过调用 CertUtil 并运行来做到这一点:

这很好用,但仅适用于当前目录,因为它不会进入我的下一个子文件夹:“L:\TestDirectory\NetFolder\ 其中包含另一组文件。我希望它能够向下几层。

我觉得我错过了一些非常简单的东西,感谢任何帮助。

0 投票
2 回答
180 浏览

shell - Shell - 将命令输出设置为变量并替换

我正在开发一个用于计算 zip 文件校验和的 PowerShell 脚本。我必须在 W7 和 W10 中执行它。我注意到 certUtil 命令在 W7 中返回 A2 5B 8A... 之类的字符串,但在 W10 中它返回相同的字符串但没有空格。所以我决定删除空格以统一它,将输出设置为变量,然后删除空格......但它不起作用。

你知道如何删除它们吗?

0 投票
1 回答
155 浏览

shell - 从 shell 命令中删除白色间距

我正在开发一个 shell 脚本,它执行一个返回校验和字符串的命令。这个字符串的每个十六进制都用空格分隔,我想删除一些东西,例如,4AA512,而不是 4A A5 12 作为命令输出,但我找不到有效的解决方案。这里的脚本:

有人有解决方案吗?

谢谢!

0 投票
1 回答
2559 浏览

batch-file - 查询 SHA1 / SHA2 / SHA256 的证书

我知道我们可以在 PowerShell 中做到这一点。

结果:

参考.. https://blogs.technet.microsoft.com/poshchap/2017/10/20/one-liner-get-signing-algorithm-for-personal-store-certificates/

但是,公司不允许我们在现场运行 PowerShell。

我可以运行以下命令并为中间存储和根存储安装证书。

并且,这些会产生结果。但是,当查看: Cert Hash(sha1): 它只显示 SHA1 而没有 SHA256?

样本结果条目之一:

最终,我想通过像 VeriSign 这样的公司进行查询。

感谢您的任何见解。

来自@JosefZ,我很欣赏给出的见解:好的..我认为我已经完成了大部分工作,但是我从其他证书提供者那里获得了额外的信息。

该脚本目前是:

而且,结果是 - 请注意此处的额外证书:

而且,应该只显示 VeriSign:

注意:VeriSign(或 Entrust 等其他供应商)是我们希望看到的唯一证书。

第三部分,我们现在看到 - 我们是如此接近:这有效并展示了每个 VeriSign..

这显示了每个证书序列号..

我们需要类似的东西:

在伪代码中: 对于每个 VeriSign 证书,获取序列号,以便我们可以评估 sha 级别。

感谢(注 - 第六次回复)的帖子:有多少证书? https://social.technet.microsoft.com/Forums/en-US/3314021d-ad2a-4748-a93a-69e213845195/certutil-command-line-to-delete-local-personal-certificates?forum=w7itprosecurity

这可行,但想将其缩减为仅显示 VeriSign 证书:

查看最终脚本,但输出有点奇怪: