EJBCA的安装指南
EJBCA是一个开源的、功能强大的CA系统,使用EJBCA搭建CA可以达到事半功倍的效果。但是由于EJBCA代码很复杂,独立完成会比较困难,本人也是自己从头尝试做了一遍,虽然也有不少准备,仍然遇到不少问题。本教程的目的是希望可以帮助到你独立完成EJBCA的安装部署。
总的来说,CA系统安装分为以下几步:
第一步:环境准备:包括编译环境和运行环境。
第二步:EJBCA的编译和部署;
第三步:EJBCA的使用;
至此,你已经成功安装了EJBCA,后面可以根据自己的需要配置甚至定制化修改EJBCA;
下面分步骤进行详细说明。
(一) 环境准备:
我是在WinXP上搭建的这套环境,其他在linux上根据情况后面再补充。
我使用的操作系统和相关软件的版本情况如下:
Jdk:jdk1.6.0_03
jce_policy:jce_policy-6.zip
Jboss:jboss-5.0.1.GA-jdk6.zip
Mysql:mysql-5.0.22-win32.zip
Mysql-connect:mysql-connector-java-5.0.0-beta.zip
Ejbca:ejbca_4_0_10
Ant:apache-ant-1.8.3
OS:xp sp3
Eclipse:Version: 3.6.1
安装步骤:
1.安装jdk1.6.0_03,解压jce_policy,把local_policy.jar和US_export_policy.jar覆盖到 C:\Program Files\Java\jdk1.6.0_12\jre\lib\security和C:\Program Files\Java\jre6\lib\security下各一份。
2.安装mysql。用户名密码均为"root"。运行开始菜 单里的mysql command lineclient命令行工具,输入口令"root",并建立一个空数据库ejbca,命令行为"create database ejbca;"。而后退出命令行工具。删除数据库命令:“drop database ejbca;”
3.解压ejbca、jboss、ant到C盘根目录下。
4.设置 环境变量。
JAVA_HOME= C:\Program Files\Java\jdk1.6.0_03
JBOSS_HOME= C:\jboss-5.0.1.GA
ANT_HOME= C:\ apache-ant-1.8.3
ANT_OPTS= -Xmx640m
PATH= %JAVA_HOME%\BIN;%JBOSS_HOME%\BIN;%ANT_HOME%\bin;
CLASSPATH=%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib;
EJBCA_HOME=E:\ejbca\ejbca_4_0_10
5.其他准备
把mysql-connector-java-5.0.0-beta.zip里的mysql-connector-java-5.0.0-beta-bin.jar拷 贝到%JBOSS_HOME%\server\default\lib目录下。
把%EJBCA_HOME%/lib/bc*.jar 拷贝到$JAVA_HOME/jre/lib/ext目录下。
把%EJBCA_HOME%/lib/bc*.jar拷贝到%JBOSS_HOME%server/default/lib下。
(二) 编译和安装EJBCA:
可以在Eclipse下编译EJBCA,也可以用ant直接编译
编译和安装EJBCA主要有以下几步:
(1) Ejbca的初始化配置
(2) ant bootstrap:
(3) ant install:
(4) ant deploy:
1、 Ejbca的初始配置
主要涉及3个文件:ejbca.properties、web.properties、database.properties。
在ejbca/conf下找到ejbca.properties.sample,拷贝一份,修改文件名为ejbca.properties,编辑内容,在最后增加以下内容:
ejbca.productionmode=ca
appserver.type=jboss
appserver.home=${env.APPSRV_HOME}
java.ver=16
ca.name=RootCA #根CA证书的别名
ca.dn=CN=RootCA,O=test,C=CN #根CA证书的DN名
web.contentencoding=GBK
在ejbca/conf下找到web.properties.sample,拷贝一份,修改文件名为web.properties,编辑内容,打开以下内容:
httpsserver.password=11111111 #口令可以自己设置
java.trustpassword=11111111 #口令可以自己设置
superadmin.cn=SuperAdmin
superadmin.dn=CN=${superadmin.cn}
superadmin.password=11111111 #口令可以自己设置
superadmin.batch=true
httpsserver.hostname=localhost
httpsserver.dn=CN=${httpsserver.hostname},OU=test,C=CN
httpserver.pubhttp=8080
httpserver.pubhttps=8442
web.availablelanguages=ZH,DE,EN,ES,FR,IT,PT,PT_BR,SE
web.contentencoding=GBK
在ejbca/conf下找到database.properties.sample,拷贝一份,修改文件名为database.properties,编辑内容(我是以mysql为例):
datasource.jndi-name=EjbcaDS
datasource.jndi-name-prefix=java:/
database.name=mysql
datasource.mapping=mySQL
database.url=jdbc:mysql://127.0.0.1:3306/ejbca?characterEncoding=UTF-8
database.driver=com.mysql.jdbc.Driver
database.username=ejbca
database.password=ejbca
2、 ant bootstrap
打开CMD到$ EJBCA_HOME目录下,运行ant bootstrap进行ejbca的编译。
看到屏幕输出:BUILD SUCCESSFUL,说明编译成功了。
3、 CMD到$JBOSS_HOME,运行run.bat,启动jboss控制台;
4、 ant install,全部按默认,口令的位置输入8个1,安装会在$EJBCA_HOME/p12目录下产生3个证书文件superadmin.p12、tomcat.jks、truststore.jks,如无此证书文件,说明ant install失败,需要重新开始)。如果出现JCEcannot authenticate the provider BC错误,确认把%EJBCA_HOME%/lib/bc*.jar拷贝到%JBOSS_HOME%server/default/lib下。
5、 在jboss控制台,按一下Ctrl+C,停止JBOSS。
6、 在ejbca控制台,敲入ant deploy,进行ejbca的 部署。
7、 重装ejbca
在安装过程中,如果遇到问题要重装ejbca,请按照如下步骤重装ejbca。
(1)重建数据库:
用mysql的客户端以root用户连上数据库删除ejbca数据库,然后再重新创建空的ejbca数据库:
Dropdatabase ejbca;
Createdatabase ejbca;
(2)在ejbca控制台,敲入antclean;
(3)按照前面的安装步骤重新安装ejbca
antbootstrap
…
当然在生产系统中就不要轻易重新安装。
.
(三) EJBCA的使用
1、 管理员证书的导入
进入%EJBCA_HOME%/p12,双击superadmin.p12,安装管理员证书;
2、 管理员界面:
https://localhost:8443/ejbca/adminweb/index.jsp,出现以下页面。
如果发现右边出不来,找到jsp源代码:
E:\source\javahome\ejbca\modules\admin-gui\resources\banners\foot_banner.jsp,清空内容,重新编译部署,可以看到内容。这个foot_banner.jsp的内容有什么问题后面再看。
(四) 其他问题
在Eclipse里如果发现找不到JBOSS5_HOME的错误,需要增加JBOSS5_HOME宏定义,指向$JBOSS_HOME。