Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssl 客户端证书是如何工作的?_Ssl_Certificate_Client Certificates - Fatal编程技术网

Ssl 客户端证书是如何工作的?

Ssl 客户端证书是如何工作的?,ssl,certificate,client-certificates,Ssl,Certificate,Client Certificates,我正在与REST服务提供商合作,他们希望我在进行HTTP调用时使用他们提供的客户端证书 客户端证书如何实现身份验证? 如果某人有客户证书的副本,他们也可以通过身份验证,对吗? 除了身份验证之外,客户端证书还提供其他功能吗? 它们与用户名/密码身份验证有何不同 客户端证书如何实现身份验证 由对等方信任的人签名(包括自签名),或由对等方信任的人签名,等等 如果有人拥有客户证书的副本,他们也可以通过身份验证,对吗 错。他们还需要私钥 除了身份验证之外,客户端证书还提供其他功能吗 没有 它们与用户名/密

我正在与REST服务提供商合作,他们希望我在进行HTTP调用时使用他们提供的客户端证书

客户端证书如何实现身份验证?
如果某人有客户证书的副本,他们也可以通过身份验证,对吗?
除了身份验证之外,客户端证书还提供其他功能吗?
它们与用户名/密码身份验证有何不同

客户端证书如何实现身份验证

由对等方信任的人签名(包括自签名),或由对等方信任的人签名,等等

如果有人拥有客户证书的副本,他们也可以通过身份验证,对吗

错。他们还需要私钥

除了身份验证之外,客户端证书还提供其他功能吗

没有

它们与用户名/密码身份验证有何不同

更安全。不可能猜测密码


但是没有“他们提供的客户证书”这样的东西。生成客户端证书的过程从您开始。您生成密钥对和证书签名请求(CSR),并由CA对其进行签名。或者您生成自签名证书。然后,您向他们提供您的证书。如果他们建议执行所有这些步骤,并向您提供生成的密钥对和证书,他们不知道自己在说什么,应该因安全违规而受到严厉惩罚。只有在其他人没有副本的情况下,私钥才是私钥。

谢谢。在客户端通过证书提供公钥后,服务器如何对客户端进行身份验证?换句话说,客户端证书的私钥用于什么?客户端不仅提供他的证书,而且还提供由其私钥签名的证书(以及其他内容)上的数字签名。服务器将使用公钥验证这一点。这证明了客户机拥有该证书,但前提是没有其他人拥有或曾经拥有对私钥的访问权。这就是为什么“由他们提供”是完全无效和不安全的。没有私钥,他们无法生成证书,如果生成私钥,它就不是私钥。SSL证书与用户名/密码没有多大区别。它们都是你知道的,别人不应该知道的东西。SSL证书的核心是非对称密钥对(公钥/私钥);它可以像用户名/密码对一样被强力猜测。@Granger有很大的区别。SSL证书不是一个秘密,而另一个人签名的证书也有其他人对您身份的验证。@ Granger,您可以考虑您喜欢什么,但是从服务器发送到客户端的SSL证书不包含私钥。