我需要保护应用程序和Web服务之间的通信。 我拥有应用程序和Web服务,我想知道是否可以使用HTTPS来实现这一点。
我不需要证书就可以向我证明我是谁(!),所以我不想从证书颁发机构购买SSL证书。我只需要确保没有人可以拦截我传递的数据作为WebMethod参数;我可以创建免费证书并使用它来保证通信吗?
另一件事:我不希望被迫为我的Web服务获取专用的公共IP地址,因为它托管在共享的Web服务器上。
答案 0 :(得分:2)
当然这是可行的,但取决于一些条件。
答案 1 :(得分:0)
有many articles显示如何在IIS中创建和安装自签名证书。您需要记住的是,此证书无效,因为它不是由证书颁发机构提供的。在服务器端设置证书后,您需要使用ServerCertificateValidationCallback属性向客户端指示接受无效证书:
ServicePointManager.ServerCertificateValidationCallback =
(sender, certificate, chain, sslPolicyErrors) => true;
答案 2 :(得分:0)
如果没有专用IP地址,您无法使用SSL证书(自签名或其他方式)。除非您的共享托管服务提供商在您的IP上提供共享SSL证书,否则您将需要购买专用IP。
答案 3 :(得分:0)
如果您想解决这个问题,可以使用自签名证书并使用三级服务器(或使用自签名的IIS服务器)作为您自己的证书颁发机构。这将允许您免费生成自己的证书,然后由于您可以控制服务器,您只需将CA服务器添加为可信和中间根证书颁发机构。
Creating Certificate Authorities and self-signed SSL certificates