【问题标题】:Adding extension in CSR for generating an intermediate certificate在 CSR 中添加扩展以生成中间证书
【发布时间】:2018-06-13 07:47:29
【问题描述】:

我正在为中间证书生成证书签名请求。我想让证书成为证书颁发机构 (CA),所以我想在 CSR 中添加基本约束扩展。我目前正在使用以下代码

exts = sk_X509_EXTENSION_new_null();
add_ext(exts, x509_req, NID_basic_constraints, "critical,CA:TRUE");
X509_REQ_add_extensions(x509_req, exts);
sk_X509_EXTENSION_pop_free(exts, X509_EXTENSION_free);

添加扩展功能是这样的

int add_ext(STACK_OF(X509_EXTENSION) *sk, X509_REQ* req, int nid, char *value)
{
X509_EXTENSION *ex;
X509V3_CTX ctx;
X509V3_set_ctx_nodb(&ctx);
X509V3_set_ctx(&ctx, NULL, NULL, req, NULL, 0);

ex = X509V3_EXT_conf_nid(NULL, &ctx, nid, value);
if (!ex)
{
    log("X509V3_EXT_conf_nid generated error", cspsdk::Logging::LOG_LEVEL_INFO);
    return 0;
}
sk_X509_EXTENSION_push(sk, ex);
return 1;
}

问题是在签名后,证书的基本约束扩展的 CA 值设置为 false。我在这里不知所措。谁能指出问题。

【问题讨论】:

    标签: ssl openssl x509 tls1.2 csr


    【解决方案1】:

    即使您请求 CA: True,您的发行人也可以选择覆盖 CA: False 等约束。除非您是自签名证书,否则您需要联系他们。

    openssl x509 -in your-signed-cert.pem -text -noout

    请检查输出是否包含“CA:True”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-29
      • 1970-01-01
      • 2016-03-23
      • 2019-01-04
      • 2010-11-17
      • 1970-01-01
      • 2017-03-11
      相关资源
      最近更新 更多