Server2008实验——私钥和添加数据恢复代理程序
导出和安装私钥
当一个用户加密一个文件的时候,生成证书,拥有证书的私钥的用户才能够解开这个加密文件;为了防止私钥丢失导致加密文件不可打开,可以导出私钥给同一个用户组的用户帮忙打开;
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实验——私钥和添加数据恢复代理程序的更多相关文章
- 第5章分布式系统模式 Broker(代理程序)
许多复杂的软件系统运行在多个处理器或分布式计算机上.将软件分布在多台计算机上的原因有多种,例如: 分布式系统可以利用多个 CPU 或一群低成本计算机的计算能力. 某个软件可能仅在特定计算机上可用. 出 ...
- Visual Studio 2013 添加一般应用程序(.ashx)文件到SharePoint项目
默认,在用vs2013开发SharePoint项目时,vs没有提供一般应用程序(.ashx)的项目模板,本文解决此问题. 以管理员身份启动vs2013,创建一个"SharePoint 201 ...
- Ubuntu添加开机自动启动程序方法
1. 开机启动时自动运行程序 Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init.init根据配置 文件继续引导过程,启动其它进程.通常情况下,修改放置在 / ...
- Asp反向代理程序,调用远程站点全站数据,一款脚本级反向代理程序.
前些天临时写的一脚本级反向代理程序,用法很简单,设置好目标站地址,然后放到你网站根目录:index.asp,再将404页面自定义为:index.asp,即可. 由于暂时没有 url 替换需要,所以没有 ...
- 不同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 ...
- 如何给Windows添加自动启动的程序
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何给Windows添加自动启动的程序.
- Windows中添加自己的程序到开机启动中(添加服务,添加注册表)
在系统启动的时候启动自己想要启动的程序: 方法一:利用开机启动文件夹 将exe文件或exe文件的快捷方式复制到(启动)文件夹下 以win7为例:开始→所有程序→启动→鼠标右键打开 方法二:添加系统服务 ...
- 给OkHttp Client添加socks代理
Okhttp的使用没有httpClient广泛,网上关于Okhttp设置代理的方法很少,这篇文章完整介绍了需要注意的方方面面. 上一篇博客中介绍了socks代理的入口是创建java.net.Socke ...
- "添加与删除程序"报rundll32错误
无法启动"添加与删除程序"系统报rundll32错误 系统反馈以下信息: rundll32.exe应用程序错误"0x00310030"指令 解决方法: 1.启动 ...
随机推荐
- HashMap源码分析四
HashMap源码在jdk1.8中,改动挺大,里面内容已经变的非常复杂了,后面另起博客分析.jdk1.8以前,HashMap一直是数组加链表的数据结构,在数组的某个下标位置,有多次碰撞,则使用 ...
- 步骤五 · 4-9 解决getElementsByClassName()兼容性 未解决
前端零基础入门 2019版 / 步骤五 · 4-9 解决getElementsByClassName()兼容性
- 【SQL-历史执行语句查询】 查询对数据库执行了哪些SQL
Sql语句 QS.creation_time as '创建时间', ), (( THEN DATALENGTH(st.text) ) ) AS '查询语句' , ST.text as '执行文本', ...
- Luogu P2824 [HEOI2016/TJOI2016]排序 线段树+脑子
只会两个$log$的$qwq$ 我们二分答案:设答案为$ans$,则我们把$a[i]<=ans$全部设成$0$,把$a[i]>ans$全部设成$1$,扔到线段树里,这样区间排序(升序)就是 ...
- APPLICATION FAILED TO START 报错
错误一 原因@Service 忘记加了
- B/S大文件分片上传
需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制. 第一步: 前端修改 由于项目使用的是 ...
- XGBoost的优点
1. Gradient boosting(GB) Gradient boosting的思想是迭代生多个(M个)弱的模型,然后将每个弱模型的预测结果相加,后面的模型Fm+1(x)基于前面学习模型的Fm( ...
- java中的变量和数据类型
变量和javascript的变量含义一样 在Java中,变量分为两种:基本类型的变量和引用类型的变量.(javascript中同样是这样的) 基本数据类型 基本数据类型是CPU可以直接进行运算的类型. ...
- CF892D—Gluttony(思维,好题)
http://codeforces.com/contest/892/problem/D D. Gluttony You are given an array a with n distinct int ...
- Mybatis源码学习之DataSource(七)_2
接上节数据源,本节我们将继续学习未完成的部分,包括无连接池情况下的分析.为什么使用连接池.及mybatis连接池的具体管理原理 不使用连接池的UnpooledDataSource 当 的type属性为 ...