我在使用OpenSSL提供的示例创建带有v3扩展名的证书请求时出现问题。这个完整的代码可以在OpenSSL/demo/x509/将AuthorityKeyIdentifier添加到CertRequest
中的mkreq.c中找到。将一些x509v3扩展添加到证书请求是行之有效的。 我可以添加密钥使用或主题Alt名称
add_ext(exts, NID_key_usage, "critical,digitalSignature,keyEncipherment");
add_ext(exts, NID_subject_alt_name, "email:[email protected]");
,但是当我尝试添加一个执行authorityKeyIdentifier这是不工作...
add_ext(exts, NID_authority_key_identifier, "keyid,issuer");
也是在mkreq提供的add_ext:
int add_ext(STACK_OF(X509_REQUEST) *sk, int nid, char *value)
{
X509_EXTENSION *ex;
ex = X509V3_EXT_conf_nid(NULL, NULL, nid, value);
if (!ex)
return 0;
sk_X509_EXTENSION_push(sk, ex);
return 1;
}
难道有人有线索为什么一些扩展工作,有些不是?当我为自签名添加相同的扩展名时,它的工作良好...