分享
 
 
 

建立一个简单的数字证书中心

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

前面已经简要介绍了数字证书以及数字证书认证中心,CA中心是PKI核心部件,数字证书也是PKI的基础,所以下面就先来实现一个简单的数字证书认证中心,因为我也没有具体建过CA中心,全凭理论,也是为了以后的研究建立一个演示的基础,所以只能是当作了解和熟悉一下CA中心的过程.

在这个简单的数字证书中心主要包括三个部分:

RA:注册中心 通过Web Server建立一个站点(由apache+modssl搭建),为客户提供交互的服务,主要实现填写表单,安装根证书,查询和下载用户证书,以及提交证书挂失和证书修改请求等功能。

CA:认证中心,利用openssl API编写实现各类证书以及CRL生成的程序,通过CGI接收到RA发过来的请求进行各类处理。主要实现证书的生成,CRL的生成,数据归档,用户私钥存档等功能。

LDAP服务器,主要存储用户证书以及CRL,并且可以处理来自RA的一些请求(譬如查询和下载证书)

下面我们就来安装必须的软件(本应该是在linux下的实现,毕竟在linux对下面这些软件支持得更好,但是为了方便,这里就讨论windows下的吧,不过效率和安全性要差一些):

一:openssl的安装,在这里就没有什么好说的拉,按照openssl在windows下的安装手册一步一步走就可以拉。主要步骤如下:

1, 安装ActivePerl

2, 解压缩openssl-097D至C盘

3, 解压缩VC60SSL097.tar至openssl目录下

4,c:\openssl>Perl Configure VC-WIN32

5, ms\d0_ms.bat

6, Perl msvc097\doinc.pl

7, 打开msvc097里的openssl.dsw

8, build -> Batch build -> Build ALL;

二:apache+php的安装

1,安装apache_1.3.31-win32-x86-no_src至C盘下,修改httpd.conf,将DocumentRoot 改为存放网页的目录,保存后重启Apache服务。

2,将php-5.0.2-Win32解压缩至C:\PHP5,将PHP目录下的php.ini-recommed文件改名为php.ini并拷贝到.\apache目录下,这里有几个需要改动的地方。

Extension_dir=./改为extension_dir=c:\PHP5

Doc_root=改为doc_root=d:\www

Session.save_path=/tmp改为session.save_path=C:\WINNT\Temp

;upload_tmp_dir=改为upload_tmp_dir= C:\WINNT\Temp.前面的;号要去掉的

;default_charset=iso-8859-1改为default_charset=??????

3,修改完PHP.ini以后将PHP目录下的php5ts.dll文件拷贝到C:\WINNT\system32目录下,复制php5apache2.dll到./Apache/modules下,假如使用的是Apache1.xx.xx的话,复制php5apache.dll。

4,最后修改Apache的httpd.conf文件,在文件的末尾添加下面:

LoadModule php3_module modules/php5apache2.dll(modules/php5apache.dll)

AddType application/x-httpd-php .php

查找DirectoryIndex index.html这行,将在index.html的前面加上一个index.php,两者之间要有空格,然后就可以保存重启测试拉。

因为在windows下要把modssl和php均以模块化形式导入apache中很麻烦(linux没问题),所以这里只能省了modssl,这在以后就不太容易实现HTTPS服务了(看来还是linux好)。建议不要将php的register_globals = Off修改,采用$_POST,$_GET等方式。

三:openldap的安装

1,安装openldap-2_1_29-1-win32.exe,一路NEXT就OK拉。

2,修改slapd.conf,添加:

include "d:/openldap/etc/schema/cosine.schema"

include "d:/openldap/etc/schema/inetorgperson.schema"

allow bind_v2

更改suffix,rootdn,rootpw等

3,将下面一段添加至inetorgperson.schema中,这相当于我定义新的objectClass

objectclass

( 2.16.840.1.113730.3.2.3

NAME 'guestcertificate'

DESC 'guestcertificate'

SUP top

STRUCTURAL

MAY

(

mail $ userCertificate $ cn $ c $ st $ l $ o $ ou $ userPKCS12 )

)

4,添加根DN

写一个ldif文件包含下面语句

dn:dc=sage,dc=com

objectclass:dcObject

objectClass: organization

o:sage

dc:sage

具体的实现:

RA部分:有关证书请求,撤消,验证等操作可以通过CGI发送请求至CA认证中心(在这里就不用审核了),而有关证书查询,下载可以通过PHP访问LDAP服务器(这个已经有文章介绍了)

CA部分:这部分主要是利用openssl API实现各类功能(请看利用openssl API生成证书)

LDAP部分:将CA部分生成的证书存入LDAP中,并且接受查询和下载(具体的LDAP相关文章中)

这个简单的CA中心只是演示了一下过程,所以不成熟和错误的地方请原谅。建议还是在linux下建立,在用户访问网页时实现https连接。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有