常见问题(FAQ)
使用与操作
Q:在远程桌面里创建卡片失败,报 0x800704d3 是什么原因?
Windows 禁止在终端服务(远程桌面)会话里创建 / 删除虚拟智能卡,错误码就是 0x800704d3 (0x80070005 是权限不足)。请到本机控制台操作,或用 mstsc /admin 连接到控制台会话。 工具在提交前会主动检测并提示(Module/TPMSmartCard.py 的 isRemoteSession())。
Q:创建卡片为什么这么慢?
tpmvscmgr create 要在 TPM 内生成密钥并建立卡片文件系统,几十秒到几分钟都属正常; 工具最长等待 300 秒。进度条到 95% 后不再前进是刻意的(剩下的时间不可预估),不要关窗口。
Q:卡片名称、PIN、PUK、管理密钥的规则是什么?
| 项 | 规则 |
|---|---|
| 卡片名称 | 必填,1~63 字符 |
| 卡片 PIN | 实际校验 8~15 位(界面提示文字写的是 8~63 字符,提交时会拦住超长输入) |
| 卡片 PUK | 界面为 16 位数字,可勾选「禁用 PUK」;但 tpmvscmgr 的 PUK 长度是 8 位,当前后端只在 PUK 为 8 位时才把它写进卡(见 智能卡管理 的提示) |
| 管理密钥 | 必须 48 位,默认随机生成并锁定输入框 |
Q:忘记 PIN 了怎么办?
用卡片 PUK 重置:选中卡片 → 🔄 重置卡PIN,第一个输入框填 PUK,然后设新 PIN。 如果 PUK 也不可用(例如建卡时 PUK 未成功写入,见上一条),只能删除卡片重建并重新签发证书 ——所以建卡后要尽早备份并保管好三项口令。
Q:忘记管理密钥(Admin Key)怎么办?
管理密钥用于卡管理类操作。当前工具界面不提供"用管理密钥重置凭据"的入口; 若因此无法再操作该卡,同样是"删卡重建 + 重新签发证书"的路径。请务必在建卡时保存它。
Q:一张卡能放几张证书?
可以放多个(卡内可以存在多个密钥容器与证书),实际上限由虚拟智能卡的实现与容量决定。 选中卡片后「智能卡详情」里可以看到容量与状态信息。
Q:支持 ECC / SM2 吗?
当前版本的界面明确限制为 RSA1024 / RSA2048 + SHA1/SHA256 的 PFX,CSR 也只提供 RSA1024/RSA2048 选项,因此不支持 ECC / SM2。需要这类算法请关注 Issues 或选择物理智能卡。
Q:怎么换界面语言 / 主题?
⚙️ 系统设置 → 语言外观:主题有 5 种(原版 / 蓝灰 / 石墨 / 靛蓝 / 暗夜),语言 11 种。 也可以在启动前设置环境变量 TPMSMART_LANG 强制语言。
Q:怎么让程序开机自启?
⚙️ 系统设置 → 启动与托盘:可以自启本程序、也可以自启 WinSSH 代理;两者以登录触发的计划任务 方式注册(避免每次弹 UAC),另有 HKCU\...\Run 兜底。主程序支持 --minimized 参数只驻留托盘。
Q:需要联网吗?
除「云端下发证书」外全部功能离线可用。关于页里的「检查更新」会访问 GitHub Releases API。
Q:日志在哪?出问题要提供什么?
日志在 %APPDATA%\TPMSmartCard\logs\(备份 / 还原日志文件名形如 backup-*.log、restore-*.log)。 反馈问题时请提供:日志全文、界面上显示的现场诊断、以及 certutil -scinfo -silent 的完整输出 (必须在本地控制台执行)。不要把 .tsb 发出来,它等同密钥材料。
备份与还原
Q:备份能在别的机器上还原吗?
不能。 备份只适用于同一颗 TPM:在本机重装系统后可以还原,换机器或换 TPM 都不行; 而且卡片被删除后也无法还原(删卡会清除该卡在 TPM 内的持久密钥)。 TPM 指纹不一致时工具会弹框询问是否继续,默认不继续。
Q:还原后卡片没出现怎么办?
先重启一次:还原后卡片往往要等重启设备(驱动)或重启系统才会出现在读卡器列表中。 若仍不出现,按还原日志的三层判定(设备节点 / 读卡器 / DPAPI)逐条核对, 见 备份与还原 §5 与 故障排查手册。
Q:还原后读卡器没出现 / 证书不显示?
最常见原因是用了旧版本工具做的备份包(旧包不含设备属性与 DPAPI 明文)。 处理:用新版本工具在源系统重新备份,再到目标机还原。 判定命令与结论对照见 故障排查手册 §2 与 §4。
Q:.tsb 能加密吗?
目前不支持整包加密,包内含 DPAPI 明文(等同密钥材料),请离线妥善保管、 不要放进版本库 / 云盘 / 聊天工具。整包加密在设计上列为扩展点,见 备份还原设计 §10。
Q:同一台机器上重复还原会不会把卡搞坏?
不会。还原是幂等的:本机已有且一致的内容会跳过,卡片身份不一致时以备份为准; DPAPI 重新加密后会立刻回验,不一致就退回原始密文写回。
证书与安全
Q:证书链报 CERT_E_CHAINING?
签发该证书的中级 CA 没装在当前机器上。把对应中级 / 根 CA 证书导入 「中间证书颁发机构」或「受信任的根证书颁发机构」即可。
Q:卡上私钥真的导不出来吗?
是的。私钥是 TPM 内部的持久对象,CSP/CNG 只提供"签名 / 解密"能力,没有导出接口 (所以「导出证书」只能拿到公钥数据)。这也是备份为什么必须 "源机解密 → 目标机重新加密"而不能直接搬私钥。
Q:虚拟智能卡会影响 BitLocker 或 Windows Hello 吗?
不会。它们只是使用同一颗 TPM 的不同功能,可以共存。
Q:这个工具会不会"拿走"我的密钥?
工具不导出、不缓存、不写盘任何 DPAPI 主密钥,联网功能只有"云端下发证书"与"检查更新"。 但要注意:能运行本工具的管理员 = 能操作本机 TPM 与卡片数据, 所以不要在不可信的机器上运行它(详见 安全模型)。
安装与卸载
Q:安装包和绿色版怎么选?
需要系统级 OpenSC、.tsb 文件关联、开始菜单与卸载入口就装安装包;只想临时用一下、拷贝走就能用, 就选绿色版 zip(记得放在有写权限的目录,并以管理员运行)。
Q:卸载后卡片还在吗?
在。卸载不会删除已创建的虚拟智能卡,也不会删除 %APPDATA%\TPMSmartCard 下的设置与日志、 更不会动你的 .tsb 备份。想清理卡片需先删除卡片(tpmvscmgr destroy)或重新安装工具再用界面删除。
Q:Windows Server / Windows PE 上能用吗?
Windows Server(有桌面体验)通常可用;Server Core 与 Windows PE 没有图形界面,本工具无法运行。 tpmvscmgr 依赖真正的系统组件与 TPM,PE 环境下不具备这些条件。