ejbca是使用Java开发的一个CA服务器软件,功能比较完善,据说效率也较高。其官网为: https://www.ejbca.org
我准备了如下材料:
1、带有图形化桌面的Ubuntu 14.04 LTS 2、Oracle的JDK 3、JBoss EAP 6.4 4、EJBCA Community Edition 6.3.1.1
至于以上几个东东,我都是在官网下载的最新版本。当然这个做法可能不是很好,一般都是用稳定版,但我比较爱折腾,而且是试验环境嘛,所以下个新版本玩玩。
安装Ubuntu不用说了,装完文字界面后,使用sudo apt-get install ubuntu-desktop安装图形化桌面,然后重启。
(实际上不用图形化也行,不过用图形化界面方便进web管理而已)
修改/etc/hostname中的主机名。我将主机名修改为ca.wiser001.cn,以备后用。
在Ubuntu中建立一个用户,名为ejbca以供后用
sudo useradd -m ejbca sudo passwd ejbca
至于安装JDK,可以参见我之前写过的一篇文章快速安装: Ubuntu上快速安装JDK
jboss可以从 wwww.jboss.org 下载。下载后是一个.jar文件,可以通过Ubuntu图形化界面打开安装。我将该软件安装到了ejbca的home目录中。
安装好以上这些东东后,还需要安装ant ant-optional unzip ntp这些东西
$ sudo apt-get install ant ant-optional unzip ntp
安装好之后,首先把NTP配置好。因为数字证书这个东西,时间不对完全就不!能!用!!!
使用ejbca用户,将下载好的ejbca软件解压缩至用户目录
$ unzip ejbca_ce_6_3_1_1.zip -d ~/
在ejbca的配置文件ejbca_6_3_1_1/conf/ejbca.properties中指定jboss server的安装目录。刚刚解压缩出来的conf目录中可能没有这个文件,需要先将范例文件复制一份出来
$ cp ejbca_ce_6_3_1_1/conf/ejbca.properties.sample ejbca_ce_6_3_1_1/conf/ejbca.properties $ echo "appserver.home=/home/ejbca/EAP-6.4.0" >> ejbca_ce_6_3_1_1/conf/ejbca.properties
接下来,在一个新的terminal中启动jboss服务器,准备开始部署
$ EAP-6.4.0/bin/standalone.sh
待到Jboss完全启动后,进入ejbca目录执行部署安装。
$ cd ejbca_ce_6_3_1_1 $ ant deploy
然后即进入了部署过程,需要等待一小会,大概一两分钟的样子,之后会提示输入数据库的密码,我这里直接回车使用默认密码了。
部署结束jboss会自动重启,稍微等一会,让它完全启动。这个时候,jboss窗口会提示Deployed “ejbca.ear” 表示已经部署成功。接下来进行安装和配置工作。仍旧是在ejbca的窗口运行
$ ant install
这里会提示输入一些配置信息。分别有如下一些东西:
truststore和keystore的密码,我这里填的wiser001.cn
CA名称,在这里填写的名称即成为第一个管理CA。默认为Management CA这里我暂时保持不变,之后有需求再建立新的CA即可。
CA的DN,这里实际上也是随便填写或者使用默认的。如果要改,建议使用记事本写好了粘进去。作为一个强迫症患者,我改成了如下字段。
CN=ManagementCA,O=wiser001.cn,C=CN
回车后,会分别让选择CA的key类型、密钥长度、签名算法、有效期以及policy ID,都保持默认就好。
之后会让填写服务器DN。我这里配置如下:
CN=ca.wiser001.cn,O=wiser001.cn,C=CN
之后会提示修改超管SuperAdmin的CN、DN、密码及token密码,我均保持默认一路回车,最终回显的配置如下:
ejbca:init: [echo] [echo] ------------------- CA Properties ---------------- [echo] ca.name : ManagementCA [echo] ca.dn : CN=ManagementCA,O=wiser001.cn,C=CN [echo] ca.tokentype : soft [echo] ca.keytype : RSA [echo] ca.keyspec : 2048 [echo] ca.signaturealgorithm : SHA256WithRSA [echo] ca.validity : 3650 [echo] ca.policy : null [echo] ca.tokenproperties : ${ca.tokenproperties} [echo] httpsserver.hostname : localhost [echo] httpsserver.dn : CN=ca.wiser001.cn,O=wiser001.cn,C=CN [echo] superadmin.cn : SuperAdmin [echo] superadmin.dn : CN=SuperAdmin [echo] superadmin.batch : true [echo] appserver.home : /home/ejbca/EAP-6.4.0 [echo]
继续安装,大概继续等个两三分钟,安装完成。
之后,在/home/ejbca/ejbca_ce_6_3_1_1/p12这个目录中会生成一个superadmin.p12文件,这个文件就是管理员证书。
在浏览器中导入这个证书。
成功后,访问 https://ca.wiser001.cn:8443/ejbca 会提示选择证书,选择刚刚导入的超级管理员证书提交。
提交后,会提示连接不安全。因为该服务器使用的证书及CA都是我们自己创建的,所以,添加个例外好啦!之后可以在public web中下载根证书导入解决这个问题。
添加过例外,就进到了管理页面。