Menu Close

4.2.2. 在 IdM CLI 中转换外部证书,并将其加载到 IdM 用户帐户中

IdM CLI 只接受 PEM 证书,从中删除了第一行和最后一行(-----BEGIN CERTIFICATE----- 和 -----END CERTIFICATE-----)。

按照以下流程将外部证书转换为 PEM 格式,并使用 IdM CLI 将其添加到 IdM 用户帐户中。

步骤

  1. 将证书转换为 PEM 格式:

    • 如果您的证书为 DER 格式:

      $ openssl x509 -in cert.crt -inform der -outform pem -out cert.pem
    • 如果您的文件为 PKCS #12 格式,其常用文件扩展名为 .pfx.p12,并且包含证书、私钥和其他数据,请使用 openssl pkcs12 工具提取证书。提示时,输入保护存储在文件中的私钥的密码:

      $ openssl pkcs12 -in cert_and_key.p12 -clcerts -nokeys -out cert.pem
      Enter Import Password:
  2. 获取管理员凭证:

    $ kinit admin
  3. 使用 IdM CLI 将证书添加到用户帐户中,按照以下方法之一:

    • 在将字符串添加到 ipa user-add-cert前,使用 sed 工具删除 PEM 文件的第一行和最后一行(-----BEGIN CERTIFICATE----- 和 -----END CERTIFICATE-----):

      $ ipa user-add-cert some_user --certificate="$(sed -e '/BEGIN CERTIFICATE/d;/END CERTIFICATE/d' cert.pem)"
    • 将没有第一行和最后一行(-----BEGIN CERTIFICATE----- 和 -----END CERTIFICATE-----)的证书文件的内容复制并粘贴到 ipa user-add-cert 命令中:

      $ ipa user-add-cert some_user --certificate=MIIDlzCCAn+gAwIBAgIBATANBgkqhki...
      注意

      如果不首先删除第一行和最后一行(-----BEGIN CERTIFICATE----- 和 -----END CERTIFICATE-----),您无法直接将包含证书的 PEM 文件作为输入传给 ipa user-add-cert 命令:

      $ ipa user-add-cert some_user --cert=some_user_cert.pem

      此命令会导致产生"ipa: ERROR: Base64 decoding failed: Incorrect padding"错误消息。

  4. (可选)检查证书是否被系统接受:

    [idm_user@r8server]$ ipa user-show some_user