跟我学EJBCA系列一:安装

简介:

EJBCA是一个全功能的开源CA系统软件,它基于J2EE技术,并提供了一个强大的、高性能并基于组件的CA。EJBCA兼具灵活性和平台独立性,能够独立使用,也能和任何J2EE应用程序集成。

特性:

LGPL开源许可
建立在J2EE 1.3(EJB2.0)规范之上
灵活的、基于组件的体系结构
多级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完全采用Java编写,能够在任何采用J2EE服务器的平台上运行。开发和测试是在Linux和Windows上进行的。

软件清单:

J2SE6

jce_policy-6.zip

JDK 1.6 update 12和JCE Unlimited Strength Jurisdiction Policy Files 6 Release Candidate
http://java.sun.com/javase/downloads/index.jsp


JBoss:

JBoss-5.0.1.GA-jdk6 (注意请下载JBoss-5.0.1.GA-jdk6.zip)  

去官方网站转了半天不知道再哪下载,于是去了sourceforge。

http://downloads.sourceforge.net/jboss/jboss-5.0.1.GA-jdk6.zip?use_mirror=jaist

EJBCA:

EJBCA 3.8.1    
http://www.ejbca.org/download.html

ANT:

apache-ant-1.7.1  
http://ant.apache.org/bindownload.cgi

MySQL:

MySQL 5.1    
http://dev.mysql.com/downloads/mysql/5.1.html

mysql-connector-java-5.1.7.zip  
http://download.softagency.net/MySQL/Downloads/Connector-J/


安装步骤:

1.安装j2se6,解压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 line client命令行工具,输入口令"root",并建立一个空数据库ejbca,命令行为"create database ejbca;"。而后退出命令行工具。

3.解压ejbca、jboss、ant到C盘根目录下。

4.设置系统环境变量,

把mysql-connector-java-5.1.7.zip里的mysql-connector-java-5.1.7-bin.jar拷贝到%JBOSS_HOME%\server\default\lib目录下。

5.设置环境变量。

JAVA_HOME = C:\Program Files\Java\jdk1.6.0_12

JBOSS_HOME = C:\jboss-5.0.1.GA

ANT_HOME = C:\apache-ant-1.7.1

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;

6.配置ejbca

将%EJBCA_HOME%\conf\ejbca.properties.sample 复制保存为   %EJBCA_HOME%\conf\ejbca.properties

将%EJBCA_HOME%\conf\web.properties.sample, 复制保存为   %EJBCA_HOME%\conf\web.properties

将%EJBCA_HOME%\conf\database.properties.sample复制保存为 %EJBCA_HOME%\conf\database.properties

编辑database.properties如下 (下文中没有'#'的几行在原文件中是有'#',修改就是把'#'去掉)

# ------------- Database configuration ------------------------

# jndi name of the datasource to use in deployment descriptors of ejbs.
# default: EjbcaDS
#datasource.jndi-name=EjbcaDS

# Prefix for the jndi name of the datasource to use in deployment descriptors of ejbs.
# JBoss requires 'java:/' as prefix, while Weblogic does not want anything (''), and Glassfish wants jdbc/
# Oracle usually uses jdbc/ as well.
# For Websphere use jdbc/.
# default: java:/
#datasource.jndi-name-prefix=java:/
#datasource.jndi-name-prefix=
#datasource.jndi-name-prefix=jdbc/

# Weblogic in combination with Oracle requires special handling of LONG/BLOB columns
# If, and only if, you are using Weblogic and Oracle, uncomment the row below.
# Use OracleBlob in Weblogic 8.x and Blob in Weblogic 9.x
# Note: This setting is not needed in Weblogic 9.2. Leave it commented out.
# default:
#weblogic-oracle-columntype=@weblogic.dbms-column-type Blob

# The database name selected for deployment, used to copy XDoclet merge files.
# All supported databases are defined below, others can easily be added
# See the document doc/howto/HOWTO-database.txt for database specifics and tips and tricks.
# Default: hsqldb
database.name=mysql
#database.name=postgres
#database.name=mssql2000
#database.name=oracle
#database.name=sapdb
#database.name=sybase
#database.name=informix
#database.name=derby
#database.name=db2

# The datasource mapping selected for deployment.
# The J2EE server needs to be configured with the appropriate datasource mapping.
# For JBoss this maps to a setting in standardjbosscmp-jdbc.xml and must match the database chosen above.
# All supported mappings are defined below, others can easily be added
# Default: Hypersonic SQL
datasource.mapping=mySQL
#datasource.mapping=PostgreSQL 7.2
#datasource.mapping=PostgreSQL 8.0
#datasource.mapping=MS SQLSERVER2000
#datasource.mapping=Oracle8
#datasource.mapping=Oracle9i
#datasource.mapping=SapDB
#datasource.mapping=Sybase
#datasource.mapping=Informix92
#datasource.mapping=InformixDB
#datasource.mapping=Derby
#datasource.mapping=DB2

# Database connection url.
# This is the URL used to connect to the database, used to configure a new datasource in JBoss.
# Default: jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}localDB
#database.url=jdbc:mysql://127.0.0.1:3306/ejbca
database.url=jdbc:mysql://127.0.0.1:3306/ejbca?characterEncoding=UTF-8
#database.url=jdbc:postgresql://127.0.0.1/ejbca
#database.url=jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=ejbca
#database.url=jdbc:oracle:thin:@127.0.0.1:1521:ejbca
#database.url=jdbc:datadirect:oracle://127.0.0.1:1521;SID=ejbca
#database.url=jdbc:informix-sqli://127.0.0.1:1525/ejbca:informixserver=mydbservername;DBDATE=DMY4/;
#database.url=jdbc:derby://127.0.0.1/ejbca;create=true
#database.url=jdbc:db2://127.0.0.1:50000/ejbca

# JDBC driver classname.
# The J2EE server needs to be configured with the appropriate JDBC driver for the selected database
# Default: org.hsqldb.jdbcDriver
database.driver=com.mysql.jdbc.Driver
#database.driver=org.postgresql.Driver
#database.driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
#database.driver=oracle.jdbc.driver.OracleDriver
#database.driver=com.ddtek.jdbc.oracle.OracleDriver
#database.driver=com.informix.jdbc.IfxDriver
#database.driver=org.apache.derby.jdbc.ClientDriver
#database.driver=com.ibm.db2.jcc.DB2Driver

# Database username.
# Default: sa (works with hsqldb)
#database.username=ejbca
#database.username=postgres
database.username=root

# Database password.
# Default: (blank works with hsqldb)
#database.password=ejbca
#database.password=postgres
database.password=root

7.cmd到%EJBCA_HOME%目录下,运行ant bootstrap,进行ejbca的编译。

8.不换目录,敲入start run.bat,启动jboss控制台。

9.不换目录,敲入ant install 进行ejbca的安装(安装会生成p12文件,如无此文件,检查前几步是否有漏项)。如果出现JCE cannot authenticate the provider BC错误,把%EJBCA_HOME%/lib/bc*.jar拷贝到%JBOSS_HOME%server/default/lib下。
参考以下链接
http://www.jboss.org/index.html?module=bb&op=viewtopic&t=148315&start=-10&postdays=postDays&postorder=postOrder&highlight=highlight

10.按一下Ctrl+C,停止JBOSS。

11.不换目录,敲入ant deploy,进行ejbca的部署。

12.去%EJBCA_HOME%\p12下,安装superadmin.p12证书,口令为"ejbca"。

13.安装成功。

cmd到%EJBCA_HOME%目录下,运行run.bat启动JBOSS。

在ie地址栏中敲入https://localhost:8443/ejbca/adminweb出现证书选择对话框,选择SuperAdmin证书后出现管理控制台页面:

在ie地址栏中敲入http://localhost:8080/ejbca出现业务控制台页面:

原文地址:https://www.cnblogs.com/adylee/p/1413320.html