EJBCA API说明3
——-Lip
想得到完整的EJbca项目,需要到ejbca官网的svn中check下来。地址是:
https://svn.cesecore.eu/svn/ejbca/branches/Branch_4_0/ejbca,貌似要翻墙。等检出后,要配一下,因为工程使用了JBOSS5_HOME类变量,我们需要添加该变量,步骤是Window->Preferences->Java->BuildPath->Classpath,指向jboss的根目录。
经过一段时间研究,发现前面研究的API意义不是太大,提供的例子也帮助不大。其实,这个EJBCA的两个主要功能就是RA和CA中心。这些API都在目录modules/ejbca-ejb-cli/src下包org/ejbca/ui/cli中。
在这些包都是*Command.java的文件,其中的execute(String[]args)是主要的函数,args数组里面是CA或者是用户信息,args[0]是无意义的。生成一个*Command的对象,调用exexute方法,就可以实现其功能了。
在Web界面,进入管理员界面,RA和CA的基本功能,对应以下的类。
Ø CA中心
l BaseCaAdminCommand.java
最基本的类,所有的*Command都继承它。
n protected void createCRL(String issuerdn, boolean deltaCRL)根据CA的DN号,创建一个CRL。(就这个我测试无法通过,需要调试)
n protected String getAvailableCasString()得到所有的CA名字,组成一个字符串
n protected CAInfo getCAInfo(String caname) 根据CA名,得到CA的信息
n protected String getIssuerDN(String caname)根据CA名,得到DN
l CaActivateCACommand.java
激活某个CA。注意必须要其标识号args[2]才可以激活,我使一个CA离线后,结果由于忘记了标识号,无法激活了,最后只有新建一个CA。
l CaDeactivateCACommand.java
使一个CA离线,此时CA没有颁布证书功能。
l CaExportCaCommand.java
导出CA的证书
l CaInfoCommand.java
查看证书信息
l CaExportCACommand.java
导出CA证书,可以选择格式
l CaGetCrlCommand.java
查看某一个CA的CRL(测试未通过)
l CaGetCrlInfo.java
得到所有CA对应的CRL
l CaListCAsCommand.java
列出所有的CA信息
l CaChangeCertProfileCommand.java
改变CA的证书信息
l CaChangeCATokenSignAlg.java
也是改变CA的信息,改变签名算法
l CaExportProfilesCommand.java
把信息从数据库中以XML文件导出来
???测试无效果
l CaImportProfilesCommand.java
把XML中的数据导入到出据库中
???测试无效果
l CaGetRootCertCommand.java
根据CA名,得到根证书
l CaImportCACertCommand.java
根据CA名,导入相关CA证书文件(文件路径)
l CaImportCACommand.java
导入一个keystore,根据它创建一个CA
l CaImportCertCommand.java
把一个证书导入到数据库中
l CaImportCertDirCommand.java
根据CA名,把它的证书导入到数据库中
l CaImportCRLCommand.java
根据CA名,把它的CRL导入到数据库中
l CaImportVCVCACommand.java
导人一个CVC文件,提供CA信息,并根据这个文件创建一个CA
l CaInitCommand.java
创建一个CA,args数据比较长,信息比较多。并发布它的CRL和证书
l HwCaInitCommand.java
功能和CaInitCommand一样?
l CaListExpiredCommand.java
列出在args[1]时间内会到期的证书
l CaRepulishCommand.java
重新发布一个CA下的所有用户的证书
l CaRestoreKeyStoreCommand.java
储存一个PKCS#12文件中的keystore
l ImportMSCACertificates.java
从一个MS CA dump中导入证书 (貌似用不到)
RA中心比较简单,下次再看。。。。。。