Crn*_*ena 8 iis-7.5 self-signed-certificate
对于开发环境,我可以在 IIS7.5 中创建创建自签名证书。但是该证书是 SHA-1 并且最近浏览器都在抱怨它。当我打开 FireBug 时,我看到以下警告:
“该站点使用 SHA-1 证书;建议您使用带有签名算法的证书,这些算法使用比 SHA-1 更强的散列函数。”
所以我的问题是:
1) 有没有办法创建比 SHA-1 更强的自签名证书?
2)如果没有,有没有办法告诉浏览器停止显示这些警告?
更新
我最终使用了@vcsjones 的答案,但这只是到目前为止。在使它工作之前,我必须解决几个问题。
1)由于某种原因,我无法导入带密码的证书。所以我最终创造了一个它没有。
2) 当我通过 IIS 导入 .pfx 证书时,当我尝试在“编辑绑定”中应用新证书时,我不断收到“指定的登录会话不存在”。所以我做了很少的研究,发现这个SO 答案很有用,特别是 Mike L 的答案。
我要补充的另一件事是,当您导入证书时,请记住选择 .pfx 证书。导入向导的默认选择是 *.cer,您可以导入它(我犯了错误),但后来我无法在 IIS 服务器证书中看到证书。当我仔细观察时,图标中缺少小钥匙。现在,我做了研究,我可以通过KB-889651文章修复它。因此,请确保您导入 .pfx,它无需修复即可工作。
另请注意,如果您对此证书存在信任问题,请将其也导入“受信任的根证书颁发机构”。
当然。作为makecert
Windows SDK 一部分的实用程序可以做到这一点:
makecert -len 2048 -r -a sha256 -sv private.pvk -n CN=localhost cert.cer
Run Code Online (Sandbox Code Playgroud)
该-a
参数设置哈希算法。这会输出一个 PVK 和一个 DER .cer 文件。您当然也可以将通用名称更改为您喜欢的任何名称,我只是以 localhost 为例。您可以使用pvk2pfx
(也是 SDK 的一部分)将这些组合成 PFX(IIS 在导入证书时更喜欢使用):
pvk2pfx -spc cert.cer -pvk private.pvk -pfx out.pfx
Run Code Online (Sandbox Code Playgroud)
这只需要makecert
生成的两个文件并将它们组合成一个 PKCS12 .pfx 文件。
使用生成的 PFX 文件,您将打开 IIS 并将其导入到服务器证书下,然后更改站点的绑定以使用新证书。
小智 6
我在工作中使用的是锁定的 Windows 7 Enterprise 计算机,因此我无法安装 Windows SDK 来访问makecert
. 这是我创建 sha256 自签名证书的方法(取自https://core.telegram.org/bots/self-signed):
在该目录中创建一个template.txt
包含以下内容的文本文件:
Run Code Online (Sandbox Code Playgroud)[NewRequest] ; At least one value must be set in this section Subject = "CN={your.domain.com}" KeyLength = 2048 KeyAlgorithm = RSA HashAlgorithm = sha256 ;MachineKeySet = true RequestType = Cert UseExistingKeySet=false ;generates a new private key (for export) Exportable = true ;makes the private key exportable with the PFX
替换{your.domain.com}
为您将用于访问您的网站的地址,例如"CN=localhost"
certreq -new template.txt RequestFileOut
certutil -store -user my
以获取包含序列号的转储{SERIALNUMBER}
为转储中的序列号和{YOURDER}.crt
输出文件的名称:certutil -user -store -split my {SERIALNUMBER} {YOURDER}.crt
{YOURDER}.crt
为输入文件{YOURPEM}.cer
的名称和输出文件的名称:certutil -encode {YOURDER}.crt {YOURPEM}.cer
{your.domain.com}
为您的实际(测试)域名和{YOURPKCS}.pfx
输出文件的名称:certutil -exportpfx -user {your.domain.com} {YOURPKCS}.pfx NoChain
之后,我转到 IIS 管理器,站点 -> {站点名称} -> 绑定...(在“编辑站点”下)。然后我点击了 https/443,因为我已经设置了它,编辑...并从列表中选择了新证书。
Firefox 抱怨我的网站使用的是自签名证书,所以我只是将其添加为例外,瞧!有效!
归档时间: |
|
查看次数: |
14783 次 |
最近记录: |