签名和交换密钥类型 - 它们是什么,何时使用每个(使用Makecert -sky)?

20

-sky开关指定主体的密钥类型,必须是签名、交换或表示提供程序类型的整数。默认情况下,可以传递1表示交换密钥,2表示签名密钥。

如果我理解正确,那么“signature”和“exchange”是两种密钥类型?在什么情况下使用每种密钥类型?

谢谢。


https://learn.microsoft.com/zh-cn/windows-server/identity/ad-fs/technical-reference/ad-fs-and-keyspec-property#keyspec-values-and-associated-meanings 指出 KeyExchange 可用于遗留的 CAPI(非 CNG)证书,该密钥可用于签名和解密“SSL、令牌签名、令牌解密、服务通信证书”,而 Signature 只能用于遗留的 CAPI(非 CNG)证书,该密钥仅用于签名。 - tks.tman
4个回答

10

没错,这就是两种非对称密钥(公钥/私钥)。非对称密钥通常用于两个目的: 1)加密会话密钥 2)创建数字签名

当谈到密钥类型时: Exchange = 加密会话密钥 Signature = 创建数字签名

这里有一个链接提供了一个很好的解释。 非对称密钥


2
如果您没有设置-sky选项,那么默认的密钥类型是什么? - Colin Pear

2
答案隐藏在文章的最后,其他答案中提到了这一点。
简而言之,签名密钥和交换密钥在技术上没有区别,只是存储方式不同。典型用户会有两个不同用途的密钥对(“交换”和“签名”),它们将存储在相应的密钥存储“槽”中。如果需要,密钥库实际上可以包含更多密钥对。

1
  1. 对于 Microsoft Legacy CSP:

签名或交换密钥类型有所不同。 密钥类型:交换 - 用于签名和加密 密钥类型:签名 - 仅用于签名 除非另有建议,否则在创建CSR时,您应选择密钥类型为“交换”。

  1. 如果您正在使用 Cryptography Next Generation(CNG)提供程序,则此对话框不适用。新的提供程序没有可供选择的密钥类型选项。

0

我有同样的问题。我没有找到任何关于这个的文档,但我的猜测是选项确定密钥和证书的预期用途,无论是用于签名还是密钥交换。在大多数情况下,我们需要一个签名密钥。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接