Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.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
WCF相互SSL安全何时使用什么证书?_Wcf_Wcf Security_X509certificate_Ssl - Fatal编程技术网

WCF相互SSL安全何时使用什么证书?

WCF相互SSL安全何时使用什么证书?,wcf,wcf-security,x509certificate,ssl,Wcf,Wcf Security,X509certificate,Ssl,我正在使用具有相互SSL安全性的WCF服务,我想检查我对何时使用什么证书的理解 这是正确的吗 客户机将客户机公共证书交给服务器 服务器将服务器公共证书交给客户端 客户端发送使用服务器公共证书加密的请求 服务器使用服务器专用证书解密请求 服务器发送使用客户端公共证书加密的响应 客户端使用客户端专用证书解密响应 还是以其他方式起作用 RFC 2246第7.4节详细介绍了握手。对于您的问题,SSL/TLS的其他版本的工作方式非常类似 SSL/TLS涉及两种类型的加密。非对称密钥加密和对称密钥加密。证书

我正在使用具有相互SSL安全性的WCF服务,我想检查我对何时使用什么证书的理解

这是正确的吗

客户机将客户机公共证书交给服务器

服务器将服务器公共证书交给客户端

客户端发送使用服务器公共证书加密的请求

服务器使用服务器专用证书解密请求

服务器发送使用客户端公共证书加密的响应

客户端使用客户端专用证书解密响应

还是以其他方式起作用


RFC 2246第7.4节详细介绍了握手。对于您的问题,SSL/TLS的其他版本的工作方式非常类似

SSL/TLS涉及两种类型的加密。非对称密钥加密和对称密钥加密。证书用于非对称密钥加密,仅用于握手过程

证书使用的加密时间非常短,用于握手。服务器公钥/私钥对非对称密钥用于保护会话密钥对称密钥。客户机公钥/私钥对用于向服务器证明客户机就是它所说的客户机。它知道这一点,因为客户机能够使用只有它知道的客户机私钥对双方都知道的数据进行加密,而服务器可以使用客户机公钥对其进行解密

为了便于排序,我在下面的摘要列表中加粗了您问题的部分。以下是一个很好的总结:

TLS握手协议包括以下步骤:

客户机向服务器发送客户机hello消息,以及客户机的随机值和支持的密码套件。 服务器通过向客户端发送服务器hello消息以及服务器的随机值来响应。 服务器将其证书发送给客户端进行身份验证,并可以从客户端请求证书。服务器发送服务器hello done消息。 如果服务器已从客户端请求证书,则客户端将发送该证书。 客户端创建一个随机预主密钥,并使用服务器证书中的公钥对其进行加密,然后将加密的预主密钥发送到服务器。 服务器接收预主密钥。服务器和客户端分别基于预主密钥生成主密钥和会话密钥。 客户端向服务器发送更改密码规范通知,以指示客户端将开始使用新会话密钥对消息进行哈希和加密。客户端还发送客户端完成消息。 服务器接收更改密码规范,并使用会话密钥将其记录层安全状态切换为对称加密。服务器向客户端发送服务器完成消息。 客户机和服务器现在可以通过已建立的安全通道交换应用程序数据。从客户端到服务器以及从服务器到客户端发送的所有消息都使用会话密钥加密。
WCF请求/响应都将在客户端/服务器切换到使用会话密钥对称密钥进行加密之后进行。此时将不使用证书私钥/公钥。

RFC 2246,第7.4节详细介绍了握手。对于您的问题,SSL/TLS的其他版本的工作方式非常类似

SSL/TLS涉及两种类型的加密。非对称密钥加密和对称密钥加密。证书用于非对称密钥加密,仅用于握手过程

证书使用的加密时间非常短,用于握手。服务器公钥/私钥对非对称密钥用于保护会话密钥对称密钥。客户机公钥/私钥对用于向服务器证明客户机就是它所说的客户机。它知道这一点,因为客户机能够使用只有它知道的客户机私钥对双方都知道的数据进行加密,而服务器可以使用客户机公钥对其进行解密

为了便于排序,我在下面的摘要列表中加粗了您问题的部分。以下是一个很好的总结:

TLS握手协议包括以下步骤:

客户机向服务器发送客户机hello消息,以及客户机的随机值和支持的密码套件。 服务器通过向客户端发送服务器hello消息以及服务器的随机值来响应。 服务器将其证书发送给客户端进行身份验证,并可以从客户端请求证书。服务器发送服务器hello done消息。 如果服务器已从客户端请求证书,则客户端将发送该证书。 客户端创建一个随机预主密钥,并使用服务器证书中的公钥对其进行加密,然后将加密的预主密钥发送到服务器。 服务器接收预主密钥。服务器和客户机各自生成主服务器 基于预主密钥的密钥和会话密钥。 客户端向服务器发送更改密码规范通知,以指示客户端将开始使用新会话密钥对消息进行哈希和加密。客户端还发送客户端完成消息。 服务器接收更改密码规范,并使用会话密钥将其记录层安全状态切换为对称加密。服务器向客户端发送服务器完成消息。 客户机和服务器现在可以通过已建立的安全通道交换应用程序数据。从客户端到服务器以及从服务器到客户端发送的所有消息都使用会话密钥加密。
WCF请求/响应都将在客户端/服务器切换到使用会话密钥对称密钥进行加密之后进行。此时不会使用证书私钥/公钥。

RFC 2246第7.4节非常详细地介绍了握手:。如果您能将其总结为一个答案,我将给您一些分数;RFC 2246第7.4节非常详细地介绍了握手:。如果你能总结成一个答案,我会给你一些分数;这是一个很好的答案——最后一个小问题。我可以看到服务器证书是如何被证明的。客户端使用服务器公钥进行加密,因此需要服务器私钥进行解密。服务器如何从客户端获得相同的保证,即如果未知用户发送客户端公共证书,服务器如何知道源是坏的?当然-这在第7.4.8节“证书验证”中有详细说明。未知客户端加密一段数据这段数据是客户端和服务器都知道的,使用客户端私钥,服务器使用客户端公钥解密。然后服务器将其预期的内容与实际解密的内容进行比较。这是一个很好的答案——最后一个小问题。我可以看到服务器证书是如何被证明的。客户端使用服务器公钥进行加密,因此需要服务器私钥进行解密。服务器如何从客户端获得相同的保证,即如果未知用户发送客户端公共证书,服务器如何知道源是坏的?当然-这在第7.4.8节“证书验证”中有详细说明。未知客户端加密一段数据这段数据是客户端和服务器都知道的,使用客户端私钥,服务器使用客户端公钥解密。然后,服务器将预期的内容与实际解密的内容进行比较。