9.5.2. 检查与智能卡证书关联的用户

如果您在使用智能卡进行身份验证时遇到问题,请验证正确的用户是否与您的智能卡证书关联。

先决条件

步骤

  1. 验证用户是否与您的智能卡证书关联:

    # ipa certmap-match cert.pem
    --------------
    1 user matched
    --------------
      Domain: IDM.EXAMPLE.COM
      User logins: idmuser1
    ----------------------------
    Number of entries returned 1
    ----------------------------

    如果用户或域不正确,请检查您的证书如何映射到用户。请参阅检查如何将证书映射到用户

  2. 检查用户条目是否包含证书:

    # ipa user-show idmuser1
      User login: idmuser1
    [...]
    Certificate:MIIEejCCAuKgAwIBAgIBCzANBgkqhkiG9w0BAQsFADAzMREwDwYDVQQKDAhJUEEuVEVTVDEeMBwGA1UEAwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XD
  3. 如果您的用户条目不包含证书,请将您的 base-64 编码证书添加到用户条目中:

    1. 创建一个包含证书的环境变量,该变量移除了标头和页脚,并串联成一行,这是 ipa user-add-cert 命令期望的格式:

      $ export CERT=`openssl x509 -outform der -in idmuser1.crt | base64 -w0 -`

      请注意,idmuser1.crt 文件中的证书必须采用 PEM 格式。

    2. 使用 ipa user-add-cert 命令将证书添加到 idmuser1 配置集中:

      $ ipa user-add-cert idmuser1 --certificate=$CERT
    3. 清除系统安全服务守护进程(SSSD)缓存。

      # sssctl cache-remove
      SSSD must not be running. Stop SSSD now? (yes/no) [yes] yes
      Creating backup of local data…
      Removing cache files…
      SSSD needs to be running. Start SSSD now? (yes/no) [yes] yes
  4. 再次运行 ipa certmap-match 来确认用户与您的智能卡证书关联。