Cra*_*aig 2 ssl certificate self-signed ssl-certificate iis-express
根据我的理解,实际上可以创建颁发给IP地址的证书.是否可以在IIS Express中执行此操作?
请注意,这仅用于测试.
编辑
人们似乎错过了我的问题的真正的肉和土豆,所以我删除了额外的细节.
谢谢你@Bruno的所有建议!! 使用单独的工具创建SSL证书让我朝着正确的方向前进.
首先,我尝试了IIS 6 selfssl命令行工具,该工具可能在第一步工作时也能正常工作(但在找到我当前的解决方案后我还没有测试过).第一步是创建证书,第二步是将证书绑定到我的IP /端口.
我使用Visual Studio命令提示符中的makecert来创建我的证书(这是我认为IIS 6资源工具包中的IIS 6 selfssl工具也可以工作的地方).创建证书后,我使用mmc管理单元控制台在"个人/证书"下找到它并添加"证书"管理单元.
makecert -r -pe -n "CN=0.0.0.0" -b 01/01/2011 -e 01/01/2025 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12
要将证书绑定到我的IP /端口,我使用了netsh.ipport应该更改为您的IP /端口.appid是一个GUID,我不相信这对你的设定很重要.certhash您可以从Thumbnail证书本身的字段中获取,但必须删除哈希中的空格.
netsh http add sslcert ipport=0.0.0.0:44300 appid={AnyGuid} certhash=YourCertificateThumbprint
正如我在这个答案中所说:
要使SSL/TLS安全,您至少需要3分:
第二和第三点由您的证书强制执行.您在第三点遇到问题:主机名验证.
使用自签名证书可以替代使用CA颁发的证书(PKI的一部分).这告诉您是否可以信任证书内容是真实的(由发行者声明).通过颁发和使用自签名证书,您可以自行声明其内容.您的客户必须明确信任您所说的内容.这适用于小型部署,您可以说服客户将自签名证书安装为受信任的证书.
主机名验证是此后必需的步骤.如果您使用他们的护照检查某人的身份,那么检查这是否是您认可的国家的真正护照是不够的:您还需要检查该照片是否与您面前的人匹配.这同样适用于此:您要连接的内容是主机名(或IP地址),它必须与您提供的证书中的主机名(或IP地址)相匹配.
当然,localhost只能从本地机器本身访问,有点像说"我".
作为服务器,您需要证书中的名称是您的客户打电话给您的名称.
使用主机名而不是IP地址通常更好.请注意,根据RFC 2818,如果您使用IP地址,它还需要在主题备用名称扩展中(尽管某些浏览器在该要求上将是灵活的).
(您可能也对此答案感兴趣.虽然它是关于Java服务器的,但原则是相同的,因为证书验证取决于客户端,可以使用任何语言.)
编辑:(你已经删除了初始问题的很大一部分,所以我上面的回答可能不完全有意义......)
简而言之,是的,您可以生成通过IP地址标识计算机的证书.
理论上(RFC 2818),IP地址必须在证书的主题备用名称(SAN)扩展中(它将是"IP"类型的SAN,而不是"DNS").但是,在实践中,规范的这个特定部分只是松散地遵循,因此您可能希望在主题DN的公用名(CN)中拥有IP地址.如果浏览器无法实现RFC 2818充分,你甚至可以逃脱只使用CN=your.ip.address在主题DN,而不必需要一个SAN项.(Java客户端似乎对此严格,但对于您的测试用例可能不是必需的.)
我不确定你生成的证书是什么.makecert.exe遗憾的是,似乎无法使用SAN生成证书.
在这种情况下,您可以使用OpenSSL生成自签名证书(例如,请参阅本答复底部的注释).如果需要,创建一个PKCS#12(带有扩展名.pfx或.p12来自私钥的文件和生成的证书(openssl pkcs12 -export -in cert.pem -inkey privkey.pem -out store.pfx).之后,请查看将.pfx文件中的证书配置到IIS Express中.您必须将证书和私钥导入你的证书存储(最有可能的是,双击应该触发正确的对话框).然后,使用它(好像它来自CA);根据你如何配置IIS,它可能必须涉及netsh.似乎有这里的教程:http://blogs.blackmarble.co.uk/blogs/rfennell/post/2011/03/22/how-to-expose-iis-express-to-external-network-connections-and-use- a-non-self-signed-certificate.aspx
(这些netsh命令也列在@MrZombie提到的这个问题中:您必须通过查看已安装的证书找到自签名证书哈希,并根据端口号调整端口号到你的设置.)
| 归档时间: |
|
| 查看次数: |
16768 次 |
| 最近记录: |