10.3. 验证 IdM Kerberos KDC 可以使用 PKINIT 和 CA 证书正确位置
按照以下流程验证 IdM Kerberos KDC 是否可以使用 PKINIT,并描述如何验证您的 CA 证书是否被正确定位。
先决条件
- 已安装并配置了用于智能卡的 IdM 服务器和客户端。
- 您可以检测智能卡读取器并显示智能卡的内容。请参阅在系统上测试智能卡访问。
步骤
运行
kinit
工具,以idmuser1
使用保存在智能卡中的证书进行验证:kinit -X X509_user_identity=PKCS11: idmuser1
$ kinit -X X509_user_identity=PKCS11: idmuser1 MyEID (sctest) PIN:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 输入您的智能卡 PIN。如果没有提示输入 PIN,请检查您是否可检测智能卡读取器并显示智能卡的内容。请参阅测试智能卡验证。
如果您的 PIN 被接受,系统会提示您输入密码,可能会缺少您的 CA 签名证书。
使用
openssl
命令,验证默认证书捆绑包文件中列出的 CA 链:openssl crl2pkcs7 -nocrl -certfile /var/lib/ipa-client/pki/ca-bundle.pem | openssl pkcs7 -print_certs -noout
$ openssl crl2pkcs7 -nocrl -certfile /var/lib/ipa-client/pki/ca-bundle.pem | openssl pkcs7 -print_certs -noout subject=O = IDM.EXAMPLE.COM, CN = Certificate Authority issuer=O = IDM.EXAMPLE.COM, CN = Certificate Authority
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证您的证书的有效性:
查找
idmuser1
的用户身份验证证书 ID:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从智能卡以 DER 格式读取用户证书信息:
pkcs11-tool --read-object --id 01 --type cert --output-file cert.der
$ pkcs11-tool --read-object --id 01 --type cert --output-file cert.der Using slot 0 with a present token (0x0)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 DER 证书转换为 PEM 格式:
openssl x509 -in cert.der -inform DER -out cert.pem -outform PEM
$ openssl x509 -in cert.der -inform DER -out cert.pem -outform PEM
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证证书是否有有效的签发者签名到 CA:
openssl verify -CAfile /var/lib/ipa-client/pki/ca-bundle.pem <path>/cert.pem
$ openssl verify -CAfile /var/lib/ipa-client/pki/ca-bundle.pem <path>/cert.pem cert.pem: OK
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如果您的智能卡包含多个证书,
kinit
可能无法选择正确的证书进行验证。在这种情况下,您需要使用certid=<ID>
选项将证书 ID 指定为kinit
命令的参数。检查保存在智能卡中的证书数量,并获取您要使用的证书 ID:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用证书 ID 01 运行
kinit
:kinit -X kinit -X X509_user_identity=PKCS11:certid=01 idmuser1
$ kinit -X kinit -X X509_user_identity=PKCS11:certid=01 idmuser1 MyEID (sctest) PIN:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
运行
klist
查看 Kerberos 凭证缓存的内容:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 完成后销毁您的活跃 Kerberos 票据:
kdestroy -A
$ kdestroy -A
Copy to Clipboard Copied! Toggle word wrap Toggle overflow