使用SSL提供宁静的服务

时间:2015-02-20 15:20:26

标签: .net wcf rest servlets ssl

您好我已经创建了一个Restful服务,我有一个Post方法,客户端调用Post方法。(WCF DOT net 4.0 VS 2012)

我的客户告诉我,他不会向我提供任何证书,我只需要使用我的证书进行身份验证(单向身份验证就是他所说的)

  1. 我从我的证书颁发机构获得了.pfx文件,并使用导入选项在IIS 7中安装了.pfx。
  2. 创建一个网站并将其设为Https 443端口并从下拉列表中选择导入的.pfx文件
  3. 选择我的网站并选择SSL设置并选中要求SSL并选中接受选项按钮 - 在客户端证书上
  4. 我在配置文件中进行了以下更改,以指示此网站正在使用SSL

       'security mode="Transport"
            transport clientCredentialType="None"
          security'
    

    我的问题是

    1. 我的客户是否必须在我的CA签名的机器中安装.cert文件?
    2. 如果他安装的是足够的,或者他需要在每次请求中使用该证书文件?
    3. 我如何确定某人是否使用了我的CA签署的另一个证书文件?
    4. 我如何验证证书?
    5. SSL HTTPS通信中缺少任何内容。
    6. 请指导我使用SSL制作安全的Restful服务。

1 个答案:

答案 0 :(得分:0)

单向身份验证或简单SSL意味着只有服务器使用X.509证书对自己进行身份验证。客户是匿名的。

  1. 否。客户端无需安装由CA签名的证书。客户必须信任您的CA.许多CA证书已经在Windows信任存储中。如果您的CA证书不在其中,则客户端必须将CA证书安装到受信任的根证书颁发机构。
  2. 信任您的CA证书就足够了。客户不会在任何请求中发送任何证书。我们将在您通信开始时收到您的SSL证书并对其进行验证(检查您的证书是否由受信任的CA颁发)。
  3. 您的SSL证书中包含对您网站的引用。 CN服务器SSL证书的subject大致等于主机名。因此,如果您的服务在https://example.com上可以访问,那么您的SSL证书将具有CN = example.com。您可以查看https://www.google.com/。但是还有其他选项可以包括对证书的站点引用。当客户端验证服务器SSL证书时,它也会对此进行验证。在向您颁发SSL证书之前,CA应验证您是域的所有者。
  4. 我不明白。您(在服务器上)不验证任何证书。
  5. 您可以使用浏览器测试SSL。只需在浏览器中访问您的服务网址,如果您的服务也支持GET请求,您应该在没有任何警告的情况下得到响应。