相关疑难解决方法(0)

将CERT/PEM证书转换为PFX证书

我已经看到了几个关于如何将PFX转换为证书文件的问题,但我需要采取另一种方式.

我有两个文件:

bob_cert.cert

bob_key.pem

我想将它们转换为单个.pfx文件.有没有这样做的工具?

certificate

162
推荐指数
4
解决办法
29万
查看次数

为localhost创建受信任的自签名SSL证书(用于Express/Node)

尝试遵循有关创建自签名证书以与localhost一起使用的各种说明,大多数说明似乎适用于IIS,但我正在尝试使用Nodejs/Express.它们都没有正常工作,因为在安装证书时,它不受信任.这是我尝试过的失败:

有人可以提供可以做到这一点的工作流程吗? 我可以安装一个证书,但我无法让chrome(v32)或IE(v10)中的证书受到信任.

编辑:在评论中建议问题是没有受信任的cert-root.我通过IE安装了证书,但它仍然不受信任.

openssl localhost ssl-certificate node.js express

110
推荐指数
8
解决办法
12万
查看次数

在PKCS12导出过程中,OpenSSL挂起,"加载'屏幕'进入随机状态"

我正在使用OpenSSL(而不是makecert)生成自签名SSL证书,以便在IIS中使用.

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes -subj '//CN=myhost'
Run Code Online (Sandbox Code Playgroud)

(双斜杠是正确的.没有它,上面的命令不起作用.)

openssl pkcs12 -export -out key.pfx -inkey key.pem -in cert.pem -name 'myhost'
Run Code Online (Sandbox Code Playgroud)

第一个命令运行成功完成.然而第二次陷入困境

将"屏幕"加载到随机状态 -

我正在使用Git for Windows(2.6.3)附带的OpenSSL(1.0.2d).有人遇到同样的问题吗?

澄清:问题如何在openssl修复"无法写入'随机状态'"描述了与写入.rnd文件有关的问题.这里的问题似乎是产生随机状态.(仅在第二个命令中.)

windows ssl openssl

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

Azure 应用服务无法验证 .pfx 文件:证书验证失败,因为无法加载

多年来,我一直能够使用Stack Overflow 答案中的 OpenSSL 创建方法上传新的 pfx 文件,以在 Azure 应用服务上进行 SSL 绑定:

openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt
Run Code Online (Sandbox Code Playgroud)

但是,现在执行相同的操作会出现此错误:

至少有一个证书无效(证书验证失败,因为无法加载。)

pfx错误

有哪些方法可以解决这个问题?

ssl certificate azure pfx azure-web-app-service

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

证书问题:来自P7B和CRT的KEY或PFX

我是证书的新手,这是我第一次买它.

我生成了CSR文件(在IIS中)并使用GoDaddy网站购买了证书.他们给我发了两个文件:P7B和CRT.由于我将使用Azure Web角色的证书,我需要PFX.如何仅使用CSR,P7B和CRT创建它?

certificate ssl-certificate pfx x509certificate

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

ASP.NET:使用文件中的公钥和私钥对URL进行签名

我想更新Google AMP缓存,因此我需要按此处所述签署一个网址.

我的主要问题:我正在努力获取我的证书/密钥,以及如何将它们包含在我的代码中.我找不到任何关于Windows和IIS的覆盖说明.

我一直在阅读这些帖子:

  1. 使用/ update-cache请求更新AMP页面
  2. 如何使用RSA和SHA256与.NET签署文件?

我不想使用第二篇文章中描述的计算机证书存储区.我宁愿在磁盘上使用公钥和私钥.从我的生产服务器IIS,我将我的证书导出到.pfx文件,然后我使用此站点底部的说明从中提取私钥和证书.server.key包含-----BEGIN RSA PRIVATE KEY-----,如果我使用它加载到privateCert下面代码中的变量抛出错误Cannot find the requested object.

我已经从我的SSL提供商得到: www_example_com.crt,www_example_com.p7b,的certificate code(见下文).

我采取的步骤:

  1. test-public-key.cer通过打开www_example.com.crt并使用Copy to file向导将其复制到base64编码的.cer文件来创建.
  2. certificate code收到了来自我的SSL提供商的文件test-private-key.cer.

当我运行以下代码时,我收到错误

你调用的对象是空的.

在线 key.FromXmlString(privateCert.PrivateKey.ToXmlString(True))

Dim publicCert As X509Certificate2 = New X509Certificate2("C:\temp\_certificates\test-public-key.cer")
Dim privateCert As X509Certificate2 = New X509Certificate2("C:\temp\_certificates\test-private-key.cer")

'Round-trip the key to XML and back, there might be a better way but …
Run Code Online (Sandbox Code Playgroud)

asp.net ssl rsa certificate google-amp

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

服务器模式 SSL 必须使用带有关联私钥的证书 - 在 TLS 握手期间

我有证书someCert.cer。我使用 MMC 实用程序将其导入到本地证书存储中。我的 C# 应用程序可以使用以下代码访问它:

var store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
X509Certificate2 certificate = null;
store.Open(OpenFlags.ReadOnly);
try
{
    var certificateCollection = store.Certificates.Find(X509FindType.FindByThumbprint, "THUMBPRINT", false);
    certificate = certificateCollection[0];
}
finally
{
    store.Close();
}
Run Code Online (Sandbox Code Playgroud)

该应用程序公开 TCP 套接字,当我尝试使用客户端应用程序连接到它时,出现异常: The server mode SSL must use a certificate with the associated private key

事实上,我的证书的 PrivateKey 属性是空的。我导入的证书是否不正确,或者我应该在将证书导入商店之前对证书进行一些处理吗?

我的服务器身份验证代码如下所示:

stream.AuthenticateAsServerAsync(certificate, false, SslProtocols.Tls | SslProtocols.Tls11 | SslProtocols.Tls12, true);
Run Code Online (Sandbox Code Playgroud)

c# ssl ssl-certificate x509certificate2

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

使用LetsEncrypt.org SSL证书签署Visual Studio应用程序

我对数字签名很陌生,我试图让人们在不同的计算机上运行.NET应用程序时看起来很安全.我已经为自己生成了一个Let's Encrypt证书,它在我的网页上按预期工作.根据各种资源,我将证书转换为PFX并尝试将其用于数字签名,但随后VS大喊"所选证书文件对代码签名无效".当我在我的EXE文件上运行SignTool时,我收到错误"没有找到符合所有给定条件的证书",并且调试显示我的证书没有通过EKU过滤器.

我正在努力实现的目标是什么?如果是这样,我做错了什么?

.net digital-signature visual-studio lets-encrypt

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

Windows:如何使用 Certum 颁发的证书对 exe 进行签名?

我的目标是使用证书在 Windows 上签署一个未签名的可执行文件。根据我的一般知识,我知道我需要一个公钥和一个私钥对来进行数字签名。我还安装了 Windows SDK,它提供signtool.exemakecert.exe.

我已经在线获得了证书,包括 CER、PEM 和 CRT 文件。

我现在的问题是我必须如何使用这些工具和证书文件来签署可执行文件。根据这里,CRT 文件是私钥。从我目前了解到的情况来看,CER 和 PEM 文件基本相同,但编码不同。它们是干什么用的?它们是公钥吗?以及如何签署我的可执行文件?

编辑:我尝试将 CRT 文件安装到证书存储区,然后使用该证书进行签名:

"C:\Program Files (x86)\Windows Kits\8.1\bin\x64\signtool.exe" sign /debug /fd SHA256 /a /n "<Issued_To>" /t http://timestamp.comodoca.com/authenticode <Filename>
Run Code Online (Sandbox Code Playgroud)

这里<Issued_To>用证书中的数据替换,<Filename>是我要签名的文件的名称。我从 signtool 得到的输出如下:

The following certificates were considered:
    ...

    Issued to: ...
    Issued by: Certum Code Signing CA SHA2
    Expires:   Thu Oct 12 14:37:04 2017
    SHA1 hash: BA081A67D3F2DDDC9268121DCBA04F43D6CD37FB

    ...

After EKU filter, 1 certs were left.
After expiry …
Run Code Online (Sandbox Code Playgroud)

windows code-signing certificate digital-signature

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

Azure的SSL证书

我想将SSL证书设置为我的Azure网站.CA,Gandi给了我一个.crt文件.但是,Azure需要带有私钥的.pfx文件.

我必须说我不习惯处理SSL证书: - /

我之前搜索了一些解决方案,但是没有任何效果.其中一个是使用openssl转换我的.Crt文件,但是当我尝试这些命令时,我有一条错误消息,表示无法识别私钥.

.crt文件不包含私钥?我只有这个.crt文件,在哪里可以找到私钥?

感谢您阅读我的问题,任何答案将不胜感激:-)

.net ssl azure

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

如何将 pem 转换为 pfx 文件?

这让我感到困惑

Convert pfx to PEM:
openssl pkcs12 -in certificatename.pfx -out certificatename.pem
Run Code Online (Sandbox Code Playgroud)

做到这一点转储出一个单一的纯文本文件。

现在如何将此纯文本 pem 转换回 pfx?

我看到转换为 pfx 的唯一命令需要单独文件中的 cer 和私钥:

Convert CER and Private Key to PFX:    
openssl pkcs12 -export -in certificatename.cer -inkey privateKey.key -out certificatename.pfx -certfile  cacert.cer
Run Code Online (Sandbox Code Playgroud)

windows openssl certificate ssl-certificate pfx

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

https 使用手动 ssl 证书和 kestrel useHttps

我正在尝试使用 https 和 .Net Web API 设置一个简单的 API。

public class Program
{
    public static void Main(string[] args)
    {
        BuildWebHost(args).Run();
    }

    public static IWebHost BuildWebHost(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .UseKestrel(options =>
            {
                string key = {{private.key}} //is this the password it wants?
                options.Listen(IPAddress.Any, 50790);
                options.Listen(IPAddress.Any, 40354, listenOptions =>
                {
                    listenOptions.UseHttps("certificate.crt", key);
                });
            })
            .Build();

}

//{{private.key}} is the private key in a string.
Run Code Online (Sandbox Code Playgroud)

在启动和连接 http 时使用它可以正常工作,但是一旦我尝试使用 https,我就会收到巨大的错误并且没有响应发送到客户端。

从让我们加密得到一个证书:ca_bundle.crt、certificate.crt 和 private.key。

这是我尝试使用 https 连接时遇到的错误:

失败:Microsoft.AspNetCore.Server.Kestrel[0] 从 IConnectionAdapter 的 OnConnectionAsync 方法未捕获异常。System.NotSupportedException:服务器模式 SSL 必须使用具有关联私钥的证书。在 …

c# ssl asp.net-web-api kestrel-http-server

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

如何从 .cer 和 .key 获取 .pfx 文件?

在这里提问之前。我已经搜索了很多关于我的问题。而且问题依然存在。以下是我已经阅读过的帖子的参考。

如何从证书和私钥创建 .pfx 文件?

将 CERT/PEM 证书转换为 PFX 证书

如何从 .key 和 .crt 文件中获取 .pem 文件?

如何从 .cer 文件生成 .pfx 文件?

概述

我正在尝试:

视窗 10 64 位

IIS(版本 10.0.16299.15)

我已经安装了 Win32 OpenSSL v1.1.0g

这些是我可用的文件:

  • 服务器.cer

  • 服务器.key

我试过什么?

我还尝试了从搜索帖子的各种方法,但我在这方面缺乏经验确实阻碍了我的努力。

下面的命令我在终端试图创建我server.keyserver.cer文件。

set RANDFILE=c:\certificate\.md

set OPENSSL_CONF=c:\OpenSSL-Win32\bin\openssl.cfg

c:\OpenSSL-Win32\bin\openssl.exe genrsa -out server.key 2048`

c:\OpenSSL-Win32\bin\openssl.exe req -new -key server.key -out server.cer -config C:\OpenSSL-Win32\bin\openssl.cfg

c:\OpenSSL-Win32\bin\openssl.exe pkcs12 -export -in server.cer -inkey server.key -out server.pfx
Run Code Online (Sandbox Code Playgroud)

输出 在此处输入图片说明

错误:无法加载证书

我想要的是?

如何从证书和私钥创建 .pfx 文件?让我知道我在代码中做错了什么。

windows security ssl ssl-certificate

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