61.2. 转换外部证书以加载到 IdM 用户帐户


本节论述了如何确保在将外部证书添加到用户条目之前其被正确编码和格式化。

61.2.1. 先决条件

  • 如果您的证书由活动目录证书认证机构签发,并使用 PEM 编码的,请确保 PEM 文件已转换为 UNIX 格式。要转换文件,请使用 eponymous 软件包提供的 dos2unix 工具。

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
      Copy to Clipboard Toggle word wrap
    • 如果您的文件是 PKCS #12 格式,其通用文件扩展名为 .pfx.p12,并且包含证书、私钥和其他数据,请使用 openssl pkcs12 工具提取证书。提示时,输入保护存储在文件中私钥的密码:

      $ openssl pkcs12 -in cert_and_key.p12 -clcerts -nokeys -out cert.pem
      Enter Import Password:
      Copy to Clipboard Toggle word wrap
  2. 获得管理员凭证:

    $ kinit admin
    Copy to Clipboard Toggle word wrap
  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)"
      Copy to Clipboard Toggle word wrap
    • 将不包含 第一行和最后一行(-----BEGIN CERTIFICATE----- 和 -----END CERTIFICATE-----)的证书文件的内容复制并粘贴到 ipa user-add-cert 命令中:

      $ ipa user-add-cert some_user --certificate=MIIDlzCCAn+gAwIBAgIBATANBgkqhki...
      Copy to Clipboard Toggle word wrap
      注意

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

      $ ipa user-add-cert some_user --cert=some_user_cert.pem
      Copy to Clipboard Toggle word wrap

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

  4. 要检查证书是否被系统接受:

    [idm_user@r8server]$ ipa user-show some_user
    Copy to Clipboard Toggle word wrap

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

流程

  1. 使用 CLI,将证书转换为 PEM 格式:

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

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

      $ openssl pkcs12 -in cert_and_key.p12 -clcerts -nokeys -out cert.pem
      Enter Import Password:
      Copy to Clipboard Toggle word wrap
  2. 在编辑器中打开证书,并复制内容。您可以包含 "-----BEGIN CERTIFICATE-----" and "-----END CERTIFICATE-----" 页眉和页脚行,但不必这样做,因为 PEMbase64 格式已被 IdM Web UI 接受了。
  3. 在 IdM Web UI 中,以安全官员身份登录。
  4. 前往 Identity Users some_user
  5. 单击 Certificates 旁边的 Add
  6. 将证书的 PEM 格式内容粘贴到打开的窗口中。
  7. 单击 Add

如果证书被系统接受了,您可以看到其会在用户配置文件中的 Certificates 中列出。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat