999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于EJBCA的CA證書認(rèn)證中心的搭建與應(yīng)用

2018-10-22 06:56:08史建宜陳新鵬
軟件工程 2018年7期

史建宜 陳新鵬

摘 要:保障信息安全交換與傳輸越來越重要。CA認(rèn)證中心,作為一種可信賴的第三方證書機構(gòu),為信息安全傳輸提供安全的密碼認(rèn)證服務(wù),保證信息傳輸參與者的身份真實有效、信息在網(wǎng)絡(luò)上安全傳輸。EJBCA是一個開源的CA系統(tǒng),首先介紹了EJBCA特點和基本結(jié)構(gòu);然后詳述通過EJBCA搭建與配置CA認(rèn)證中心;隨后討論使用EJBCA進(jìn)行證書的申請和生成;最后,通過一個簡單實例說明EJBCA的應(yīng)用。

關(guān)鍵詞:EJBCA;信息安全;認(rèn)證中心

中圖分類號:TP393.08 文獻(xiàn)標(biāo)識碼:A

文章編號:2096-1472(2018)-07-32-04

1 引言(Introduction)

網(wǎng)絡(luò)的迅速發(fā)展給整個社會帶來了各種各樣的改變,人們通過網(wǎng)絡(luò)進(jìn)行信息交換變得越來越普遍。正因如此,人們越來越意識到信息安全交換和傳輸?shù)闹匾浴,F(xiàn)階段,人們對信息安全傳輸有如下幾個要求:身份鑒別、數(shù)據(jù)的保密性、數(shù)據(jù)的完整性、不可抵賴性。信息安全傳輸也面臨著一系列的問題和挑戰(zhàn):如何保障信息傳輸?shù)目煽啃裕咳绾舞b別信息來源的真實性?如何確保信息的完整性和不可抵賴性。諸如以上的問題,推動了信息安全傳輸技術(shù)的快速發(fā)展。

PKI是Public Key Infrastructure的縮寫,是指用公開密鑰的概念和技術(shù)來實施和提供安全服務(wù)的具有普通性的安全基礎(chǔ)設(shè)施,它是國際上解決開放式互聯(lián)網(wǎng)絡(luò)信息安全的一套體系[1]。PKI主要由證書認(rèn)證中心(CA)、審核注冊中心(RA)、證書查詢驗證服務(wù)器(LDAP)等組成[2]。PKI體系支持身份認(rèn)證、信息傳輸、信息的完整性、信息的機密性,以及操作的不可否認(rèn)性[3]。其中,CA是PKI中最核心的部分,CA主要負(fù)責(zé)管理PKI結(jié)構(gòu)下所有用戶的證書,為用戶提供有關(guān)證書的一系列服務(wù)。在本篇論文中,本人將利用開源的EJBCA自己動手搭建一個CA證書管理中心,并把它簡單的應(yīng)用到普通業(yè)務(wù)系統(tǒng)中。

2 EJBCA(Enterprise Java Bean Certificate Authority)

2.1 EJBCA簡介

EJBCA是一個企業(yè)級的PKI證書頒發(fā)機構(gòu),它基于J2EE技術(shù)。它是一個強大的、高性能的、獨立于平臺的、靈活的、基于組件的CA證書認(rèn)證中心。它可以獨立使用,也可以集成在其他的J2EE應(yīng)用程序中[4]。

2.2 EJBCA特點

EJBCA具有以下特點:(1)建立在J2EE規(guī)范之上;(2)支持多個CA和多級CA;(3)可以單獨運行,也可以與任何J2EE的應(yīng)用程序集成;(4)安裝和配置十分簡單;(5)有強大的基于Web的管理界面;(6)支持個人證書申請和證書的批量生產(chǎn);(7)服務(wù)端和客戶端證書能夠采用PKCS12、JKS或者PEM格式導(dǎo)出;(8)支持使用Netspace、Mozila、IE等瀏覽器直接申請證書;(9)由RA添加的新用戶可以通過email進(jìn)行提醒[5,6]。

2.3 EJBCA基本結(jié)構(gòu)

EJBCA包括證書認(rèn)證中心(CA)、審核注冊中心(RA)、證書查詢驗證服務(wù)器(LDAP)和數(shù)據(jù)庫等,如圖1所示。

(1)證書認(rèn)證中心(CA):提供驗證用戶證書申請、簽發(fā)證書、定義發(fā)布證書失效列表、響應(yīng)用戶證書吊銷請求等功能。

(2)審核注冊中心(RA):相當(dāng)于CA的一個代理結(jié)構(gòu),RA提供證書申請的登記和審計工作,同時還產(chǎn)生、驗證和分發(fā)密鑰。

(3)證書查詢驗證服務(wù)器(LDAP):LDAP服務(wù)器提供目錄瀏覽服務(wù),負(fù)責(zé)將注冊機構(gòu)服務(wù)器傳送過來的用戶信息,以及數(shù)字證書存儲到服務(wù)器上,用戶可以通過訪問LDAP服務(wù)器獲得證書和證書失效列表。

(4)數(shù)據(jù)庫:保存用戶信息、CA信息、用戶證書信息,以及作廢證書信息、存儲日志和統(tǒng)計信息[7]。

2.4 EJBCA與其他類似軟件比較

與EJBCA功能相似的還有另外兩種軟件:OpenSSL和Jcssource。Openssl可以生成CA證書和密鑰,但是,所需要的參數(shù)非常多,不提供web方式的管理界面,使用非常不方便。Jcssource提供Web方式的證書管理界面,但是證書只能在指定的web服務(wù)器上使用。EJBCA可以通過web方式生成CA證書和密鑰,也可以通過web方式對證書和密鑰的生命周期進(jìn)行管理。在使用web服務(wù)器方面,它需要web服務(wù)器必須完全支持J2EE的所有標(biāo)準(zhǔn),默認(rèn)使用JBOSS作為web服務(wù)器。

3 EJBCA搭建與配置(Construction and configuration of EJBCA)

3.1 EJBCA搭建環(huán)境和所需軟件

在搭建EJBCA之前,需要做一系列準(zhǔn)備工作。我選擇Ubuntu為操作系統(tǒng),數(shù)據(jù)庫選用MySQL,Web應(yīng)用服務(wù)器使用默認(rèn)的JBOSS。除此之外,還需要另外的一些軟件或工作包,它們分別是JDK、ANT、JDBC驅(qū)動。以上所述的軟件或工具包,在此次搭建過程中,所選用的版本分別為Ubuntu 11.10、JBOSS5.1.0、JDK 1.6.0、Apache-ant 1.8.4、mysql-connector-java-5.1.22。當(dāng)然還有最為重要的EJBCA,我選用的版本為EJBCA_4_0_12。在確定搭建中所需要的軟件和工具包之后,我們就可以開始進(jìn)行搭建工作了。

3.2 前提準(zhǔn)備

在安裝EJBCA之前,我們需要把EJBCA安裝所需要的一些軟件和項目包提前安裝好,這樣可以為安裝EJBCA做好前期準(zhǔn)備,我把前期準(zhǔn)備主要簡單的分為四部分。它們分別是安裝JDK、安裝ANT、安裝JBOSS、安裝MySQL。下面將對它們的安裝過程進(jìn)行詳細(xì)的講解。

3.2.1 安裝JDK

JDK是十分重要的,正如我們前面所述,EJBCA是基于J2EE規(guī)范之上的,所以JDK是必不可少的。把JDK安裝到/opt目錄下,它的安裝路徑為/opt/jdk。

3.2.2 安裝ANT

在安裝EJBCA時,我們需要對EJBCA進(jìn)行編譯、打包、部署等操作,這些工作都需要借助ANT來幫助完成。所以,在搭建EJBCA之前,我們需要安裝ANT編譯打包工具。把ANT安裝到/opt目錄下,它的安裝路徑為/opt/ant。

3.2.3 安裝JBOSS

我們選擇EJBCA默認(rèn)選用的JBOSS為Web應(yīng)用服務(wù)器。當(dāng)安裝EJBCA時,我們要把EJBCA的服務(wù)包發(fā)布到JBOSS中,通過JBOSS,我們就可以訪問EJBCA所能提供的服務(wù)了。安裝過程如下:

(1)安裝JBOSS:把JBOSS安裝到/opt目錄下,安裝之后的路徑為opt/jboss-5.1.0.GA。

(2)修改配置文件:我們需要修改的配置文件位于opt/jboss-5.1.0.GA/server/default/deploy/jbossweb.sar目錄下,配置文件名稱為server.xml,將其中的PORT端口由默認(rèn)的8080修改為80,ADDRESS由原始的${jboss.bind.address}修改為0.0.0.0。配置完成之后,JBOSS就允許其他IP地址可以通過80端口訪問所發(fā)布的項目了。

3.2.4 安裝MySQL

MySQL作為EJBCA的數(shù)據(jù)庫,為其存儲用戶信息、證書信息、日志信息等。其安裝過程如下所述:

(1)安裝MySQL:使用命令apt-get install mysql自動安裝MySQL數(shù)據(jù)庫,在安裝過程中提示設(shè)置數(shù)據(jù)庫的密碼,設(shè)置為123456。

(2)JDBC驅(qū)動:解壓縮mysql-connector-java的安裝包,將解壓縮后文件夾下的mysql-connector-java-5.1.22-bin.jar拷貝到JBOSS默認(rèn)的發(fā)布路徑(opt/jboss-5.1.0.GA/server/default/deploy)下的lib目錄中。當(dāng)我們把此jar包拷貝到JBOSS中的lib文件夾后,JAVA應(yīng)用程序就可以正常的訪問后臺的MySQL數(shù)據(jù)庫。

(3)創(chuàng)建EJBCA數(shù)據(jù)庫:以用戶名root,密碼123456,登錄MySQL數(shù)據(jù)庫。創(chuàng)建一個名字為EJBCA的數(shù)據(jù)庫,并為此數(shù)據(jù)庫的所用用戶授權(quán)。我們在安裝完MySQL之后,就立刻為EJBCA創(chuàng)建數(shù)據(jù)庫,是為后期EJBCA構(gòu)建證書提供方便。

3.3 EJBCA安裝

在做好所有前提準(zhǔn)備之后,我們就可以開始安裝和配置EJBCA了。EJBCA安裝主要可以分為四個部分:安裝EJBCA、配置環(huán)境變量、配置EJBCA屬性文件、構(gòu)建EJBCA。下面我們對每一部分進(jìn)行更加詳細(xì)的講解和說明[8]。

3.3.1 安裝EJBCA

將EJBCA安裝到/opt目錄下,安裝成功之后的路徑為/opt/ejbca_4_0_12。

3.3.2 設(shè)置環(huán)境變量

到此步驟,所有需要安裝的軟件和項目包都已經(jīng)安裝完畢,所以,我們需要把這些軟件的安裝路徑配置到環(huán)境變量中。我們把環(huán)境變量配置到/etc/profile文件中,我們之所以選擇把環(huán)境變量設(shè)置在/etc/profile文件中,是因為/etc/profile是屬于系統(tǒng)級別的環(huán)境變量,在此文件中設(shè)置的環(huán)境變量對所有用戶都起作用。所需要配置的環(huán)境變量內(nèi)容如下:

①export JAVA_HOME=/opt/jdk

②export JBOSS_HOME=/opt/jboss-5.1.0.GA

③export APPSRV_HOME=/opt/jboss-5.1.0.GA

④export J2EE_HOME=/opt/jboss-5.1.0.GA

⑤export ANT_HOME=/opt/ant

⑥export PATH=$JAVA_HOME/bin:$JBOSS_HOME/bin:$ANT_HOME/bin:$PATH

⑦export EJBCA_HOME=/opt/ejbca_4_0_12

⑧export ANT_OPTS=-Xmx640m

3.3.3 配置EJBCA屬性文件

EJBCA的配置文件在/opt/ejbca_4_0_12.conf目錄下。我們總共需要配置三個文件。

(1)ejbca.properties文件:首先,拷貝ejbca.properties.sample,命名為ejbca.properties。然后,修改ejbca.properties文件,需要修改項如下

appserver.type=jboss;

appserver.home=${env.APPSRV_HOME};

java.ver=15;

ca.name=Yeeach Root CA;

ca.dn=CN=Yeeach Root CA,O=Yeeach,C=CN

以上需要修改的幾項,如果在文件中是注釋狀態(tài),則取消注釋即可,如果文件中不存在,則需要添加。

(2)database.properties文件:首先,拷貝database.properties.sample,命名為database.properties。然后,修改database.properties文件,需要修改項如下:

database.name=mysql;

datasource.mapping=mySQL;database.url=jdbc:mysql://127.0.0.1:3306/ejbca?characterEncoding=UTF-8;

database.driver=com.mysql.jdbc.Driver;

database.username=ejbca;

database.password=ejbca

(3)web.properties文件:首先,拷貝web.properties.sample,命名為web.properties。然后,修改web.properties文件,需要修改項如下:

java.trustpassword=密碼;

superadmin.password=密碼;

httpsserver.hostname=10.5.110.199(JBOSS服務(wù)器IP地址);

httpserver.pubhttp=80(訪問Jboss服務(wù)的端口)

(4)構(gòu)建ejbca

①拷貝jar包:把EJBCA安裝路徑lib目錄下的以bc開頭的jar都拷貝到JBOSS的默認(rèn)發(fā)布項目路徑下的lib文件夾中;

②ant bootstrap:編譯和構(gòu)建EJBCA,并將EJBCA發(fā)布到JBOSS中,此步驟執(zhí)行成功之后,我們將在JBOSS默認(rèn)發(fā)布服務(wù)的路徑下看到EJBCA的服務(wù)包(ejbca.ear)。

③./run.sh:啟動JBOSS服務(wù),此時,我們就可以通過http://10.5.110.199/ejbca訪問EJBCA服務(wù)了,如圖2所示。

④Ant-isntall:開啟一個新的終端,執(zhí)行ant-isntall命令構(gòu)建證書信息,生成CA、JBOSS服務(wù)器、客戶端瀏覽器證書。如果執(zhí)行成功,在/opt/ejbca_4_0_12下生成一個p12文件夾,其中包含三個文件:superadmin.p12、tomcat.jks和truststore.jks。

⑤./shutdown.sh-S:關(guān)閉JBOSS服務(wù)。

⑥ant deploy:重新部署一次EJBCA服務(wù),此次部署過程中將配置web服務(wù)器的證書文件。部署成功之后,將在server.xml(位于/opt/jboss-5.1.0.GA/server/default/deploy/jbossweb.sar目錄下)文件中看到JBOSS已經(jīng)開啟8442和8443端口服務(wù),并且相應(yīng)的密鑰庫路徑、密鑰庫密碼、驗證客戶端證書的文件路徑和密碼,都已經(jīng)配置完成了,代碼如下。其中keystore.jks是密碼庫,truststore.jks是驗證客戶端證書庫。

SSLEnabled="true"

keystoreFile="${jboss.server.home.dir}/conf/keystore/keystore.jks"

keystorePass="serverpwd" sslProtocal="TLS"

truststoreFile="${jboss.server.home.dir}/conf/keystore/truststore.jks"

truststorePass="shijianyi" truststoreType="JKS" URLEncoding="UTF-8"/>

SSLEnabled="true"

keystoreFile="${jboss.server.home.dir}/conf/keystore/keystore.jks"

keystorePass="serverpwd" sslProtocal="TLS"

truststoreFile="${jboss.server.home.dir}/conf/keystore/truststore.jks"

truststorePass="shijianyi"truststoreType="JKS" URLEncoding="UTF-8"/>

⑦./run.sh:再次啟動JBOSS

⑧客戶端瀏覽器中導(dǎo)入證書:把生成的證書superadmin.p12拷貝到客戶端,進(jìn)行安裝。經(jīng)過以上步驟,我們就可以通過IP地址https://10.5.110.199:8443/ejbca,以web方式對CA進(jìn)行管理了,通過http協(xié)議和80端口訪問EJBCA服務(wù),如圖3所示。

4 證書的申請和生成(Application and generation of certificates)

當(dāng)EJBCA搭建成功之后,在EJBCA的主界面中,單擊“Administration”,進(jìn)入CA證書管理界面。在此,我們主要介紹證書的申請和生成。用戶單擊左側(cè)列表中的RA Function下的“Add End Entity”,進(jìn)入用戶注冊界面,用戶需要填寫個人信息給CA管理員。CA管理員在審核用戶所提交資料的真實性、完整性,以及用戶名的唯一性后通過RA將用戶資料保存在MySQL數(shù)據(jù)庫中,同時通知用戶審核已核準(zhǔn)。之后,用戶需要進(jìn)行生成證書請求。在左側(cè)列表中選擇Enroll下的“Create KeyStore”,以提交證書申請時的用戶名和密碼登錄EJBCA頁面,登錄成功之后,選擇key的長度等信息,如圖4所示,點擊“OK”,完成生成證書請求。EJBCA在接到用戶生成證書的申請后會調(diào)用CA模塊,而CA模塊通過獲取保存在數(shù)據(jù)庫中的用戶信息和CA信息,簽發(fā)用戶的個人證書,如圖5所示。用戶在客戶端將此證書導(dǎo)入瀏覽器,當(dāng)我們再次訪問https://serverIP:8443/ejbca的時候,瀏覽器會提示讓我們選擇以那個證書訪問系統(tǒng),如圖6所示,服務(wù)器根據(jù)我們所選擇的證書,登錄系統(tǒng)。因為yi這個用戶只是普通的注冊用戶,沒有管理證書的權(quán)限,所以當(dāng)我們點擊列表Miscellaneous下的Administration時,系統(tǒng)會提示我們“您沒有權(quán)限訪問此頁面”,從而我們可以知道通過證書可以實現(xiàn)權(quán)限管理。以上,我們簡述了證書的申請和生成過程。

5 EJBCA簡單應(yīng)用(EJBCA simple application)

在完成EJBCA的搭建和證書的生成之后,我們將這個證書應(yīng)用到實際項目中。在本小節(jié)中,我開發(fā)了一個非常簡單的Java Web Project,項目名稱為PKI_JSP。在此項目的根目錄下有一個key.jsp文件,在此JSP文件中,主要功能是顯示證書信息。將此項目導(dǎo)出為PKI_JSP.war項目包。將此PKI_JSP.war發(fā)布到/opt/jboss-5.1.0.GA/opt/jboss-5.1.0.GA/server/default/deploy/目錄下。然后,啟動JBOSS服務(wù)。在客戶端就可以通過https://10.5.110.199:8443/PKI_JSP/key.jsp訪問此服務(wù)。瀏覽器中將顯示證書的基本信息。如圖7所示。

6 結(jié)論(Conclusion)

EJBCA是一個開源的項目,它具有公開性、開放性和靈活性,它的配置和使用都十分的簡單和方便。用戶可以通過它自己搭建一個適合自己的CA證書管理中心,從而可以保證用戶的信息在網(wǎng)絡(luò)間傳輸?shù)陌踩浴JBCA是一個十分有用和有意義的開源項目,它對推進(jìn)PKI技術(shù)的發(fā)展起到了非常重要的作用。

參考文獻(xiàn)(References)

[1] 候梅芳,馮梅.基于PKI的身份認(rèn)證與訪問控制平臺的設(shè)計[J].微計算機信息,2012,28(1):132-134.

[2] 荊繼武,林璟鏘,馮登國.PKI技術(shù)[D].北京:科學(xué)出版社,2008.

[3] 顏海龍,閆巧,馮級強,等.基于PKI/CA互信互認(rèn)體系的電子政務(wù)[J].深圳大學(xué)學(xué)報(理工版),2012,29(3):113-117.

[4] 陳勤,凌青生,丁宏.安全CA實例_EJBCA的研究[J].計算機工程與設(shè)計,2005,26(12):3222-3224.

[5] 周誠,劉電霆.基于EJBCA的CA系統(tǒng)的研究與實現(xiàn)[J].廣西輕工業(yè),2009(12):70-71.

[6] 段輝良,周中偉.基于EJBCA的CA系統(tǒng)的應(yīng)用研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2008(7):81-82.

[7] 劉博,劉知貴,任立學(xué).PKI認(rèn)證技術(shù)在閱卷系統(tǒng)中的應(yīng)用與實現(xiàn)[J].計算機安全,2010(05):83-85.

[8] 吳潔明,史建宜.基于EJBCA的Web Services應(yīng)用研究[J].計算機工程與設(shè)計,2013(10):3443-3447.

作者簡介:

史建宜(1988-),女,碩士,工程師.研究領(lǐng)域:信息安全,自動化.

陳新鵬(1990-),男,碩士,工程師.研究領(lǐng)域:信息安全,數(shù)據(jù)庫.

主站蜘蛛池模板: h网站在线播放| 毛片在线看网站| 久久一本日韩精品中文字幕屁孩| 91精品专区| 色天堂无毒不卡| 久久久久88色偷偷| 黄色网在线免费观看| 国产性爱网站| 成年人午夜免费视频| 欧美精品1区| 制服丝袜国产精品| 九色国产在线| 国产成人高清在线精品| 久久精品女人天堂aaa| 日韩成人在线视频| 欧美日韩综合网| 欧美第一页在线| 中文字幕乱码二三区免费| 无码免费试看| 国产精品福利社| 亚洲最大看欧美片网站地址| 国产幂在线无码精品| 一级香蕉视频在线观看| 亚洲精品自拍区在线观看| 国产精品毛片一区视频播| 日韩毛片在线播放| 91人妻在线视频| 久青草网站| 亚洲国产欧美自拍| 欧美一级99在线观看国产| 91探花在线观看国产最新| 国产黄色免费看| 久久久久久久97| 国产菊爆视频在线观看| 另类欧美日韩| 国产精品欧美亚洲韩国日本不卡| 无码网站免费观看| 久久中文字幕av不卡一区二区| 高清无码手机在线观看| 国产精品区网红主播在线观看| 国产尹人香蕉综合在线电影| 久久99热这里只有精品免费看| 亚洲成人福利网站| 久热re国产手机在线观看| 91视频区| 国产欧美中文字幕| 婷婷午夜天| 色AV色 综合网站| 久久国产黑丝袜视频| a级毛片免费看| 狠狠干欧美| 亚洲中字无码AV电影在线观看| 免费无码又爽又刺激高| 好久久免费视频高清| 亚洲精品午夜天堂网页| 国产精品私拍99pans大尺度| 亚洲一区二区三区麻豆| 国产91无码福利在线| 国产乱子伦手机在线| 欧美福利在线播放| 在线国产综合一区二区三区| 欧美日韩国产高清一区二区三区| 国产成人超碰无码| 国产精品妖精视频| 亚洲精品色AV无码看| 国产精品妖精视频| 美女被操黄色视频网站| 国产欧美自拍视频| 亚洲第一综合天堂另类专| 国产高潮流白浆视频| 国产精品太粉嫩高中在线观看| 欧美午夜性视频| 四虎影视永久在线精品| 99国产精品国产| 亚洲精品成人片在线观看| 亚洲男人的天堂久久香蕉网| 亚洲综合久久一本伊一区| 成人亚洲国产| 国产成人精品在线1区| 精品视频在线一区| 国产成人无码久久久久毛片| 热九九精品|