导出和安装私钥
当一个用户加密一个文件的时候,生成证书,拥有证书的私钥的用户才能够解开这个加密文件;为了防止私钥丢失导致加密文件不可打开,可以导出私钥给同一个用户组的用户帮忙打开;
1.创建【xl】和【xc】用户
切换到【xl】用户,新建一个记事本 【xl.txt】,建好后,右键点击,选择属性,高级,选择:加密内容以便保护数据;
点击应用,选择:只加密文件:
导出生成证书的私钥:
win+r 运行certmgr.msc
个人->证书->导出
根据向导点击下一步,在以下界面选择:是,导出私钥
其它默认下一步,在以下界面设置密码保护私钥,在其它用户安装此私钥的时候验证此密码;
其它默认下一步,在以下界面,将私钥保存:
这个时候,哪个用户装了xl_private这个私钥,谁就可以打开【xl】的加密文件:
- 切换成【xc】用户。尚不安装私钥,进入【xl】桌面无法打开加密文件(进入xl用户文件夹需要管理员密码,输入密码即可,当然也可以把这个加密文件放在公用文件夹内)
- 这时候去安装刚才导出的私钥:
- 除了在以下界面输入导出时设置的密码,其它都是默认下一步:
- 这时候【xl】的加密文件就能打开了:
添加数据恢复代理程序:
任何用户都可以用cipher命令生成证书和密钥(以管理员为例);
cmd输入: cipher /r:name 【name为证书和密钥的名字,冒号和name之间不留空格】
上图,为了方便设置了空密码;
管理员将这个生成的证书添加到数据恢复代理程序,那么安装了相应密钥的用户理论上能打开任何的加密文件,能不能打开还得具体查看属性>高级>详细信息:
问:这个文件的修改时间在证书安装时间之后才能被打开吗? 答:不是很准确,修改能打开,但不是一定得修改。私钥拥有者对加密文件有查看或修改操作就能(我猜测此时更新了该文件的权限)。因此文件私钥拥有者双击查看不修改,也能打开。
添加数据恢复代理程序:
浏览文件夹,选择cipher生成的证书:
安装这个证书的密钥:
切换到【xl】用户,新创建一个文件并加密
这时候查看【xl_new】的属性>高级>详细信息,恢复证书已显示在上面了(先不动【xl】文件):
切换到管理员用户,尝试打开这两个文件,只能打开【xl_new】文件,【xl】加密文件不能访问,【xl】此时并没有恢复证书(前提是在证书安装之后,在此步骤之前【xl】用户没操作过【xl】文件),而【xl_new】有。
【如果此时再切换到用户【xl】查看【xl】文件的详细信息,就会出现此恢复证书,这时候两个加密文件管理员都能打开:】
补充:
- 加密后的文件可以通过 属性>高级>详细信息 查看加密的证书和恢复证书
- 加密文件时,如果用户没有证书,那么会生成新证书,如果有一个以上,就会用已拥有的这些证书加密,可以在【详细信息】修改;
1.例如【xc】安装了颁发给【xl】的证书,加密文件时,就用【xl】的证书加密;
2.可以通过添加和删除来指定某个证书可用,前提是你本身有权限访问这个文件;
添加一个用户【xx】,加密一个文件以生成他的私钥,过程略,这时添加新证书:
这时拥有【xx】和【xl】证书私钥的用户就可访问此文件;
3.若某一次误操作将自己拥有的证书【xl】删除确认,不可访问此文件(有可能还是能访问,因为不是立即生效):
此时想尝试添加回【xl】证书会出错,因为你已经没有权限访问这个文件了:
总结:
1.拥有某个私钥的用户可以打开对应加密的文件
2.在允许访问某个加密文件的前提下,可以指定拥有其它私钥的用户访问
3.恢复证书导入后,证书私钥拥有者并不能马上打开所有加密过的文件,具体还得查看该文件的详细信息中是否显示该恢复证书。
4.删除个人证书后,还能够打开拥有此证书时能够打开的加密文件,但注销再登录后就访问不了了;