第三章 EJBCA源码研究
首先来看看ejbca的源码文件结构:
根据ejbca文件目录结构看出它的核心代码在src/java下面,对CA证书的操作与RA对实体的操作都在这里。
modules/admin-gui/src这里对应的是Administartion管理中的CA与RA WEB功能。
modules/appserver-ext/src这里是ejbca对jboss日志管理类进行继承后的一个扩展。
modules/clearche-war/src这里是为清除各种缓存
modules/clientToolBox/src/这里是对OCSP的一个实现,OCSP(Online Certificate Status Protocol,在线证书状态协议)是维护服务器和其它网络资源安全性的两种普遍模式之一。OCSP克服了证书注销列表(CRL)的主要缺陷:必须经常在客户端下载以确保列表的更新(百度百科中的解释)。
modules/cmpProxy/src这里是实现HTTP与TCP向CMP服务器发送数据(CMP是什么还在研究中...)。
modules/ejbca-cmp-tcp/src modules/ejbca-cmp-war/src和上面差不多。一个是前一个是tcp后一个是http。
modules/ejbca-ejb/src-test测试类
modules/ejbca-ejb-cli/src这里是ejbca提供的一个接口。命令行模式操作ra与ca
modules/ejbca-ejb-interface/src这里是ejbca各实现类的接口类。
modules/ejbca-entity/src这里是数据库对应的实体类
modules/ejbca-entity/src-test这里是数据库对应的实体类测试类
modules/ejbca-renew-war/src这里是接收证书延期操作的servlet
modules/ejbca-scep-war/src这里是对申请证书的servlet
modules/ejbca-webdist-war/src这里是对证书CRLs的操作的servlet
modules/ejbca-ws/src这里是ejbca提供的另一个接口WebService实现
modules/ejbca-ws-cli/src这里是ejbca提供的另一个接口WebService命令行实现
modules/ejbca-ws-cli/src-gen 这里是ejbca提供的另一个WebService接口对应的XML描述
modules/ejbca-xkms/src这里是实现了JAX-WS一组XML web services的JAVA API
modules/ejbca-xkms-cli/src
modules/externalra-gui/src ra的一些外部操作(暂时未明白什么意思)
modules/externalra-scep/src
modules/externalra-secp/src-test
modules/healtcheck-war/src这里是ejbca对负载均衡集群的实现
modules/va-war/src这里是ejbca的认证中心va是Validation Authority
modules/publicweb-gui/src这里是ejbca的公共web界面的操作
modules/systemtests/src对ejbca系统的测试
bin下是一些系统脚本,bat和sh两种,命令行模式下使用
conf下是ejbca系统的各种配置文件
doc是文档。管理员|使用等
modules/下是web jsp文件与上面的源码实现一一对应。
src下是一此部署到不用的服务器所须要的配置文件。
还有就是ant build文件。
根据本人的须要。主要是对modules/ejbca-ws/src下的接口进行研究。外部web 项目通过webServices接口向ejbca添加、删除、修改、查询用户、申请证书、吊销证书、认证证书等。