Web services 无需购买(和续订)证书即可构建安全的web服务

Web services 无需购买(和续订)证书即可构建安全的web服务,web-services,iis,https,web,Web Services,Iis,Https,Web,目标是:一个安全的web服务,它将由两个客户端调用,这两个客户端都位于本地网络之外。保护web服务最明显的方法是通过https,从某个CA获得证书。问题是这是一种愚蠢的金钱浪费。CA的全部意义在于它是一个受公众信任的机构,因此我不必向每个想使用我的网页的人验证我的身份,CA正在为他们这样做。然而,当我与一小部分已知客户打交道时,而不是与公开的公众打交道时,我不需要任何人为我担保。我们可以通过自己的渠道进行核查 有没有办法做到这一点?理想情况下,我可以使用调用我的服务的人识别的证书来操作https

目标是:一个安全的web服务,它将由两个客户端调用,这两个客户端都位于本地网络之外。保护web服务最明显的方法是通过https,从某个CA获得证书。问题是这是一种愚蠢的金钱浪费。CA的全部意义在于它是一个受公众信任的机构,因此我不必向每个想使用我的网页的人验证我的身份,CA正在为他们这样做。然而,当我与一小部分已知客户打交道时,而不是与公开的公众打交道时,我不需要任何人为我担保。我们可以通过自己的渠道进行核查

有没有办法做到这一点?理想情况下,我可以使用调用我的服务的人识别的证书来操作https,如果没有其他人识别该证书有效,我不在乎。我不想让他们打这个电话。这应该是B2B数据传输(固定端点通信,而不是用于公共消费的服务)中的一个相当常见的需求,并且如果您正在传输实际文件,则很容易做到这一点(PGP样式的加密允许您直接验证和导入彼此的密钥)。但我不清楚这在网络会话中是否可行。如果不是的话,它当然应该是。我发现了一些自签名证书的文档,但它们似乎都只用于开发目的,或仅供内部使用,并且很快过期或需要在同一网络上

有没有一个好的方法来实现这一点?还是我必须加密web服务调用的内容?后者不太可取,因为它要求该服务的用户向其客户机应用程序添加加密代码(假设他们在一个平台上构建这些应用程序,该平台可以轻松添加对通用加密例程的支持,这可能是真的,也可能不是真的),而不仅仅依赖于标准的https框架


我正在Windows(IIS/ASP.NET)平台上工作,如果这有什么不同的话。

创建自己的CA并生成自签名证书是一种方法。没有理由认为它们只能用于发展,或者很快就会过期。你会控制这一切的


当我在Java环境中实现这一点时,我发现最有用的资源是on。您可能会找到与您的IIS环境更相关的资源。

创建您自己的CA并生成自签名证书是一种方法。没有理由认为它们只能用于发展,或者很快就会过期。你会控制这一切的


当我在Java环境中实现这一点时,我发现最有用的资源是on。您可能会找到与您的IIS环境更相关的资源。

要提供安全服务,您不需要任何证书,只需要https链接。你是对的,在你的情况下,证书对你没有任何帮助。如果您的访问者坚持要证书,那么我支持@sudocode的回答。

要提供安全服务,您不需要任何证书,只需要https链接。你是对的,在你的情况下,证书对你没有任何帮助。如果您的访问者坚持要证书,那么我支持@sudocode的回答。

我们的旧授权服务使用证书,但在重建过程中,我们去掉了证书,并为服务使用了亚马逊ec2风格的安全机制。

我们的旧授权服务使用证书,但在重建过程中,我们去掉了证书,使用了Amazon ec2风格的服务安全机制。

好的,这听起来不错,但你知道如何真正做到这一点吗?正如我所说的,我能找到的所有文章都提到了仅用于开发的证书,或者似乎在谈论建立一些企业CA并颁发仅在本地工作的证书。我需要从我们网络之外的系统访问它。好的,这听起来不错,但你知道如何真正做到这一点吗?正如我所说的,我能找到的所有文章都提到了仅用于开发的证书,或者似乎在谈论建立一些企业CA并颁发仅在本地工作的证书。我需要从我们网络之外的系统访问这个。这不是说从这里到那里你不需要汽油,只需要一辆车吗?我很确定证书交换是TLS(以及https)会话工作方式定义的一部分。我错了吗?对一个很好的比喻投赞成票:-)但你不需要证书。谢谢但我还是不明白这怎么可能。HTTPS是HTTP+SSL/TLS。根据维基百科对TLS的描述:[客户端+服务器]使用[握手]协商[连接]。。。[这]开始于客户端…呈现…密码和哈希函数。。。[T] 他选择了最强的。。。服务器以数字证书的形式发送其[ID]。。。。客户可联系[认证机构]并确认……证书。。。[T] 客户端用服务器的公钥加密一个随机数。。。从[this],两者都…生成关键材料…[用于连接]。如果[any step]失败,则不会创建连接。换句话说,证书的使用似乎是TLS定义中固有的,而这正是HTTPS使用的。这难道不是说从这里到那里你不需要汽油,只需要一辆车吗?我很确定证书交换是TLS(以及https)会话工作方式定义的一部分。我错了吗?对一个很好的比喻投赞成票:-)但你不需要证书。谢谢但我还是不明白这怎么可能。HTTPS是HTTP+SSL/TLS。根据维基百科对TLS的描述:[客户端+服务器]使用[握手]协商[连接]。。。[这]开始于客户端…呈现…密码和哈希函数。。。[T] 他选择了最强的。。。服务器在中发送其[ID]