EJBCA(Enterprise Java Bean Certificate Authority)是一个全功能的CA系统软件,它基于J2EE技术,并提供了一个强大的、高性能并基于组件的CA。EJBCA兼具灵活性和平台独立性,能够独立使用,也能和任何J2EE应用程序集成。
EJBCA是一个很有价值的开源系统,对于目前国内PKI技术和产品有借鉴的意义。EJBCA完全采用JAVA编写,能够在任何采用J2EE服务器的平台上运行。开发和测试是在Linux和Windows2000上进行的。
软件下载:http://ejbca.sourceforge.net/download.html
特点:
_ LGPL开源许可
_ 建立在J2EE规范之上
_ 灵活的、基于组件的体系结构
_ 多级CA
_ 多个CA和多级CA,在一个EJBCA实例中建立一个或者多个完整的基础设施
_ 单独运行,或者在任何J2EE应用中集成它
_ 简单的安装和配置
_ 强大的基于Web的管理界面,并采用了高强度的鉴别算法
_ 支持基于命令行的管理,并支持脚本等功能
_ 支持个人证书申请或者证书的批量生产
_ 服务器和客户端证书能够采用PKCS12, JKS或者PEM格式导出
_ 支持采用Netscape, Mozilla, IE等浏览器直接进行证书申请
_ 支持采用开放API和工具通过其它应用程序申请证书
_ 由RA添加的新用户可以通过Email进行提醒
_ 对于新用户验证可以采用随机或者手工的方式生成密码
_ 支持硬件模块,来集成硬件签发系统(例如智能卡)
_ 支持SCEP
_ 支持用特定用户权限和用户组的方式来进行多极化管理
_ 对不同类型和内容的证书可以进行证书配置
_ 对不同类型的用户可以进行实体配置
_ 遵循X509和PKIX(RFC3280)标准
_ 支持CRL
_ 完全支持OCSP,包括AIA扩展
_ CRL生成和基于URL的CRL分发点遵循RFC3280,可以在任何SQL数据库中存储证书和CRL(通过应用服务器来处理)。
_ 可选的多个发布器,以用来在LDAP中发布证书和CRL
_ 支持用来为指定用户和证书来恢复私钥的密钥恢复模块
_ 基于组件的体系结构,用来发布证书和CRL到不同的目的地
_ 基于组件的体系结构,用来在发布证书时采用多种实体授权方法
_ 容易集成到大型应用程序中,并为集成到业务流程进行了优化
EJBCA基本架构与部署:
EJBCA的基本架构,如下图:
完整的部署方案
EJBCA本身对负载均衡、高可用等有较好的支持,完整的部署方案描述了典型的完整的部署方案的部署形式,如下图:
CA与RA分离(External RA )部署模式
CA与RA分离(External RA )的部署模式,还可以退化成CA与RA部署在一起的模式,初期在安全性要求不高的情况下,基于成本及管理的方便,可以采用CA与RA一体化部署的模式。
EJBCA的安装
必备软件:
1. J2EE jdk
2. JBOSS-4.0.4.GA
3. EJBCA_3_4_1
4. apache-ant-1.8.2 ant版本必须是1.6.3以上的
5. mysql-4.1.11-win32.zip
6. mysql-connector-java-3.1.14.zip
7. jce_policy-1_4_2.zip
安装步骤:
1.准备:(1)安装jdk1.4.2_02到C:\java\jdk1.6.0_10
(2)复制ejbca到C:\ejbca_3_4_1,jboss-4.0.4.GA到C:\jboss-4.0.4.GA,apache-ant-1.8.2到C:\apache-ant-1.8.2
(3)添加环境变量: Path:C:\java\jdk1.6.0_10\bin;C:\jboss-4.0.4.GA\bin;C:\apache-ant-1.8.2\bin
Classpath: C:\java\jdk1.6.0_10\lib
JAVA_HOME: C:\java\jdk1.6.0_10
JBOSS_HOME: C:\jboss-4.0.4.GA
ANT_HOME: C:\apache-ant-1.8.2
EJBCA_HOME:C:\ejbca_3_4_1
(4)将解压后的jce_policy-1_4_2\jce中的local_policy.jar和US_export_policy.jar复制,覆盖C:\Java\jdk1.6.0_10\lib\security中的同名文件。
(5)运行jboss的run.bat。待jboss完全启动后,在浏览器中访问http://localhost:8080 ,出现jboss欢迎页面便表示jboss成功运行。然后一定要停止jboss运行。
(6)将mysql-connector-java-5.0.5解压缩。
o 将其中的mysql-connector-java-5.0.5-bin.jar拷贝到了%JBOSS_HOME%\server\default\lib目录下。
o 将%EJBCA_HOME%\conf\ejbca.properties.sample 复制保存为 %EJBCA_HOME%\conf\ejbca.properties
o 将%EJBCA_HOME%\conf\web.properties.sample, 复制保存为 %EJBCA_HOME%\conf\web.properties
o 将%EJBCA_HOME%\conf\database.properties.sample复制保存为 %EJBCA_HOME%\conf\database.properties
2.运行:
1. cmd到%EJBCA_HOME%目录下,运行ant bootstrap ,并将生成的%EJBCA_HOME%\dist\下的ejbca.ear拷贝到\%jboss-4.0.5%\server\default\deploy(高版本ejbca不需要)
2. cmd到%JBOSS_HOME%目录下,运行run.bat启动jboss控制台
3. cmd到%EJBCA_HOME%目录下,运行ant install (安装会生成p12文件,如无此文件,检查前几步是否有漏项)
4. 停止JBOSS,%EJBCA_HOME%目录下,运行ant deploy (ejbca配置更改,EX.语言文件修改,需重新deploy)
5. cmd到%JBOSS_HOME%目录下,运行run.bat启动jboss,访问http://localhost:8080/ejbca
6. 进入adminstrator,浏览器需导入p12,默认密码是ejbca.
EJBCA创建证书
PS:由于本人做的时候并未设置中文板式,若遇到英文界面,请与下面中文教程对照。中文界面有待更新,敬候~
1.添加终端实体
添加过程中需要注意的地方:
2.查看证书信息
3.编辑终端
4.下载证书
我的版本
我的版本
我的版本
5.导入下载的证书到证书库