假设您有一个相互SSL服务,除了SSL之外,它还具有应用程序身份验证。因此,客户端提供证书(以及服务器),但客户端请求(例如,REST请求)还包含后端应用程序服务器验证的用户名/密码。
就客户端身份验证的“程度”而言,似乎有多个级别。一个级别(a)仅用于客户端提供由服务器CA存储中的CA签名的证书。另一个明显的级别(b)是服务器为了(a)加上确保应用程序凭证是正确的。第三级(c)是做(a)和(b)加上确保客户端证书与帐户唯一关联。
(c)的好处是它可以防止被“受信任的CA”信任的人滥用非法获得的应用程序密码。
我意识到这一切都是不太可能的,但我想知道(c)被认为是相互SSL的一部分,而不仅仅是(a)或(b)?
答案 0 :(得分:0)
您可以做的一件事是为您的应用程序提供一个不包含任何CA的单独信任库。这样,您就可以使用已授权的自签名证书授予客户端访问权限。
答案 1 :(得分:0)
我假设“相互SSL”是指TLS v1.0,1.1或1.2,包括基于服务器和客户端证书的身份验证,而“相互SSL的一部分”是指TLS规范的一部分。
使用此解释,只有(a)是相互SSL的一部分。 TLS规范包括与SSL握手消息共享证书。它不包括用户名/密码检查或检查帐户的SSL证书。