Iis 如何为用于开发的域名创建自签名证书?
我有用于开发目的的Iis 如何为用于开发的域名创建自签名证书?,iis,ssl,certificate,ssl-certificate,self-signed,Iis,Ssl,Certificate,Ssl Certificate,Self Signed,我有用于开发目的的subdomain.example.com。我的web应用程序解决方案包含一个web API等,我需要从外部系统调用它,因此我不使用localhost 我现在需要测试SSL,并需要为我的子域.example.com开发域名提供证书 我已尝试创建中概述的自签名证书,但此证书仅适用于localhost。此证书是否可用于我的目的,或者我是否必须为我的开发子域创建自签名?如果我必须为我的开发子域创建自签名证书,我可以使用什么工具或在线服务(免费)?使用PowerShell 从Windo
subdomain.example.com
。我的web应用程序解决方案包含一个web API等,我需要从外部系统调用它,因此我不使用localhost
我现在需要测试SSL,并需要为我的子域.example.com
开发域名提供证书
我已尝试创建中概述的自签名证书,但此证书仅适用于localhost。此证书是否可用于我的目的,或者我是否必须为我的开发子域创建自签名?如果我必须为我的开发子域创建自签名证书,我可以使用什么工具或在线服务(免费)?使用PowerShell 从Windows 8.1和Windows Server 2012 R2(Windows PowerShell 4.0)及更高版本,您可以使用new
new SelfSignedCertificate
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管理器
www.domain.com
或subdomain.domain.com
使用IIS的自签名证书功能,您无法设置证书的通用名称(CN),因此无法创建绑定到您选择的子域的证书 解决此问题的一种方法是使用makecert.exe,它与.Net 2.0 SDK捆绑在一起。在我的服务器上,它位于:
C:\Program Files\Microsoft.Net\SDK\v2.0 64bit\Bin\makecert.exe
您可以按如下方式创建签名机构并将其存储在LocalMachine证书存储库中(这些命令必须从管理员帐户或在提升的命令提示符下运行):
然后,您可以创建绑定到您的子域并由新授权机构签名的证书:
(请注意,-in参数的值必须与用于生成上述权限的CN值相同。)
然后,您的证书应该出现在IIS管理器中,并绑定到您的站点,如Tom Hall的帖子中所述
Mike O'Brien在上发表了一篇出色的博客文章,为您的特定域创建了新证书,我们对他的解决方案表示敬意: 以管理员身份打开Powershell ISE,运行以下命令:
New-SelfSignedCertificate -DnsName *.mydomain.com, localhost -CertStoreLocation cert:\LocalMachine\My
要信任新证书:
- 打开mmc.exe
- 转到控制台根->证书(本地计算机)->个人
- 选择已创建的证书,右键单击->所有任务->导出,然后按照导出向导创建.pfx文件
- 转到控制台根->证书->受信任的根证书颁发机构并导入新的.pfx文件
- 打开IIS管理器
- 选择您的站点并在右侧窗格中选择编辑站点->绑定
- 添加具有正确主机名和新证书的新https绑定
openssl-req-new-x509-days 3650-extensions v3_ca-keyout root-cakey.pem-out root-cacert.pem-newkey rsa:4096
openssl-req-new-nodes-out server-csr.pem-keyout server-key.pem-newkey rsa:4096
opensslx509-req-days 365-CA root-cacert.pem-CAkey root-CAkey.pem-CAcreateserial-in-server-csr.pem-out-server-cert.pem
openssl pkcs12-export-out server-cert.pfx-inkey server-key.pem-in-server-cert.pem-certfile root-cacert.pem-name“自签名服务器证书”
- 打开命令提示符并键入mmc
- 单击文件
- 选择添加/删除管理单元…
- 双击证书
- 选择计算机帐户和下一步->
- 选择本地计算机和完成
- 正常
- 转到证书->受信任的根证书
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
New-SelfSignedCertificate -DnsName *.mydomain.com, localhost -CertStoreLocation cert:\LocalMachine\My
New-SelfSignedCertificate -DnsName "*.dev.local", "dev.local", "localhost" -CertStoreLocation cert:\LocalMachine\My -FriendlyName "Dev Cert *.dev.local, dev.local, localhost" -NotAfter (Get-Date).AddYears(15)
New-SelfSignedCertificate -DnsName "*.dev.local", "dev.local", "localhost" -CertStoreLocation cert:\LocalMachine\My
127.0.0.1 myname.dev.local
CheckNetIsolation LoopbackExempt -a -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe