当前位置: 首页 > 知识库问答 >
问题:

如何为在Windows 10及以下版本上开发的域名创建自签名证书?

柴晔
2023-03-14

我有子域。实例com,我用于开发目的。我的web应用程序解决方案包含一个web API等,我需要从外部系统调用它,因此我没有使用localhost。

我现在需要测试SSL,并需要为我的子域提供证书。实例com开发域名。

我已尝试创建自签名证书,如中所述http://technet.microsoft.com/en-us/library/cc753127(v=ws.10)。aspx,但此证书仅适用于localhost。此证书是否可用于我的目的,或者我是否必须为我的开发子域创建一个自签名?如果我必须为我的开发子域创建自签名证书,我可以使用什么实用程序或在线服务(免费)?


共有3个答案

权黎昕
2023-03-14

要为特定域创建新证书,请执行以下操作:

以管理员身份打开Powershell ISE,运行命令:

New-SelfSignedCertificate -DnsName *.mydomain.com, localhost -CertStoreLocation cert:\LocalMachine\My

要信任新证书,请执行以下操作:

  • 打开mmc.exe
  • 转到控制台根-

要将证书绑定到站点,请执行以下操作:

  • 打开IIS管理器
柯锋
2023-03-14

使用IIS的自签名证书功能,您无法为证书设置通用名称(CN),因此无法创建绑定到您选择的子域的证书。

解决这个问题的一种方法是使用makecert。exe,它与绑定。Net 2.0 SDK。在我的服务器上,它位于:

C:\Program Files\Microsoft.Net\SDK\v2.0 64bit\Bin\makecert.exe

您可以创建签名权限并将其存储在LocalMachine证书存储库中,如下所示(这些命令必须从管理员帐户或在提升的命令提示符中运行):

makecert.exe -n "CN=My Company Development Root CA,O=My Company,
 OU=Development,L=Wallkill,S=NY,C=US" -pe -ss Root -sr LocalMachine
 -sky exchange -m 120 -a sha1 -len 2048 -r

然后,您可以创建绑定到您的子域并由您的新权限签名的证书:

(请注意,-in参数的值必须与用于生成上述权限的CN值相同。)

makecert.exe -n "CN=subdomain.example.com" -pe -ss My -sr LocalMachine
 -sky exchange -m 120 -in "My Company Development Root CA" -is Root
 -ir LocalMachine -a sha1 -eku 1.3.6.1.5.5.7.3.1

然后,您的证书应该出现在IIS管理器中,以绑定到您的网站,如Tom Hall的帖子中所述。

Mike O'Brien在上发表了一篇出色的博客文章,我们对这一解决方案表示敬意http://www.mikeobrien.net/blog/creating-self-signed-wildcard

荆煌
2023-03-14

使用PowerShell

从Windows 8.1和Windows Server 2012 R2(Windows PowerShell 4.0)及更高版本,您可以使用新的New-SelfSigned证书cmdlet创建自签名证书:

示例:

New-SelfSignedCertificate -DnsName www.mydomain.com -CertStoreLocation cert:\LocalMachine\My

New-SelfSignedCertificate -DnsName subdomain.mydomain.com -CertStoreLocation cert:\LocalMachine\My

New-SelfSignedCertificate -DnsName *.mydomain.com -CertStoreLocation cert:\LocalMachine\My

使用IIS管理器

  1. 启动IIS管理器
 类似资料:
  • 我正在遵循这些准则使用OpenSSL生成自签名证书。 有人有办法解决这个问题吗?该文件存在,并且其在conf文件中的路径名正确...

  • 我正在为嵌入式Linux设备添加HTTPS支持。我尝试通过以下步骤生成自签名证书: 这是可行的,但我得到一些错误,例如,谷歌Chrome:

  • 我有一个在本地系统帐户下作为Windows服务运行的自托管WCF服务器。我正在尝试用C#以编程方式创建一个自签名证书,用于使用消息级安全性的Net.tcpendpoint。 我可以在资源管理器中看到这个1.43KB的文件。如果我查看propertiesSecurity,我会看到SYSTEM和Administrators都具有完全控制权。 在研究这个错误时,我看到了许多关于私钥丢失或权限不正确的答案

  • 正如标题所说。我开始向站点添加服务工作者,为了使他们工作,他们需要有效的SSL证书。我已经有一段时间让我的本地开发服务器通过https提供一个自签名的证书,尽管Chrome给出了“不安全”的消息,直到现在我才忽略了这个消息。我在这里看到过很多类似的问题(使用localhost),但没有任何与我的设置(在localhost上使用虚拟主机)匹配的问题,而且我尝试过的问题都没有奏效。 我将描述我的设置:

  • 我想生成一个自签名SSL证书,并将其与Tomcat一起使用。 我怎么能这样呢?

  • 我的手被https、ssl、PKI之类的东西弄得脏兮兮的。对于自签名证书,有一点我不太理解。假设我想创建一个自签名证书,并在我们想要建立安全连接时将其发送给我的朋友。 所以步骤是: 创建一个私钥。 创建一个公钥。 用我的公钥在证书上签名。 因此,当我的朋友得到我的证书时,他必须验证他得到的证书是我的,他需要解密数字签名。但为了解密和验证他必须拥有我的私钥。所以,我有点困惑。