标签: certutil

从命令行将pfx文件导入特定的证书库

使用CertUtil从pfx文件导入证书到用户的个人存储中相对容易:

certutil –f –p [certificate_password] –importpfx C:\[certificate_path_and_name].pfx 
Run Code Online (Sandbox Code Playgroud)

但这最终会在当前用户的个人存储中出现.我需要在LocalMachine上的TrustedPeople中使用它.

有什么方法可以从命令行执行此操作,通过调用certutil importpfx上的不同参数,使用另一个certutil命令或其他实用程序?Powershell是另一种可能性,虽然我对此并不了解.

干杯,马特

powershell certificate certutil

32
推荐指数
4
解决办法
10万
查看次数

将证书导入受信任的根但不导入个人[命令行]

我正在尝试使用命令行将两个证书导入到我的本地计算机.

我有一个证书要添加到本地计算机的个人存储中,另一个要添加到受信任的根证书颁发机构.

以下是必须使用Personal Store而不是以root身份添加的命令:

certutil -f -importpfx CA.pfx NoRoot

并添加在受信任的根,而不是个人?有标签吗?我没有找到命令帮助"/?"

windows certificate root trusted certutil

19
推荐指数
2
解决办法
9万
查看次数

让我们加密证书,Python和Windows

我使用"Let"s Encrypt"将我的Web服务器从HTTP更改为HTTPS ."Web服务器包含一个API,我有一个使用API​​的Python应用程序.

在Linux下一切都很好,但在Windows下我收到这个,当我登录时.

[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)
Run Code Online (Sandbox Code Playgroud)

我的想法是,没有安装SSL证书.

所以我下载了"isrgrootx1.der"并将"lets-encrypt-x1-cross-signed.der"重命名为结尾的"*.cer".

然后我打开了Windows控制台,然后运行:

certutil -addstore "Root" "isrgrootx1.cer".
certutil -addstore "Root" "lets-encrypt-x1-cross-signed.cer".
Run Code Online (Sandbox Code Playgroud)

第二个命令失败,因为它不是根证书.我的问题是:在哪个组中安装了"lets-encrypt-x1-cross-signed.cer"?

python windows ssl-certificate certutil lets-encrypt

8
推荐指数
1
解决办法
901
查看次数

certutil:函数失败:SEC_ERROR_LEGACY_DATABASE:证书/密钥数据库采用旧的,不受支持的格式

我已经下载了经过验证的(非自签名)S/MIME证书和iceweasel(firefox),该证书存储在cert8.db中

然后我用了:

certutil -L -d <path_to_folder_that_cert8.db_resides>
Run Code Online (Sandbox Code Playgroud)

为了列出证书,然后我使用certutil给我的证书名称解压缩.p12文件:

pk12util -o mycertfile.p12 -n "<name_found_from_certutil>" -d <path_to_folder_that_cert8.db_resides>
Run Code Online (Sandbox Code Playgroud)

问题是我丢失了对p12存储的PC 的访问权限,现在我只有一个cert8.db拷贝到另一台PC.因此我重复了这些certutil && pk12util命令,但certutil失败了:

certutil: function failed: SEC_ERROR_LEGACY_DATABASE: The certificate/key database is in an old, unsupported format.
Run Code Online (Sandbox Code Playgroud)

我拼命尝试了3台不同的计算机,包括一台具有相同内核和libnss3-tools版本的计算机(就像我成功提取p12的初始桌面),这是:

$ uname -a 
Linux commander 3.16.0-4-amd64 #1 SMP Debian 3.16.7-2 (2014-11-06) x86_64 GNU/Linux 
Run Code Online (Sandbox Code Playgroud)

libnss3-tools 版本:2:3.17.2-1

有什么想法吗?

谢谢

certificate nss smime certificate-store certutil

7
推荐指数
3
解决办法
4万
查看次数

将CertUtil -hashfile的结果保存到变量并删除哈希的空格

我想保存一个结果

CertUtil -hashfile "path_to_file" MD5
Run Code Online (Sandbox Code Playgroud)

一个变量并删除命令行命令中的散列空格(更具体地说,我想在VS 2015 C++中的后处理命令行中使用它).

目前结果如下:

1)C:\ Users\admin> CertUtil -hashfile ping.txt MD5
2)文件的MD5哈希ping.txt:
3)4f 75 c2 2c 20 b4 81 54 72 2c a5 7c 95 7a 66 88
4)CertUtil:-hashfile命令成功完成.

我只需要该行3)- 将hexa字符串保存到变量然后删除空格.非常感谢!

windows command-line batch-file certutil

6
推荐指数
2
解决办法
7466
查看次数

以编程方式将证书安装到没有certutil.exe的Mozilla Firefox

如何在没有certutil.exe的情况下以编程方式将证书安装到Mozilla Firefox?我不想在Firefox上使用NSS库.certutil的替代品有哪些?有什么建议?

c# firefox certificate certutil

5
推荐指数
0
解决办法
552
查看次数

如何在java中将.CSR/p10/PKCS#10文件转换为.DER格式?

如何在Java中将.CSR(aka p10或PKCS#10)文件转换为.DER格式?

这是一个样本:

-----BEGIN CERTIFICATE REQUEST-----
MIICrzCCAZcCAQAwUTEOMAwGA1UEAxMFYm9ndXMxDTALBgNVBAsTBHRlc3QxDTALBgNVBAoTBGNh
c2UxITAfBgkqhkiG9w0BCQEWEmJvZ3VzQHRlc3RjYXNlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAJr3uT3018LE3gyqwAlPQba/bvw0f5YejudMLQa0ROAdUl/Yz3TlVDKB+cQK
9dTTza51FiWGKzi0xU9YZOXDfRcJoFPBR0Jkw09eh5fJ24oEsQQSgPeX11pYNaOF8vwmM8agU95I
jFiwbIuXdaOY2p7f9P1Z2G0fYZ2q34s+rbmiXVKG/YvTbAmb7BuavJ+BiwdddrJsP4WUyEmr+AzQ
2WTxTTrENx9b+2wl0qukYBLL5pWTi1EqoVIMIkxqWkKjh4Ate9L54o4lUn6WsrZGcwNOc9mreHZz
t/OtSr2zzRCDdNnuek+jw21h5rTVfeb+3ADKWDjFNvhip9xgZ6ecxKMCAwEAAaAZMBcGCSqGSIb3
DQEJBzEKEwhwYXNzd29yZDANBgkqhkiG9w0BAQQFAAOCAQEAdVfhpkb6RzdwTGxwv78JjCPmzDUn
f2SP90937fDF98xp12bvj3EX+dyyeNV52xKce2x5qIZirhiPQoIotAl9lQkTSE58BkZfgM9Bbaj6
0oDnUYH8VSKnK8Oz4R4+9FChYsG0ZUNcsbHH698csrEQT2lOgdG9tAp643KrfapySybzq6wBqK5c
HcyhiprKc7O+Nvv8vXyMRtVDJD/UQM9JJPmOhfc6B9/nLZg9BOvEAH6sAtrZXXLgZ1UJ840DToBP
CzYA3JPG+dTwuCKHWt7sVyMSkKiMb6FdAp1QeOSmismhKlWC/gGm3/Mj14GODo01T3EB0aK5gpok
zRZPM1TESg==
-----END CERTIFICATE REQUEST-----
Run Code Online (Sandbox Code Playgroud)

打印CSR/P10文件

我知道我可以certutil在Windows中使用Microsoft 命令来显示它.

例:

cerutil -dump <filename.p10>

PKCS10 Certificate Request:
Version: 1
Subject:
    E=bogus@testcase.com
    O=case
    OU=test
    CN=bogus

Public Key Algorithm:
    Algorithm ObjectId: 1.2.840.113549.1.1.1 RSA (RSA_SIGN)
    Algorithm Parameters:
    05 00
Public Key Length: 2048 bits
Public Key: UnusedBits = 0
    0000  30 82 01 0a 02 82 01 01  00 9a f7 b9 3d f4 d7 c2 …
Run Code Online (Sandbox Code Playgroud)

java pki csr pem certutil

5
推荐指数
1
解决办法
7912
查看次数

如何在没有提示的情况下使用certutil导入pfx?

我想使用cmd导入pfx.我正在使用certutils.但我得到一个提示,要求信任证书.我想自动导入导入,所以我想跳过警告提示.我怎么能做到这一点?

警告提示

我正在使用命令certutil -f -user -p PASSWORD -importpfx c:\ cert.pfx

windows pfx certutil

5
推荐指数
1
解决办法
2万
查看次数

从X509 Cert pfx文件获取字符串

我想以字符串(certString)的形式获得x509证书,以便可以像

var cert = new X509Certificate2(Convert.FromBase64String(certString));
Run Code Online (Sandbox Code Playgroud)

在代码中生成一个CertObject。

我已经尝试过certUtil,但是我不确切知道我需要哪个字符串。

我需要从pfx数据中提取哪个字符串才能生成Code中的X509证书对象?

c# x509certificate certutil

4
推荐指数
2
解决办法
3761
查看次数

无需外部工具,自动将带链的 x509 证书从 Server 2008 R2 导出到 p7b 文件?

我集中管理域控制器,但站点管理员在本地管理他们自己的数字发送器。我可以通过向导轻松地将包含整个链的 X509 证书(不需要私钥)从 Windows Server 2008 R2 域控制器导出到 p7b 文件:

~~~~~~~~~~~~~~~~~~

...5. 证书导出向导打开。点击下一步。

  1. 在“导出文件格式”对话框中,执行以下操作:

    一种。选择加密消息语法标准 – PKCS #7 证书 (.P7B)。

    湾 如果可能,请选中在证书路径中包含所有证书。

    C。点击下一步。

  2. 在要导出的文件对话框中,单击浏览。

  3. 在另存为对话框中,执行以下操作:

    一种。在文件名框中,键入 ciroots.p7b。

    湾 在保存类型框中,选择 PKCS #7 证书 (*.p7b)。

    C。单击保存。

  4. 在要导出的文件对话框中,单击下一步。

  5. 在“完成证书导出向导”页面上,单击“完成”。

~~~~~~~~~~~~~~~~~~

它工作得很好。生成的文件可以很好地导入到数字发送器中进行身份验证。它使站点管理员可以访问链中的其他证书(如果他们尚未导入)。它不需要包含私钥,因为没有它它也能正常工作。

问题是,我需要手动执行此操作,实际上是几十次,每个业务站点一次,因为每个站点都有自己的域控制器,每个域控制器都有自己的证书。必须有一种方法可以自动执行此证书导出(PowerShell w/.NET、certutil.exe 等)。也许使用 System.Security.Cryptography.X509Certificates X509IncludeOption 和 WholeChain 的东西,但我无法让它工作:

$Cert = (dir Cert:\localmachine\my)[0]

# PKCS7 证书导出文件扩展名为 .p7b。

$CertCollection = 新对象

System.Security.Cryptography.X509Certificates.X509Certificate2Collection

$证书| %{[void]$CertCollection.Add($_)}

$Exported_pkcs7 = $CertCollection.Export('Pkcs7')

$out_FileName = $ENV:COMPUTERNAME + ".p7b"

$My_Export_Path = 'd:\CertFiles\' + $out_FileName

Set-Content -path $My_Export_Path -Value $Exported_pkcs7 -encoding Byte …

powershell x509 certutil pkcs#7

4
推荐指数
1
解决办法
2725
查看次数

以编程方式将证书添加到受信任的发布者

我有一个已签名的 USB 驱动程序。我也有出版商提供的证书。如果我尝试安装驱动程序pnputil

pnputil /add-driver CerttName.cer /install
Run Code Online (Sandbox Code Playgroud)

系统询问我是否要将发布者添加到受信任的发布者。

为了避免它,我尝试以编程方式将证书添加到 Trusted Publishers

string file = @"C:\Certificates\CertName.cer";
X509Store store = new X509Store(StoreName.TrustedPublisher, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadWrite);
store.Add(new X509Certificate2(X509Certificate2.CreateFromCertFile(file)));
store.Close();
Run Code Online (Sandbox Code Playgroud)

证书已添加,但仍提示我pnputil将发布者添加到受信任的发布者。

如果我使用 certutil

certutil -addstore "TrustedPublisher" CertName.cer
Run Code Online (Sandbox Code Playgroud)

那么我不会被提示pnputil

我还尝试从 certmgr.msc 手动导入证书,但它也不起作用。

我不明白为什么只certutil工作而其他方式(特别是 X509Store)不行。

c# x509certificate2 certutil

2
推荐指数
1
解决办法
837
查看次数

无法将 Mozilla 的 cert9.db 与 certutil.exe 一起使用

以下命令:certutil.exe -L -d \xe2\x80\x9cC:\\Users\\Home\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\1bku2z91.default-1633392324717\\\xe2\x80\x9d\n返回此错误消息:certutil.exe: function failed: SEC_ERROR_LEGACY_DATABASE: The certificate/key database is in an old, unsupported format.

\n\n

我尝试了带引号和不带引号,将反斜杠更改为正斜杠。我发现目标文件夹必须包含注释secmod.db,而我的文件夹没有包含注释,但我认为这适用于cert8.db,而不是cert9.db。我正在根据about:support查找传递正确的文件夹。我的火狐版本是66.0.3

\n

certificate nss certutil

1
推荐指数
1
解决办法
3977
查看次数