5.2. 将外部证书转换来加载到 IdM 用户帐户中
本节描述了如何确保在将外部证书添加到用户条目之前正确对其进行编码和格式化。
5.2.1. 先决条件 复制链接链接已复制到粘贴板!
-
如果您的证书是由活动目录证书认证机构签发,并使用
PEM编码的,请确保PEM文件已转换为UNIX格式。要转换文件,请使用 eponymous 软件包提供的dos2unix工具。
5.2.2. 在 IdM CLI 中转换外部证书,并将其加载到 IdM 用户帐户中 复制链接链接已复制到粘贴板!
IdM CLI 只接受 PEM 证书,从中删除了第一行和最后一行(-----BEGIN CERTIFICATE----- 和 -----END CERTIFICATE-----)。
按照以下流程将外部证书转换为 PEM 格式,并使用 IdM CLI 将其添加到 IdM 用户帐户中。
步骤
将证书转换为
PEM格式:如果您的证书为
DER格式:openssl x509 -in cert.crt -inform der -outform pem -out cert.pem
$ openssl x509 -in cert.crt -inform der -outform pem -out cert.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您的文件为
PKCS #12格式,其常用文件扩展名为.pfx和.p12,并且包含证书、私钥和其他数据,请使用openssl pkcs12工具提取证书。提示时,输入保护存储在文件中的私钥的密码:openssl pkcs12 -in cert_and_key.p12 -clcerts -nokeys -out cert.pem Enter Import Password:
$ openssl pkcs12 -in cert_and_key.p12 -clcerts -nokeys -out cert.pem Enter Import Password:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
获取管理员凭证:
kinit admin
$ kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
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)"
$ ipa user-add-cert some_user --certificate="$(sed -e '/BEGIN CERTIFICATE/d;/END CERTIFICATE/d' cert.pem)"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将没有第一行和最后一行(-----BEGIN CERTIFICATE----- 和 -----END CERTIFICATE-----)的证书文件的内容复制并粘贴到
ipa user-add-cert命令中:ipa user-add-cert some_user --certificate=MIIDlzCCAn+gAwIBAgIBATANBgkqhki...
$ ipa user-add-cert some_user --certificate=MIIDlzCCAn+gAwIBAgIBATANBgkqhki...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果不首先删除第一行和最后一行(-----BEGIN CERTIFICATE----- 和 -----END CERTIFICATE-----),您无法直接将包含证书的
PEM文件作为输入传给ipa user-add-cert命令:ipa user-add-cert some_user --cert=some_user_cert.pem
$ ipa user-add-cert some_user --cert=some_user_cert.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令会导致产生"ipa: ERROR: Base64 decoding failed: Incorrect padding"错误消息。
要检查证书是否被系统接受:
ipa user-show some_user
[idm_user@r8server]$ ipa user-show some_userCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2.3. 在 IdM web UI 中转换外部证书,以便将其加载到 IdM 用户帐户中 复制链接链接已复制到粘贴板!
按照以下流程将外部证书转换为 PEM 格式,并将其添加到 IdM Web UI 中的 IdM 用户帐户中。
步骤
使用
CLI,将证书转换为PEM格式:如果您的证书为
DER格式:openssl x509 -in cert.crt -inform der -outform pem -out cert.pem
$ openssl x509 -in cert.crt -inform der -outform pem -out cert.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您的文件为
PKCS #12格式,其常用文件扩展名为.pfx和.p12,并且包含证书、私钥和其他数据,请使用openssl pkcs12工具提取证书。提示时,输入保护存储在文件中的私钥的密码:openssl pkcs12 -in cert_and_key.p12 -clcerts -nokeys -out cert.pem Enter Import Password:
$ openssl pkcs12 -in cert_and_key.p12 -clcerts -nokeys -out cert.pem Enter Import Password:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
在编辑器中打开证书,并复制内容。您可以包含 "-----BEGIN CERTIFICATE-----" 和 "-----END CERTIFICATE-----" 标头和页脚行,但您不必这样做,因为 IdM Web UI 接受
PEM和base64格式。 - 在 IdM Web UI 中,以安全官身份登录。
-
前往
IdentityUserssome_user。 -
单击
Certificates旁边的Add。 - 将证书的 PEM 格式内容粘贴到打开的窗口中。
-
点击
Add。
如果证书被系统接受,您可以在用户配置文件中看到它列在 Certificates 中。