问题标签 [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 回答
3724 浏览

certutil - 嗨,我在 certutil 中收到以下代码的参数错误错误

我是 certutil 的新手,我收到以下错误。任何帮助,将不胜感激。

“处置=20,notafter=>1/17/2014,证书模板=<1.3.6.1.4.1.311.21.8.1370017.958360.9715892.10314310.367570.155.3464656.3414923>”-out“Request.RequesterName,CommonName,NotAfter”</ p>

0 投票
0 回答
1641 浏览

windows - CertUtil importpfx Keyset 不存在

我有一个 p12 文件“test.p12”,它有一个证书、CA 证书(自签名)和证书的私钥。p12 文件是使用 BouncyCastle 的 C# API 生成的。

尝试使用“CertUtil”导入证书时,即“CertUtil -f -p password -importpfx test.p12”,CertUtil 生成以下错误:

关于什么可能是错误的任何线索?(我使用的是 Windows 10)

使用 openssl,我可以看到“test.p12”确实包含证书、CA 证书和私钥。该证书使用的是 EC 密钥对,但我怀疑这是一个问题,因为我有一个使用相同算法的参​​考 p12 文件,并且由 CertUtil 导入没有问题。不幸的是,我没有关于如何生成参考文件的详细信息。

在我的谷歌搜索中,许多人似乎认为这可能是一个权限问题,但我怀疑情况是否如此,因为我以管理员身份运行 CertUtil。

当使用带有证书管理单元的“MMC”导入相同的文件时,如果我强制 MMC 将其存储在特定存储(例如个人)中,则证书“成功”导入;否则,它会提示为证书选择智能卡。这可能是一个相关的问题吗?

谢谢,--Hyong

0 投票
2 回答
2919 浏览

batch-file - certutil -hashfile :处理拖放文件夹中的多个文件

我正在尝试创建一个批处理脚本,该脚本certutil -hashfile MD5在文件夹中的每个文件上运行并将输出写入文件。

我在下面有这段代码,除了它只适用于当前文件夹中的文件,我希望它能够工作,以便当一个文件夹被拖放到批处理文件 .bat 中时,它只处理该文件夹。

还有一种方法可以让它在certutil输出文本的迭代之间输出日志文件中的空格?

0 投票
0 回答
479 浏览

phonegap-build - Phonegap CertUtil:-importPFX 命令失败

我不断得到一个

`编译输出

CertUtil: -importPFX command FAILED: 0x80070002 (WIN32: 2 ERROR_FILE_NOT_FOUND) CertUtil: 系统找不到指定的文件。

我的“个人”

CertUtil:-delstore 命令成功完成。

当我尝试在 phonegap 构建上构建我的 Windows 应用程序时。

任何想法我做错了什么?

0 投票
0 回答
773 浏览

c# - certutil.exe 返回“指定的网络密码不正确”

  1. 我正在创建 CA 根证书,然后使用 Bouncy Castle 库创建自签名机器证书,如下所示。我在下面列出了整个实现。我能够创建受密码保护的 .PFX 文件。

  2. 尽管我创建了 CA 根证书,但我没有安装它,因为它已经安装在机器上(具有相同的主题和颁发者)。除此之外,我不确定原始 CAR 根证书 (MyCARoot.cer) 是如何创建的,但它是通过以下命令安装的:

    certmgr.exe /add MyCARoot.cer /c /s /r localMachine root

  3. 在某些时候,我能够安装使用 certutil.exe 创建的自签名机器证书 (.PFX),但是现在它总是返回上述错误。

  4. 我的问题针对一个或多个领域:

    • 我下面的实现是否正确 - 我是否错过了“允许私钥导出”或类似的东西......
    • 整个方法是否正确 - 我切换到它是因为我需要手动创建和安装自签名机器证书,而不是使用 makecert.exe 和 pvk2pfx.exe 一起提示用户输入私钥密码 4 次。 ..
    • 如何验证我生成的 .pfx 是否正确?(除了尝试使用 certutil.exe 安装它?

      /li>

和功能实现:

0 投票
2 回答
2955 浏览

batch-file - 在 BATCH 中使用 HASH SHA1 比较两个文件夹中的文件

我有这个批处理代码,但它是错误的,我需要在屏幕上查看文件夹 2 中不在文件夹 1 中的文件的名称,并将它们与您的 HASH SHA1 进行比较。临时文件位于同一目录中。我很欣赏你的评论

0 投票
1 回答
1083 浏览

ssl-certificate - 使用 certutil 验证 SSL 证书时出现 certutil 403 错误

我正在使用 certutil 来调试证书问题。

在我们所有的服务器上,除了一个之外,我可以使用以下命令成功检查任何证书:

在我们的其中一台服务器上,此命令失败(对于任何证书),并出现如下错误:

奇怪的是,当我通过浏览器(在同一台服务器上)访问这些 URL 时,文件下载没有问题(例如,可以毫无问题地下载以下证书吊销列表:http: //crl.comodoca.com/COMODORSAOrganizationValidationSecureServerCA.crl )

我检查了以下内容:

  • IP 设置在所有服务器上都具有可比性
  • 所有服务器上的代理设置都相同
  • 我在两台服务器上使用相同的用户帐户登录
  • 它发生在提升和非提升的命令提示符上

什么可能导致 403 错误?

0 投票
1 回答
1448 浏览

firefox - 在我们的安装过程中使用 nss-certutil 安装证书“有点”失败,firefox 58

随着 Firefox 的最新升级(版本 58),我们的产品安装在 Firefox 上开始“失败”。基本上,我们的安装程序代码将查询 Firefox 以查看我们的证书是否已经安装,nss-certutil -L -n name如果没有找到,我们然后安装证书nss-certutil -A ....

这是我们自签名的“根”证书,仅用于与本地节点服务器通信。到目前为止,这一直运行良好(我可以在 58 版中复制 .. 一些客户报告也可以在 57 版中复制)。安装脚本运行没有错误,但 Firefox 无法使用与节点服务器的安全连接进行连接。

从 options/security/certificates 查看已安装证书的列表,它不存在,但如果我运行nss-certutil -L -n name它,它就会被列出。

显然配置文件在版本 58 中已更改,但我找不到与此相关的任何内容。

另一条信息是我可以手动导入证书,这很有效,所以证书本身似乎没问题。

困惑和没有想法。有什么想法吗?

0 投票
2 回答
1742 浏览

windows - Microsoft OCSP 检查(OCSP 与轻量级 OCSP)和“certutil -url”的混淆响应

#Regular OCSP (RFC 6960) 我写了一个 OCSP 响应程序,其中响应基于RFC 6960,它声明:

如果未设置 nextUpdate,则响应者指示更新的撤销信息始终可用。

所以我没有设置 nextUpdate 而是BasicOCSPRespBuilder像这里一样使用 BouncyCastle (默认设置 thisUpdate,在 Wireshark Capture 中也可以看到):

但是这些响应被 IIS 中的证书身份验证器拒绝。在尝试 certutil 时,响应状态始终为“已过期”。

在此处输入图像描述

这是使用“certutil -url”命令验证的。

#Lightweight OCSP (RFC 5019) 一些谷歌搜索显示,微软根据RFC 5019支持 Lightweight OCSP,其中指出:

客户端必须检查 nextUpdate 字段是否存在,并且必须确保当前时间(如第 2.2.4 节所述,以 GMT 时间表示)位于 thisUpdate 和 nextUpdate 时间之间。如果 nextUpdate 字段不存在,客户端必须拒绝响应。

所以我修改了实现以包含一个 nextUpdate 日期(未来几分钟),如下所示:

这让我摆脱了“过期”状态问题,但现在的问题是,当它被部署到 Web 服务器并且我尝试执行“certutil -url”检查时,它为证书中的 WebProxy 链接返回“已验证”,但如果我直接提供服务器的 URL,它会显示“OK”。Response 结构在两种情况下都保持不变,因为它是同一个响应者(使用 Wireshark Capture 进行了验证,如果您愿意,我也可以附上它)。

在此处输入图像描述

#issuerKeyHash 字段 这里有趣的事实是,通过 WebProxy 和 Direct URL 发送到服务器的 OCSP 请求是不同的。不同之处在于 OCSP 请求不包括将issuerKeyHash请求发送到直接链接时。

Wireshark 捕获发送到 Webproxy 并返回“已验证”的 OCSP 请求:-

在此处输入图像描述

发送到返回状态“OK”的直接链接的 OCSP 请求的 Wireshark 捕获:-

在此处输入图像描述

问题是请求如何在一个实例中包含 issuerKeyHash 而在另一个实例中不包含。此外,即使来自服务器的 OCSP 响应相似(由 Wireshark Caputres 确认),为什么两个查询的状态也不相同。

在这方面,我还将感谢“URL 检索工具”或“certutil -verify”的任何有见地的文档/链接。

我还可以根据要求包含 Wireshark Captures。

我没有将 Java 和 Bouncycastle 作为标签包括在内,因为 Java、openssl 等都接受了 OCSP 响应,没有任何问题(根据 RFC 6960 有或没有 nextUpdate)。这个问题是为了了解 Microsoft certutil & OCSP Check here 发生了什么。

#Update #1 --- 开始更新 #1 ---

正如@Crypt32 所建议的那样;我可以验证当在 URL 字段中使用 URL 时,由于未知原因没有构建完整的证书路径,因此缺少IssuerKeyHash.

假设是响应始终包含IssuerKeyHash,这可能导致“OK”而不是“Verified”状态。为了确认这一点,我修改了响应以匹配请求并且没有发送IssuerKeyHash如果它没有在请求中交付但状态保持“正常”并且没有更改为“已验证”。

我们的想法是正确理解 Microsoft 应用程序如何处理 OCSP 响应以及如何正确实施响应程序,以使 Microsoft 应用程序不会一蹶不振。

研究正在进行中,任何建议和建议表示赞赏!

--- 结束更新 #1 ---

0 投票
1 回答
1429 浏览

c# - 混合使用 bouncycastle 和 .NET 时“缺少存储的密钥集”

在成功地将 ECC 私钥附加到我从 PKI 中检索到的 X509Certificate2 之后(主要遵循这个 SO 问题的答案),我需要在没有 P/Invoke 的情况下执行此操作。

所以我尝试像这样使用 bouncycastle 附加密钥:

这似乎起作用的部分原因是我可以在 MMC 中看到一个新证书,告诉我该证书有效并且我有该证书的私钥。中还有一个新条目%USER_HOME%\AppData\Roaming\Microsoft\SystemCertificates\My\Keys

但是当我使用它时certutil -user -store my,它告诉我“缺少存储的密钥集”。所以存储的证书似乎错过了存储密钥的链接或有错误的链接。

我认为这只是缺少一个小细节,但我就是不知道它是什么。有任何想法吗?

顺便说一句,我已经尝试按照我在网上找到的一些主题中的建议使用密钥和容器的密码,但这也无济于事。