【问题标题】:FreeIPA external CA (intermediate CA)FreeIPA 外部 CA(中间 CA)
【发布时间】:2014-10-26 04:17:07
【问题描述】:

我们正在使用我们现有的 CA 进行 freeipa 安装。在安装过程中,会生成一个 CSR,并且必须由 CA 签名才能创建证书。此证书必须有

X509v3 基本约束: CA:是的

我已经研究了大约一个小时,但我不知道该做什么。通常情况下,我会这样签署 CSR

openssl x509 -req -in ipa.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out ipa.pem

这可行,但 CA:TRUE 不存在。 我试过这样做:

openssl x509 -req -in ipa.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -extensions v3_ca -out ipa.pem

并且它产生了与原版相同的功能。

我可以看到生成的密钥从我的 openssl.cnf 中提取信息,但它忽略了下面的扩展语句。

[ v3_ca ]
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
basicConstraints = CA:true

是否有人对我需要做什么或我可以提供哪些其他信息有任何想法?谢谢!

旁注:我没有 gui 或 gui 工具,这都是来自命令行。 CSR 是由 IPA 软件生成的,我不是手动创建的。

这是 IPA 的注释:

为身份管理生成的 CA 签名证书 服务器必须是有效的 CA 证书。这要求要么 将 Basic Constraint 设置为 CA=true 或将 Key Usage Extension 设置为 在签名证书上设置以允许它签署证书。

【问题讨论】:

    标签: openssl ssl-certificate ca


    【解决方案1】:
    1. 你应该先创建配置文件

      tee ca.cnf [ v3_ca ]
      subjectKeyIdentifier=哈希
      authorityKeyIdentifier=keyid:always,issuer:always
      基本约束 = CA:true
      EOF

    2. 使用选项签名时使用它

    -extensions v3_ca -extfile ca.cnf

    sudo openssl x509 -req -in ipa.csr -CA root.crt -CAkey root.key -CAcreateserial -extensions v3_ca -extfile ca.cnf -out ipa.crt
    
    1. 检查

      sudo openssl x509 -text -noout -in ipa.crt

    【讨论】:

      【解决方案2】:

      您可以使用“-extfile”命令让 openssl x509 读取特定配置。

      我建议你做一个新的配置,我们把它命名为 foo.cnf。 在里面放:

      subjectKeyIdentifier=hash
      authorityKeyIdentifier=keyid:always,issuer:always
      basicConstraints = CA:true
      

      现在运行您的命令,稍作改动:

      openssl x509 -req -in ipa.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -extfile foo.cnf -out ipa.pem
      

      您现在应该拥有 CA:true 的证书。

      【讨论】:

        猜你喜欢
        • 2019-03-26
        • 2019-11-15
        • 1970-01-01
        • 2014-12-15
        • 1970-01-01
        • 1970-01-01
        • 2016-03-23
        • 2020-03-02
        • 2018-08-18
        相关资源
        最近更新 更多