天天看點

EJBCA API說明----3EJBCA API說明3

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中心比較簡單,下次再看。。。。。。