导出和安装私钥

当一个用户加密一个文件的时候,生成证书,拥有证书的私钥的用户才能够解开这个加密文件;为了防止私钥丢失导致加密文件不可打开,可以导出私钥给同一个用户组的用户帮忙打开;

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.删除个人证书后,还能够打开拥有此证书时能够打开的加密文件,但注销再登录后就访问不了了;

Server2008实验——私钥和添加数据恢复代理程序的更多相关文章

  1. 第5章分布式系统模式 Broker(代理程序)

    许多复杂的软件系统运行在多个处理器或分布式计算机上.将软件分布在多台计算机上的原因有多种,例如: 分布式系统可以利用多个 CPU 或一群低成本计算机的计算能力. 某个软件可能仅在特定计算机上可用. 出 ...

  2. Visual Studio 2013 添加一般应用程序(.ashx)文件到SharePoint项目

    默认,在用vs2013开发SharePoint项目时,vs没有提供一般应用程序(.ashx)的项目模板,本文解决此问题. 以管理员身份启动vs2013,创建一个"SharePoint 201 ...

  3. Ubuntu添加开机自动启动程序方法

    1. 开机启动时自动运行程序  Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init.init根据配置    文件继续引导过程,启动其它进程.通常情况下,修改放置在      / ...

  4. Asp反向代理程序,调用远程站点全站数据,一款脚本级反向代理程序.

    前些天临时写的一脚本级反向代理程序,用法很简单,设置好目标站地址,然后放到你网站根目录:index.asp,再将404页面自定义为:index.asp,即可. 由于暂时没有 url 替换需要,所以没有 ...

  5. 不同linux系统添加开机启动程序的命令

    see http://phpcj.org/blog/%E4%B8%8D%E5%90%8Clinux%E7%B3%BB%E7%BB%9F%E6%B7%BB%E5%8A%A0%E5%BC%80%E6%9C ...

  6. 如何给Windows添加自动启动的程序

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何给Windows添加自动启动的程序.

  7. Windows中添加自己的程序到开机启动中(添加服务,添加注册表)

    在系统启动的时候启动自己想要启动的程序: 方法一:利用开机启动文件夹 将exe文件或exe文件的快捷方式复制到(启动)文件夹下 以win7为例:开始→所有程序→启动→鼠标右键打开 方法二:添加系统服务 ...

  8. 给OkHttp Client添加socks代理

    Okhttp的使用没有httpClient广泛,网上关于Okhttp设置代理的方法很少,这篇文章完整介绍了需要注意的方方面面. 上一篇博客中介绍了socks代理的入口是创建java.net.Socke ...

  9. "添加与删除程序"报rundll32错误

    无法启动"添加与删除程序"系统报rundll32错误 系统反馈以下信息: rundll32.exe应用程序错误"0x00310030"指令 解决方法: 1.启动 ...

随机推荐

  1. runloop 小记

    一.什么是runLoop 1.说白了,runloop就是运行循环 2.runloop,他是多线程的法宝 通常来讲,一个线程一次只能执行一个任务,执行完之后就退出线程.但是,对于主线程是不能退出的,因此 ...

  2. mongodb命令----批量更改文档字段名

    因为mongodb基于javascript的特性,为了体验cursor的威力我们不妨利用js的for循环创建记录 先创建文档 db.createCollection("columnsampl ...

  3. [2019HDU多校第一场][HDU 6590][M. Code]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6590 题目大意(来自队友):二维平面上有\(n\)个点,每个点要么是黑色要么是白色,问能否找到一条直线 ...

  4. Jmeter测试部全体学习

    Jmeter小助手:__counter   __Random   __UUID   __CSVRead 性能指标:CPU  内存  磁盘  网络   版本(系统版本) linux命令: top 能够试 ...

  5. php+文件夹上传实例

    核心原理: 该项目核心就是文件分块上传.前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题. * 如何分片: * 如何合成一个文件: * 中断了从哪个分片开 ...

  6. [Luogu] 列队

    https://www.luogu.org/problemnew/show/P3960 如果 x = 1,相当于维护一条链,每次取出第 k 个数放在序列末尾假设有 n + m + q 个位置,每个位置 ...

  7. js产生一个随机的字符串数字组合

    /** * 随机生成字符串 * @param randomFlag 产生任意长度随机字母数字组合 * @param min 任意长度最小位[固定位数] * @param max 任意长度最大位 * @ ...

  8. 栈的数组和链表实现(Java实现)

    我以前用JavaScript写过栈和队列,这里初学Java,于是想来实现栈,基于数组和链表. 下面上代码: import java.io.*; //用接口来存放需要的所有操作 interface st ...

  9. deepin Linux 日常命令、插件、方法等汇总【更新中】

    查看系统编码: dawn@dawn-PC:~$ locale LANG=zh_CN.UTF- LANGUAGE=zh_CN LC_CTYPE="zh_CN.UTF-8" LC_NU ...

  10. google中select添加onclick

    有下拉跳转框如下所示: <select name="page" size="1" > <option onclick="refurb ...