FreeIPA域下Windows 10智能卡登录RPC调用失败问题咨询
解决方案
第一步:修正证书配置文件笔误
你提供的配置中存在语法错误,找到以下行:set.serverCertSet.13.default.params.subjAltExtType_2=OtherName修正为:
policyset.serverCertSet.13.default.params.subjAltExtType_2=OtherName该错误会导致证书使用者可选名称(SAN)扩展生成异常,是Kerberos校验失败的常见诱因,修正后重新签发证书测试。
第二步:调整扩展密钥用法的关键标记
找到配置中扩展密钥用法的配置行:policyset.serverCertSet.7.default.params.exKeyUsageCritical=true将
true改为false,Windows对标记为关键的扩展密钥用法兼容性较差,关闭关键标记可避免解析失败。第三步:验证FreeIPA侧PKINIT配置
- 执行
ipa pkinit-status检查PKINIT服务状态,未启用的话执行ipa pkinit-manage enable开启 - 确认签发的证书SAN扩展中,OID为
1.3.6.1.4.1.311.20.2.3的UPN值,与FreeIPA对应用户的userPrincipalName完全一致,大小写必须匹配域后缀配置
- 执行
第四步:检查Windows端证书信任配置
- 将FreeIPA根CA证书导入到本地计算机存储的两个位置:「受信任的根证书颁发机构」、「智能卡信任颁发机构」,缺少第二个位置的导入会导致Kerberos不信任智能卡证书
- 打包PFX时必须包含完整证书链,参考命令:
openssl pkcs12 -export -out test.pfx -inkey test.pem -in 用户证书.crt -certfile FreeIPA根CA.crt导入智能卡时确认私钥权限开启了「身份验证」用途。
第五步:调整Windows本地策略
- 打开本地组策略编辑器(
gpedit.msc),依次进入「计算机配置→Windows设置→安全设置→本地策略→安全选项」 - 将「交互式登录: 要求智能卡」设为禁用,「交互式登录: 智能卡移除行为」设为「无需操作」
- 进入「计算机配置→管理模板→Windows组件→智能卡」,将「打开智能卡即插即用服务」设为禁用,「不允许智能卡证书的公钥属性的缓存」设为启用
- 重启计算机后重新测试登录
- 打开本地组策略编辑器(
内容的提问来源于stack exchange,提问作者Кирилл Аверченко
相关产品推荐
相关产品推荐

