在 x509 中,密钥对和证书有什么区别?

时间:2021-07-28 07:28:14

标签: x509

我使用 Entity::unsetEventDispatcher(); 命令生成了一个密钥对。我认为这会创建一对私钥和公钥。

我还使用 keytool -genkeypair 命令从这个密钥对中生成了一个 CSR。我得到了我们的 CA(或他们称之为什么)的签名,我得到了另一个证书作为回报,它是它的指纹。

我的问题是,我要使用该证书做什么或它的目的是什么?我仍然可以仅使用私钥生成 JWT。

1 个答案:

答案 0 :(得分:1)

key 是一组数学参数,描述了如何为加密操作初始化某些算法,例如用于签名/验证或加密/解密。

一个密钥对仅仅是一对这样的密钥,其中每个密钥可以验证对方已签署的内容或每个密钥可以解密对方已加密的内容.

这样的一对密钥中的一个被声明为公钥,另一个被声明为私钥。 (这个选择并不是完全任意的,对私钥和对公钥的额外要求可能不同。)

这些密钥中没有任何内容声明它们与特定的人、特定的发行人、特定的目的、特定的责任等相关。

这就是 X.509 证书出现的地方:X.509 证书是一种结构,它将密钥对的公钥与额外信息捆绑在一起,例如密钥对持有者的姓名、证书的颁发者、有效期等。

此结构还包含结构中所有其他数据的签名。此签名是使用证书颁发者的私钥生成的。

证书中的信息尤其可以让您确定它的颁发者。如果您信任颁发者的组织只向他们检查身份的人颁发证书,并且如果您成功验证证书签名是有效的并由颁发者创建,则您可以信任给定密钥对持有者的身份证书。

因此,

<块引用>

我的问题是,我要使用该证书做什么或它的目的是什么?我仍然可以仅使用私钥生成 JWT。

您公开提供您的证书,以便人们在使用包含的公钥来验证您的签名或加密他们发送给您的信息时确定您的身份。如果没有像证书这样的机制,您就必须亲自向人们提供您的公钥,以便他们确定。

相关问题