【问题标题】:How WCF service and consumer client exchange keys for certificate?WCF 服务和消费者客户端如何交换证书的密钥?
【发布时间】:2015-07-02 17:40:32
【问题描述】:

我阅读了关于公钥和私钥如何在 security.stackexchange.com: How can I explain the concept of public and private keys without technical jargon? 上工作的简化。

无论我从那里了解到什么:私钥位于所有者处,所有者将加密数据与公钥一起发送给某人。公钥在客户端解密该数据,并加密发送给所有者的客户端数据。一旦数据在客户端通过公钥加密,则不能重复使用相同的公钥来加密该数据。只有私钥的所有者才能对数据进行多次加密和解密。

我的理解是对的吗?

我的问题是:公钥是如何从所有者到客户端的?

每次从服务器端向客户端发送相同的公钥,还是每次从服务器端向客户端发送不同的公钥?

@Ewan 说:

  1. 客户端:发送“你好”
  2. 服务器:这是我的公钥
  3. 服务器:请发送您的公钥
  4. 客户端:这是我的(用服务器公钥加密的)公钥
  5. 客户端:这是一个(使用服务器公钥加密的)请求
  6. 服务器:这是一个(用客户端公钥加密的)响应

这在上述步骤中提出了以下问题:

  1. 当客户端第一次向服务器发送 Hello 时,如何 hello 会以加密方式传送到服务器吗?

  2. 不明白为什么服务器会找到他的公钥?

  3. 为什么服务器要求客户端发送他的公钥?

【问题讨论】:

标签: encryption certificate public-key-encryption


【解决方案1】:

不,你错了:

  1. PersonA:创建公钥和私钥对

  2. PersonA:向 PersonB 发送公钥 (A)

  3. PersonB:使用公钥 (A) 加密数据

  4. PersonB:向 PersonA 发送加密数据

  5. PersonA : 使用私钥 (A) 解密加密数据

WCF 可以设置为执行多种类型的加密和协议,但基本上我认为您所要求的归结为

握手协议:

  1. 客户端:发送“Hello”(未加密)
  2. 服务器:这是我的公钥 (ServerPublicKEY = "123")
  3. 服务器:请发送您的公钥
  4. 客户端:这是我的公钥 (ClientPublicKEY = "ABC")
  5. 客户端:这是一个(使用 ServerPublicKEY 加密的)请求
  6. 服务器:使用服务器私钥解密并读取
  7. 服务器:这是一个(使用 ClientPublicKEY 加密)响应
  8. 客户端:使用客户端私钥解密

回答您的其他问题

q1: "当客户端第一次向服务器发送 Hello 时,hello 将如何以加密方式传输到服务器?"

a1:未加密

q2:“不明白为什么服务器找到他的公钥?”

a2:服务器发送一个公钥,以便客户端可以加密消息发送给服务器

q3:“为什么服务器要求客户端发送他的公钥?”

a3:服务器需要客户端的公钥,这样它才能加密发送给客户端的消息

【讨论】:

  • 我想知道当 PersonA 第一次向 PersonB 发送数据时,加密的数据不会从 PersonA 端传输到 PersonB 端。 PersonB 第一次向 WCF 服务发出请求,WCF 服务将以加密方式发送响应....我想我是对的。当服务以加密格式发送响应时,PersonB 如何在不解密的情况下读取它。
  • 你说的步骤让我很困惑。服务始终由消费者发起。因此,当消费者向 wcf 服务发送请求时,wcf 应该以加密格式返回数据以及公钥。另一个每次服务都会向消费者发送相同的公钥,或者每次通过 wcf 服务发送的公钥都会不同?
  • 所以服务器公钥和客户端公钥不一样?
  • 这有点令人困惑:你说服务器将公钥发送给客户端以加密消息,你再次说服务器需要客户端公钥以便它可以加密消息。当服务器向客户端发送公钥时,这意味着公钥服务器正在发送它被保存在服务器端的某个位置,那么为什么服务器再次要求客户端发送客户端公钥......这不清楚!
  • 有 2 个公共(客户端和服务器)和 2 个私有(客户端和服务器)密钥
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多