.net 使用SSL的Restful服务

.net 使用SSL的Restful服务,.net,wcf,rest,servlets,ssl,.net,Wcf,Rest,Servlets,Ssl,您好,我已经创建了一个Restful服务,并且我有一个Post方法,客户机将其称为Post方法。(WCF DOT net 4.0 VS 2012) 我的客户告诉我,他不会向我提供任何证书,我只需要用我的证书进行身份验证(他说的是单向身份验证) 我从我的证书颁发机构获得了.pfx文件,并使用导入选项在IIS 7中安装了.pfx 创建了一个网站并使其成为Https 443端口,并从下拉列表中选择导入的.pfx文件 选择我的网站并选择SSL设置,然后选中需要SSL并选中接受选项按钮-在客户端证书上 我

您好,我已经创建了一个Restful服务,并且我有一个Post方法,客户机将其称为Post方法。(WCF DOT net 4.0 VS 2012)

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

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

       'security mode="Transport"
            transport clientCredentialType="None"
          security'
    
    我的问题是

  • 我的客户是否必须在其计算机中安装由我的CA签名的.cert文件
  • 如果他安装了足够的证书,或者他需要在每次请求中使用该证书文件
  • 我如何确定某人是否使用由我的CA签名的其他证书文件
  • 如何验证证书
  • 这里缺少SSL HTTPS通信的任何内容

  • 请指导我如何使用SSL创建安全的Restful服务。

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

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

  • 您好,感谢您的回复,这真的很有帮助,对于第4点,如果客户是匿名的,我想确保只有某些人可以向我寻求服务(我想知道谁在向我发送请求),我想验证客户身份并发送回复(因此,使用证书如何处理此问题-我在请求客户端中没有用户信息)-因此,从服务器的角度来看,我如何使用证书找到客户端。您可以在自定义处理程序中访问客户端证书。这是一个教程。客户端可能不发送任何证书。如果要强制客户端发送证书,请在IIS的“客户端证书”区域中选择“需要”。然后它被称为“相互身份验证”验证或双向身份验证。您好,感谢您的回复,我的客户将始终随他的请求发送我的证书,以实现我遇到以下问题(claimset count=0)[link][link]对此的更好指导将对我更有帮助