1

我正在使用 openssl 创建一个自签名证书。

我使用 openssl 函数创建了一个密钥对RSA_generate_key()

key = RSA_generate_key(1024, 65537, null, 0);

现在,我想为自签名证书生成授权密钥标识符。

RFC 说:

keyIdentifier 字段的值应该源自用于验证证书签名的公钥或生成唯一值的方法。4.2.1.2节描述了从公钥生成密钥标识符的两种常用方法。

好的。我们来看一下。在提到的第 4.2.1.2 节中,描述说:

(1) keyIdentifier 由 BIT STRING subjectPublicKey 的值(不包括标签、长度和未使用的位数)的 160 位 SHA-1 哈希组成。

(2) keyIdentifier 由一个值为 0100 的四位类型字段后跟 BIT STRING subjectPublicKey 值的 SHA-1 哈希的最低 60 位组成(不包括标签、长度和未使用的数量)位)。

如果我想使用版本 (1):如何获取要散列的数据以创建有效的授权密钥标识符?

4

1 回答 1

1

首先,您需要创建您的证书。然后添加权限密钥标识符扩展具有以下内容:

add_ext(YourX509SelfSignedCert, NID_authority_key_identifier, "keyid,issuer");

你也可以只使用 keyid,这里有一篇关于使用哪一个的好文章

于 2013-11-29T13:29:05.623 回答