最近BOSS说希望通过电子证书来控制权限,所以自己研究了一下数字证书。发现用它
来控制权限很方便。设置起来也不麻烦。
首先需要一台服务器,这台服务器用来给其他用户颁发证书,服务器的操作系统为
advance server 2000或2003。之后要安装证书服务。
http://www.microsoft.com/china/community/program/originalarticles/TechDoc/ISA_RRAS.mspx
中关于“证书服务安装配置”有详细的说明。
因为微软已经做好了
我们只要利用这个服务就可以给用户颁发证书了。
当然首先要给自己颁发一个服务器证书,当作根证书来用。
制作服务器证书:
1、打开IIS管理器。右击default web。选属性---〉目录安全性
安全通道 里面的服务器证书。
2、选择创建一个新证书。
3、选择现在准备请求,但稍后发送。
4、选择加密长度,1024也应该够用了。
5、填写组织名称,可以填写公司的名称。
6、公用名称,最好为URl格式的一个名称。
7、基础信息填写
8、保存为一个文本文件。类似于
-----BEGIN NEW CERTIFICATE REQUEST-----
..........
kneGdj5fRnnfgDYzhFE4a4sXKncMP2PT06Bie4SmQ14=
.........
-----END NEW CERTIFICATE REQUEST-----
9、登录
假设服务器名字为CAServer
首先登录http://CAServer/certsrv
点击“申请证书”----〉高级用户
10、选择
“使用 base64 编码的 PKCS #10 文件提交一个证书申请,或使用 base64 编码的 PKCS #7 文件更新证书申请。”
11、然后把第8步生成的文本内容拷贝到“Base64 编码
证书申请”的文本框中。然后提交。
12、就会生成服务器证书。安装就可以了。
这就做好服务器证书了。
我现在的是用客户端证书映射用户,来控制权限。也就是客户端机器通过证书服务申请一个证书,导入到自己机器中,然后导出PKCS #7类型证书后缀名为.P7B。然后把导出的证书导入到服务器上。之后就可以对使用
这个证书访问服务器的客户端进行验证了。在服务器端,你可以把需要权限验证的网站的虚拟目录限制只有那些用户可以访问,然后把导入的证书映射为拥有权限的用户。那么这个用户就可以访问网站了。