1、耿显维,CA服务器的搭建与证书的管理应用,随着互联网络的飞速发展, 网络中的安全问题日益受到人们的重视。PKI 公钥基础设施是目前比较成熟、完善的互联网络安全解决方案,但PKI 实施起来比较繁琐, 并且当前实现PKI 的商用软件价格较为昂贵, 这都阻碍了PKI 的广泛应用。因此我采用了开源PKI项目OpenCA软件完成了CA服务器的搭建。,0. 引言,OpenCA可实现的功能: 密钥生成 密钥分配 证书签发 证书作废,1. Openca概述,OpenCA 由三个主要部分组成, 即: CA RA PUB,1. Openca概述,证书签发,管理申请,提交申请,OpenCA主要加载模块:OpenSS
2、L 提供加密算法和HTTPS访问Apache 提供WEB服务MySQL 提供后台数据库PerL 提供脚本语言支持OpenLDAP 提供证书存储,1. Openca概述,OpenCA 1.3.0 所需求的软件环境:Linux Kernel 2.6.18以上Perl 5.8.4以上MySQL 5.1.61-4以上OpenSSL 1.0.0以上LDAP library Perl module:XML-Parser CPANApache 2.2.15以上,2. Openca安装过程,/实际安装中为保证兼容性 我选择将上述所有软件更新到最新版本,安装步骤:以root权限登录系统CentOS 6.3 X8
3、6_64添加第三方源EPEL和REMI执行命令Yum install mysql mysql-server mysql-libs perl apache mod_ssl openssl perl-devel db4-devel expact-devel gcc make XML-Parser openldap perl-dbd perl-cpan perl-dbi -enablerepo=remi,2. Openca安装过程,输入y+回车确认安装 系统会自动开始安装所有需要的软件,成功时会有Complete提示,MySQL数据库的配置:#service mysqld start /首先启动my
4、sqld#mysql uroot /进入mysql数据库mysqlCREATE DATABASE openca; /创建openca数据库mysqlGRANT ALL ON *.* TO opencalocalhost IDENTIFIED BY openca; /添加openca用户mysqlexit,2. Openca安装过程,Apache的配置:#vi /etc/httpd/conf/httpd.conf查找 Document Root 项 修改为/var/www查找 Directory项 修改Options为FollowSymLinks添加SSLEngine OnSSLCertific
5、ateFile /etc/httpd/conf/server.crtSSLCertificateKeyFile /etc/httpd/conf/server.key,2. Openca安装过程,安装依赖库openca-base-1.3.0#cd /tmp#wget http:/www.openca.org/alby/download?target=openca-tools-1.3.0.tar.gz#tar xzvf openca-tools-1.3.0.tar.gz #cd openca-tools-1.3.0#./configure -prefix=/usr/local/openca-too
6、ls#make#make install,2. Openca安装过程,安装openca-base-1.3.0#cd /tmp#wget http:/www.openca.org/alby/download?target=openca-base-1.3.0.tar.gz#tar xzvf openca-base-1.3.0.tar.gz #cd openca-base-1.3.0#./configure -prefix=/usr/local/openca -with-openca-tools-prefix=/usr/local/openca-tools -with-httpd-user=apac
7、he -with-httpd-group=apache -with-httpd-fs-prefix=/var/www -with-web-host=v.bitpt.us -with-htdocs-fs-prefix=/var/www/pki -with-db-name=openca -with-db-type=mysql -with-service-mail-account=#make#make install-offline install-online,2. Openca安装过程,安装参数解释-prefix= (指定安装目录)-with-openssl-prefix= (指定openca-
8、tools位置)-with-module-prefix= (指定perl模块位置)-with-web-host= (指定服务器名称可使用IP或domain name)-with-httpd-user= (指定web资料夹用户)-with-httpd-group= (指定web资料夹组)-with-httpd-fs-prefix= (指定web资料夹位置),2. Openca安装过程,配置OpenCA#vi /usr/local/openca/etc/openca/config.xml/修改CA信息后保存退出#sh /usr/local/openca/etc/openca/configure_e
9、tc.sh/将配置文件输出到web服务器目录#chown R apache:apache /usr/local/openca/var/log/将log目录的所有者更改为web服务运行用户,2. Openca安装过程,启动OpenCA#cd /usr/bin#ln s /usr/local/openca/etc/init.d/openca openca#openca start第一次运行会要求输入web登入的密码 如果启动出错 可查看出错日志#cat /usr/local/openca/var/log/stderr.log,2. Openca安装过程,登陆web页面进行初始化 浏览器中输入htt
10、p:/localhost/pki/ca输入用户名密码进入:PKI Init & Config - Initialization - DB, Key and Cert Init点击 Initialize Database完成后,就可以看到openca数据库建立了8个空表:ca_certificate certificate crl crr messages request user user_data,3. 证书的签发与管理,申请证书 浏览器中输入http:/localhost/pki/pub无需输入用户名密码进入:My Certificate - Request Certificate 输入相
11、关信息 提交申请,3. 证书的签发与管理,签发证书 浏览器中输入http:/localhost/pki/ca输入用户名密码进入: PKI Init & Config - RA Certificate - Issue Certificate 完成后点击 Handle Certificate,3. 证书的签发与管理,导入证书 浏览器中输入http:/localhost/pki/pub进入: Infomations - Valid Certificates 选择所需要的证书 点击More Info在新打开的页面下方找到Download按钮 下载签发好的证书文件在本机打开证书 进行导入操作,3. 证书的签发与管理,管理证书 浏览器中输入http:/localhost/pki/pub进入: Infomations - Valid Certificates可以查看到所有申请成功的证书进入: My Certificate - Revoke Certificate 可以申请删除证书,3. 证书的签发与管理,典型应用:提供HTTPS的凭据 既生成证书后以crt格式导出 并导入到Apache中加密Email加密文档等等,4. 数字证书的应用,Q&A,The end,