我在 Windows Vista 电脑上。我想使用 EFS 一段时间,但我想先对一些单个文件进行实验。在执行此操作时,我备份了我的证书和密钥,重置了我的密码,并导入了旧密钥。一切都很顺利,我可以访问我实验过的文件。
在确信它是安全的之后,我决定加密我的大部分文件。我导入了旧密钥和我在重置密码之前备份的证书。完成后,我再次重置密码并再次导入旧密钥,但这次我无法访问任何文件。我已经导入了几次,但我仍然无法访问任何加密文件。
那么发生了什么?Windows 是否出于某种原因使用了其他证书来加密这些文件?还有其他原因导致这种情况发生吗?换句话说,是否有希望恢复这些文件,还是密钥已经丢失?
答案1
每次重置密码时,Windows 都会为您生成一个新的 EFS 密钥,并使用新密码对其进行加密。让我带您了解一下发生了什么:
- 您加密了第一批,证书
A
受密码保护1
- 您已导出
A
至文件 - 您将密码重置为 password
2
- 您无法访问使用加密的文件,
A
因为您无法再解锁其私钥(因为您的密码已更改) A
您从备份中导入了私钥- 你可以读取加密的文件,
A
因为你有加密文件的密钥 - 您使用新证书
B
使用当前密码保护2
- 您将密码重置为 password
3
- 您无法访问使用 加密的文件,
B
因为您无法再解锁它的私钥(您有密码3
,而不是2
) - 您重新导入了证书
A
并使用密码保护它3
- 这根本没有帮助,因为文件仍然使用证书中的密钥加密
B
,而你没有备份
在证书管理器的受信任人员部分,您将看到您控制的所有 EFS 密钥的列表和计算机上每个用户的公钥。唯一一个与您同名但图标上没有密钥的公钥是您的 EFS 公钥。它是在您登录时使用您的密码创建和加密的,也是您加密新文件时使用的唯一密钥。如果您想使用不同的证书解密文件,可以使用命令cipher
行实用程序/adduser
和/certhash
选项(但现在为时已晚)。
抱歉,您的情况很糟糕。您可以尝试将密码重置为第二个密码,即您加密所有内容时的密码。(Windows 可以为每个用户保留多个证书。)也可以想象未加密的数据仍然在磁盘上的某个地方;您可以尝试使用常规数据恢复方法来恢复它们。