单向休息呼叫时的双向SSL或单向SSL?

时间:2016-06-09 01:01:28

标签: rest ssl ssl-certificate

我创建了一个client-rest-api,它调用了server-rest-api(单向调用)。我的client-rest-api使用server-rest-api颁发的证书。但是我的client-rest-api从未向server-rest-api颁发任何证书。它是单向ssl还是双向ssl?

事件虽然它只是从客户端到服务器的单向调用,但我认为它的双向ssl,因为这里server-rest-api验证客户端是否拥有服务器发出的适当证书?

2 个答案:

答案 0 :(得分:13)

单向SSL身份验证是指客户端仅验证服务器的证书。进行此验证是为了确保它是预期的服务器,即没有中间人攻击。

双向SSL身份验证(或更好的相互身份验证或客户端身份验证)是服务器还验证客户端的证书。这样做是为了使用证书对服务器验证客户端。

这意味着REST是否涉及无关紧要。颁发证书的人也无所谓。所有重要的是TLS层的通信,即服务器是否请求客户端证书并且客户端发送它。由于从您的描述看起来后者就是这种情况,因此它是双向SSL身份验证。但我真的建议把它称为“#34;相互认证"或者"客户端身份验证"因为这样可以减少实际操作的混乱。

答案 1 :(得分:0)

一种SSL方式主要用于B2C场景,在这种情况下,服务器不在乎谁是客户端,只有客户端才能确保它与它信任的服务器进行通信,而SSL的两种方式(也称为可变SSL)主要用于B2B使用中-客户服务器和客户端之间进行身份验证,并且双方之间的通信是通过相互信任建立的。您可以阅读本教程,对one-way SSL and Two-Way SSL进行更详细的说明,并清楚地说明所有步骤。