我正在为我的 NodeJS API 开发一种身份验证方法。 我正在使用 TLS 证书来验证连接到我的 API 服务器的客户端。 我的问题是:我们能否有办法验证返回给客户端的响应?我们可以为此使用证书(服务器到客户端)吗?
例如:当我们从客户端调用 API 时,我们会发送带有经过身份验证的请求的证书,如果发现有效,服务器会发送响应,反之亦然,发送证书作为响应并让客户端验证证书。
最佳答案
整个 TLS
协议(protocol)和证书已经围绕您信任服务器这一理念构建。 IE。服务器在建立TLS
连接期间提供证书,客户端可以通过检查它是否信任颁发证书的 CA 来验证该证书。
现在虽然这通常是这样,但您可以拥有允许通过不检查证书或检查但无论如何继续进行来绕过此问题的库,因此您必须仔细检查是否不是这种情况。浏览器会自动执行此操作。
如果您点击 Chrome 中 URL 左侧的绿色“安全”按钮,例如您可以单击那里的“证书”并查看服务器提供的证书。如果它是绿色的,那么它是可信的,一切都很好。
附言客户端和服务器都不会在每次请求/响应时来回发送证书。他们只在建立称为 TLS 握手的连接期间执行一次。这是一个相对昂贵的过程,因此您最好保持连接。
关于ssl - API响应中的数字证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51894286/