对于开发环境,我可以在IIS7.5中创build创build自签名证书。 但是该证书是SHA-1,最近浏览器正在抱怨。 当我打开FireBug时,我看到以下警告:
“该站点使用SHA-1证书;build议您使用带有使用比SHA-1更强的散列函数的签名algorithm的证书。”
所以我的问题是:
1)是否有办法创build比SHA-1更强的自签名证书?
2)如果没有,有没有办法告诉浏览器停止显示这些警告?
UPDATE
我结束了使用@vcsjones的答案,但那只是我到目前为止。 在这之前,我们需要解决一些问题,然后才能开始工作。
1)出于某种原因,我无法使用密码导入证书。 所以我最终创造了一个没有。
2)当我通过IIS导入.pfx证书时,当我尝试在“编辑绑定”中应用新证书时,我不断收到“指定的login会话不存在”。 所以我做了很less的研究,发现这个答案是有用的,特别是Mike L的答案。
另外我要补充的是,当你导入证书时,请记得select.pfx证书。 导入向导的默认select是* .cer,您可以导入(我犯的错误),但是我无法在IIS服务器证书中看到证书。 当我向近处看时,图标中缺less一点钥匙。 现在,我研究了,我能够通过KB-889651文章修复它。 所以请确保您导入.pfx,它将无需修复。
另请注意,如果您对此证书有信任问题,请将其导入“受信任的根证书颁发机构”。
当然。 作为Windows SDK的一部分的makecert实用程序可以这样做:
makecert -len 2048 -r -a sha256 -sv private.pvk -n CN=localhost cert.cer
-a参数设置散列algorithm。 这就吐出了一个PVK和一个DER .cer文件。 你当然也可以把通用名改成你想要的任何东西,我只是用localhost作为例子。 您可以使用pvk2pfx (也是SDK的一部分)将它们组合成PFX(导入证书时使用的IIS):
pvk2pfx -spc cert.cer -pvk private.pvk -pfx out.pfx
这只需要生成两个文件makecert并将它们组合成一个PKCS12 .pfx文件。
使用生成的PFX文件,您可以打开IIS并将其导入服务器证书下,然后更改站点的绑定以使用新证书。
我正在使用locking的Windows 7企业计算机,因此我无法安装Windows SDK以访问makecert 。 以下是我创build我的sha256自签名证书的方法(摘自https://core.telegram.org/bots/self-signed ):
在该目录下创build一个名为template.txt的文本文件,内容如下:
[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}replace为您将用于访问您的网站的地址,例如"CN=localhost"
certreq -new template.txt RequestFileOut certutil -store -user my以获取包含序列号的转储 {SERIALNUMBER}replace为转储中的序列号和{YOURDER}.crt中的输出文件的名称: certutil -user -store -split my {SERIALNUMBER} {YOURDER}.crt {YOURDER}.crtreplace为input文件的名称,将{YOURPEM}.cer与输出文件的名称replace为: certutil -encode {YOURDER}.crt {YOURPEM}.cer {your.domain.com}replace为实际(testing)域名, {YOURPKCS}.pfxreplace为输出文件的名称: certutil -exportpfx -user {your.domain.com} {YOURPKCS}.pfx NoChain 之后,我去了IISpipe理器,站点 – > {站点名称} – >绑定…(在“编辑站点”下)。 然后我点击了https / 443,因为我已经设置好了,编辑…并从列表中select了新的证书。
Firefox抱怨说我的网站正在使用自签名证书,所以我只是把它作为一个例外添加进来,瞧! 有效!
是的,我得到了“指定的login会话不存在”错误/警告消息了。
我只是再次点击确定,它接受了。