• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于EJBCA的Web Service應(yīng)用研究

      2013-09-08 10:16:48吳潔明史建宜
      關(guān)鍵詞:實(shí)例客戶端證書

      吳潔明,史建宜

      (北方工業(yè)大學(xué) 信息工程學(xué)院,北京100144)

      0 引 言

      隨著數(shù)字信息化的迅速發(fā)展,信息交互越來越依賴網(wǎng)絡(luò)。網(wǎng)絡(luò)使得信息交換效率顯著提高的同時,人們也漸漸的意識到信息安全交換的重要性。信息安全技術(shù)的發(fā)展和完善成為人們的普遍訴求。認(rèn)證中心 (certificate authority,CA)是目前使用最為普遍的一種信息安全技術(shù)。通常,CA作為可信的第三方機(jī)構(gòu)出現(xiàn),通過對網(wǎng)絡(luò)活動參與者的密鑰進(jìn)行授權(quán)認(rèn)證的形式保證網(wǎng)絡(luò)服務(wù)的安全。但是,作為一個相對獨(dú)立的模塊,在應(yīng)用系統(tǒng)開發(fā)過程中,CA并不能得到很有效的使用。

      目前,CA系統(tǒng)的技術(shù)已經(jīng)相對成熟,而且有許多開源的 CA 系統(tǒng)可供參考,EJBCA (enterprise Java bean certificate authority)就是其中之一,它是一個實(shí)現(xiàn)了所有CA功能的系統(tǒng)軟件[1]。為了提高CA服務(wù)的方便性和高效性,EJBCA引入了 Web Service技術(shù)。自3.4版本開始,EJBCA提供了符合JAX-WS 2.0規(guī)范的 Web Service接口,使得EJBCA的使用更加方便和靈活。

      1 EJBCA

      1.1 EJBCA簡介

      EJBCA的基本定義請參見文獻(xiàn) [2]。

      EJBCA具有以下特點(diǎn):建立在J2EE規(guī)范之上;支持多個CA和多級CA;可以單獨(dú)運(yùn)行,也可以與任何J2EE的應(yīng)用程序集成;安裝和配置十分簡單;有強(qiáng)大的基于Web的管理界面;支持個人證書申請和證書的批量生產(chǎn);服務(wù)端和客戶端證書能夠采用PKCS12、JKS或者PEM格式導(dǎo)出。

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

      EJBCA的基本結(jié)構(gòu)包括認(rèn)證中心CA、注冊中心 (regi-stration authority,RA)、輕量級目錄訪問協(xié)議 (lightweight directory access protocol,LDAP)和數(shù)據(jù)庫等。EJBCA 的基本結(jié)構(gòu)如圖1所示。

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

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

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

      (3)證書查詢驗(yàn)證服務(wù)器 (LDAP):LDAP是一個存儲倉庫,主要是用來存儲用戶的證書信息。

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

      1.3 EJBCA搭建

      在此次搭建過程中,選擇的操作系統(tǒng)是Ubuntu。另外,還用到了一些軟件和工作包,分別是:EJBCA、JBOSS、MySQL、JDK、ANT、JDBC驅(qū)動 (mysql-connector-java)。這里只簡述EJBCA環(huán)境搭建的基本過程:

      (1)下載以上的安裝包,將JDK、ANT、JBOSS、EJBCA的安裝包進(jìn)行解壓縮,并安裝到/opt目錄下。

      (2)通 過 apt-get install 命 令 安 裝 MySQL, 并 在MySQL中為EJBCA創(chuàng)建相應(yīng)的數(shù)據(jù)庫,這是為后期生成證書做好準(zhǔn)備工作。

      (3)把這些軟件的安裝路徑配置到環(huán)境變量中,即配置到/etc/profile文件中。

      (4)配置EJBCA屬性文件ejbca.properties,此文件位于%EJBCA_HOME%/conf目錄下,其中%EJBCA_HOME%代表EJBCA的安裝路徑。

      (5)啟動JBOSS服務(wù),并構(gòu)建EJBCA。

      至此,最基本的EJBCA環(huán)境就搭建完成了。

      2 EJBCA Web Service配置

      2.1 前期準(zhǔn)備

      在配置EJBCA Web Service之前,需要做一些準(zhǔn)備工作。如下所述:

      (1)EJBCA環(huán)境搭建:參見1.3EJBCA搭建。

      (2)證書生成:在配置EJBCA屬性文件過程中,會配置證書相應(yīng)的信息。這樣在EJBCA構(gòu)建過程中,會自動生成一系列證書,并將證書的相關(guān)信息存儲到MySQL數(shù)據(jù)庫中。構(gòu)建過程中,將生成3個證書,分別是tomcat.jks、truststore.jks和superadmin.p12。其中tomcat.jks是服務(wù)器端的證書,truststore.jks是驗(yàn)證客戶端證書的證書庫,superadmin.p12是客戶端瀏覽器的證書。

      (3)客戶端安裝證書:將生成的superadmin.p12證書導(dǎo)出,并導(dǎo)入到客戶端瀏覽器中。

      (4)安全協(xié)議訪問EJBCA服務(wù):以JOBSS作為 Web服務(wù)器,通過Https安全訪問協(xié)議和8443端口,訪問EJBCA服務(wù)。

      經(jīng)過以上的一系列的前期準(zhǔn)備工作,我們可以以安全模 式 訪 問 https://ca.yeeach.com:8443/ejbca (其 中ca.yeeach.com為本地配置的域名)。這樣,就可以以web方式對CA進(jìn)行管理。訪問EJBCA服務(wù)時數(shù)字證書信息如圖2所示,web方式管理CA的界面如圖3所示。

      圖3 web方式管理CA的界面

      2.2 配置 Web Service行為

      Web Service是一種面向服務(wù)的體系結(jié)構(gòu) (service oriented architecture,SOA)技術(shù),通過標(biāo)準(zhǔn)的Http協(xié)議提供服務(wù),目的是保證不同平臺的應(yīng)用服務(wù)可以互操作、互訪問?,F(xiàn)在,越來越多的網(wǎng)絡(luò)應(yīng)用提供商都提供 Web Service服務(wù),并且Web Service已經(jīng)得到了廣泛的認(rèn)可和使用。

      在使用 EJBCA Web Service之前需要對 Ejbca Web Service行為和JAX-WS的一些選項(xiàng)進(jìn)行配置。這些配置信息位于%EJBCA _HOME%/conf/jaxws.properties文件中。修改jaxws.properties文件,在 Web service(jaxws)configuration配置項(xiàng)下,需要配置非常重要的一項(xiàng):ejbcaws.enabled。

      (1)ejbcaws.enabled =true:當(dāng) 發(fā) 布 EJBCA 服務(wù)到JBOSS的時候,會發(fā)布EJBCA Web Service服務(wù)。

      (2)ejbcaws.enabled=false:當(dāng)發(fā)布 EJBCA 服務(wù)到JBOSS的時候,不會發(fā)布EJBCA Web Service服務(wù),默認(rèn)配置為false。

      其它配置項(xiàng)在JAXWS settings下,我們可以根據(jù)自己的具體需求進(jìn)行配置。在配置完成后,需要重新發(fā)布EJBCA,這些配置信息才會生效。

      2.3 配置 Web Service CLI

      配置 Web Service命令行界面 (command line interface,CLI),是為了使用戶可以通過命令行的方式訪問EJBCA Web Service所提供的各種服務(wù)接口。

      配置步驟如下:

      (1)進(jìn)入%EJBCA_HOME%/dist/ejbca-ws-cli目錄。

      (2)編輯ejbcawsracli.properties文件,修改ejbcawsracli.url為你訪問EJBCA Web Service服務(wù)的路徑,在此配置的訪問路徑為https://ca.yeeach.com:8443/ejbca/ejbcaws/ejbcaws。

      (3)在配置Web Service時需要一個P12或JKS的密碼庫,我們可以使用在安裝過程中生成的supderadmin.p12密碼庫或者重新生成一個JKS密碼庫。在此,我們選擇使用supderadmin.p12 來 對 ejbcawsracli.keystore.path 進(jìn) 行 配置, 配 置 為 ejbcawsracli.keystore.path= ../../p12/superadmin.p12。

      2.4 配置 Web Service SOAP Address

      經(jīng)過以上一系列的配置,當(dāng)我們啟動JBOSS之后,JBOSS將發(fā)布Web Service服務(wù),我們可以通過web瀏覽器 訪 問 Web Service 服 務(wù) 地 址 https://ca.yeeach.com:8443/ejbca/ejbcaws/ejbcaws?wsdl。Web 服 務(wù) 描 述 語 言(web services description language,WSDL)是 描 述 協(xié) 助Web服務(wù)者和Web服務(wù)消費(fèi)者之間交互的網(wǎng)絡(luò)服務(wù)標(biāo)準(zhǔn)。它主要為用戶提供詳細(xì)的服務(wù)接口說明。WSDL中非常重要的一項(xiàng)信息是SOAP:Address。我們可以看到此處EJBCA發(fā)布的WSDL文件中的SOAP:Address如下:<soap:address location ="http://localhost:8080/ejbca/ejbcaws/ejbcaws"/>。與我們訪問 Web Service服務(wù)的地址不相符,下面我們將對SOAP:Address進(jìn)行配置,最終使它們所使用的地址達(dá)成一致。配置過程如下:

      (1)進(jìn)入%JBOSS_HOME%/server/default/

      deployers/jbossws.deployer/ META-INF 目 錄, 其中%JBOSS_HOME%代表JBOSS的安裝路徑。

      (2)修改jboss-bean.xml文件:

      現(xiàn)在,分別對以上所修改的4個屬性,進(jìn)行詳細(xì)的介紹。

      (1)webServiceHost:配置SOAP Address中的IP地址。JBOSS支持重寫SOAP Address,如果這個 webServiceHost沒有配置,JBOSS Web Service將使用所發(fā)送的請求來重寫這個SOAP Address。

      (2)modifySOAPAddress:當(dāng) modifySOAPAddress設(shè)置為TRUE時,如果SOAP Address是一個有效的URL,JBOSSWS將不重寫這個SOAP Address。如果SOAP Address是一個無效的URL,JBOSSWS將使用webService-Host所配置的信息來重寫SOAP Address。

      (3)webServiceSecurePort:安全訪問 Web Service所使用的端口,此處設(shè)置為8443。

      (4)webServicePort:訪問 Web Service的默認(rèn)端口,默認(rèn)為8080。配置webServiceSecurePort和webServicePort來明確定義端口,都是為了重寫SOAP Address做準(zhǔn)備。

      經(jīng)過以上的配置,在發(fā)布的WSDL文件中,我們將看到SOAP Address的地址為 <soap:address location="http://ca.yeeach.com:8080/ejbca/ejbcaws/ejbcaws" />。由此可以看到我們的配置信息起到了一定的作用。

      2.5 修改 WSDL

      如上所述我們把ejbcaws.enabled設(shè)置為true,這就使得JBOSS每次啟動的時候,都會發(fā)布EJBCA Web Service,重新生成一個WSDL文件。JBOSS會把這個WSDL文件生成到%JBOSS _HOME%/server/default/data/wsdl/ejbca.ear/ejbcaws-ejb.jar目錄下,文件名為EjbcaWSService序號 .wsdl,例如:EjbcaWSService3950455733930732592.wsdl。編輯此 WSDL文件,修改文件最后的SOAP Address,修改前SOAP Address為:

      <soap:address location="http://ca.yeeach.com:8080/ejbca/ejbcaws/ejbcaws"/>

      修改后SOAP Address為:

      <soap:addresslocation="https://ca.yeeach.com:8443/ejbca/ejbcaws/ejbcaws"/>。

      經(jīng)過以上修改,Ejbca Web Service的 Web訪問地址和WSDL文件中的SOAP Address就一致了,均為https://ca.yeeach.com:8443/ejbca/ejbcaws/ejbcaws?wsdl,分 別如圖4和圖5所示。至此,對EJBCA Web Service的配置就結(jié)束了。

      3 EJBCA Web Service的實(shí)現(xiàn)

      3.1 EJBCA Web Service訪問

      訪問EJBCA Web Service有兩種方式,第一種是通過Web Service CLI,這種方式是采用命令行交互的方式對Web Service進(jìn)行訪問。另外一種方式是,將EJBCA Web Service的jar包引入到項(xiàng)目中,在項(xiàng)目中直接訪問EJBCA Web Service。針對以上兩種方法,下面將給出具體的實(shí)現(xiàn)方法。

      3.2 Linux實(shí)現(xiàn)

      我們在安裝EJBCA的Ubuntu系統(tǒng)下,簡單使用命令行的方式來訪問Ejbca Web Service。在2.3中,我們講解了如何配置 Web Service CLI。配置 Web Service CLI,就是為了使用戶可以通過命令行的方式來訪問EJBCA Web Service所提供的各種服務(wù)接口。要使用EJBCA Web Service的話,除了需要按照2.3中進(jìn)行配置之外,還需要將%JBOSS_HOME%/common/lib目錄下的jar包

      拷貝到%JBOSS_HOME%/lib/endorsed目錄下。使用 Web Service CLI,需要進(jìn)入%EJBCA _HOME%/dist/目錄下,執(zhí)行ejbca-ws-cli腳本。

      在Linux下要實(shí)現(xiàn)的實(shí)例是,獲得用戶名為tomcat的用戶證書信息。其所執(zhí)行的命令和運(yùn)行結(jié)果如圖6所示。圖6中,框一是所執(zhí)行的Web Service CLI命令,其作用是訪問Web Service中的finduser服務(wù),尋找用戶名為tomcat的用戶證書??蚨菆?zhí)行命令之后,在MYSQL數(shù)據(jù)庫中所找到的對應(yīng)用戶證書,并顯示此用戶證書的一些基本信息。

      圖6 Linux實(shí)例

      3.3 Windows實(shí)現(xiàn)

      在Windows系統(tǒng)下,要實(shí)現(xiàn)的實(shí)例與Linux下的相似,是獲得用戶名中包含 “tomcat”字符串的用戶證書。我們選擇Java作為開發(fā)語言,開發(fā)環(huán)境選擇MyEclipse。在開發(fā)過程中,需要用到一些jar包,這些jar包全部都可以從%EJBCA _HOME%/dist/ejbca-ws-cli 和%EJBCA _HOME%/dist/ejbca-ws-cli/lib目錄下找到。主要用到的jar包有3個,分別是:

      實(shí)例部分重要的代碼截圖如圖7所示。

      圖7 Windows實(shí)例部分重要代碼

      第 (1)行:安裝BouncyCastle提供者。

      第 (2)行:訪問EJBCA Web Service服務(wù)的地址。

      第 (3)-(4)行:通過安全協(xié)議 Https訪問 WebService所需要的證書信任庫和相應(yīng)的密碼。

      第 (5)行:設(shè)置證書庫類型,此處設(shè)置為PKCS#12。

      第 (6)-(7)行:設(shè)置存儲證書公鑰、私鑰等信息的證書庫和此庫對應(yīng)的密碼。

      第 (8)-(11):創(chuàng)建使用 EJBCA Web Service所需要的對象,包括QName、EjbcaWSService和EjbcaWS。

      第 (12)行:創(chuàng)建UserMatch對象,用來尋找用戶證書。

      第 (13)行:尋找用戶證書的時候,所需要匹配的變量是用戶名 (USERNAME)。

      第 (14)行:匹配的方式是包含 (CONTAINS)。

      第 (15)行:匹配值是tomcat。即:尋找用戶名中包含 “tomcat”的用戶證書信息。

      程序運(yùn)行結(jié)果如圖8所示。輸出從數(shù)據(jù)庫中找到的用戶證書的基本信息。

      圖8 Windows實(shí)例運(yùn)行結(jié)果

      4 結(jié)束語

      EJBCA是一款優(yōu)秀的、免費(fèi)的CA系統(tǒng)軟件,它可以實(shí)現(xiàn)對證書的管理。在開發(fā)過程中使用EJBCA,可以起到簡化證書管理的作用。它所提供的Web Service服務(wù),主要作用是提供所有關(guān)于證書管理的服務(wù)接口,通過它可以將CA很便捷的融入到應(yīng)用系統(tǒng)開發(fā)過程中。

      綜上所述,可以得出這樣一個結(jié)論。當(dāng)需要開發(fā)一個應(yīng)用系統(tǒng),并且這個應(yīng)用系統(tǒng)采用CA技術(shù)來保障和提高它的安全性,可以選擇EJBCA來實(shí)現(xiàn)CA的所有功能,并使用EJBCA Web Service服務(wù)將CA融入到應(yīng)用系統(tǒng)中。這樣的一種開發(fā)方式,大大降低了使用CA系統(tǒng)的開發(fā)成本,并且非常的靈活和方便。

      本文簡單的介紹了EJBCA的相關(guān)知識及其安裝過程,詳細(xì)的講述了EJBCA Web Service的配置過程,最后在Linux和Window系統(tǒng)下,對EJBCA Web Service進(jìn)行了實(shí)踐。

      [1]CHEN Weichuan.Implementation and optimization of certificate status query system based on EJBCA [J].China Computer&Communication,2009 (12):81-83 (in Chinese).[陳偉川.基于EJBCA的證書狀態(tài)查詢系統(tǒng)的實(shí)現(xiàn)與優(yōu)化[J].信息與電腦,2009 (12):81-83.]

      [2]ZHOU Cheng.LIU Dianting.The CA systems research and implementation based on EJBCA [J].Guangxi Journal of Light Industry,2009 (12):70-71 (in Chinese).[周誠.劉電霆.基于EJBCA的CA系統(tǒng)的研究與實(shí)現(xiàn) [J].廣西輕工業(yè),2009(12):70-71.]

      [3]ZHOU Bishui,ZHANG Lei.Research of EJBCA on WPKI environment [J].Computer Engineering and Design,2005,26(8):2100-2102 (in Chinese).[周 必 水, 張 磊.EJBCA 在WPKI體系中的應(yīng)用研究 [J].計(jì)算機(jī)工程與設(shè)計(jì),2005,26(8):2100-2102.]

      [4]DUAN Huiliang.The CA system applied research based on EJBCA [J].Network Security,2008 (7):81-82 (in Chinese).[段輝良.基于EJBCA的CA系統(tǒng)的應(yīng)用研究 [J].網(wǎng)絡(luò)安全,2008 (7):81-82.]

      [5]LIU Bo,LIU Zhigui,REN Lixue.The implementation and design of PKI authentication system on scoring system [J].Computer Security,2010 (51):83-85 (in Chinese). [劉博,劉知貴,任立學(xué).PKI認(rèn)證技術(shù)在閱卷系統(tǒng)中的應(yīng)用與實(shí)現(xiàn)[J].計(jì)算機(jī)安全,2010 (51):83-85.]

      [6]NI Yi.Research on JBoss-based Integration of Web service and communication service [J].Communications Technology,2011,12 (44):121-124 (in Chinese).[倪奕.基于JBoss實(shí)現(xiàn) Web服務(wù)于通信業(yè)務(wù)整合 [J].通信技術(shù),2011,12 (44):121-124.]

      [7]JING Jiwu,LIN Jingqiang,F(xiàn)ENG Dengguo.PKI technoloy[M].Beijing:Science Press,2008 (in Chinese).[荊繼武,林璟鏘,馮登國.PKI技術(shù) [M].北京:科學(xué)出版社,2008.]

      [8]YAN Hailong,YAN Qiao,F(xiàn)ENG Jiqiang,et al.Research on standard system for mutual trust and mutual recognition base on PKI/CA in E-government [J].Journal of Shenzhen University Science and Engineering,2012,29 (3):113-117 (in Chinese).[顏海龍,閆巧,馮級強(qiáng),等.基于PKI/CA互信互認(rèn)體系的電子政務(wù) [J].深圳大學(xué)學(xué)報(bào)理工版,2012,29(3):113-117.]

      [9]HOU Meifang,F(xiàn)ENG Mei.Design of identity authentication and access control platform based on PKI [J].Microcomputer Information,2012,28 (1):132-134 (in Chinese).[候梅芳,馮梅.基于PKI的身份認(rèn)證與訪問控制平臺的設(shè)計(jì) [J].微計(jì)算機(jī)信息,2012,28 (1):132-134.]

      [10]EJBCA:READM.TXT [EB/OL].http://www.ejbca.org/,2012.

      [11]EJBCA:EJBCA-DESIGN.TXT [EB/OL].http://ejbca.sourceforge.net,2012.

      猜你喜歡
      實(shí)例客戶端證書
      WJCI 收錄證書
      CSCD收錄證書
      草原與草坪(2022年1期)2022-05-11 10:44:40
      收錄證書
      收錄證書
      縣級臺在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
      傳媒評論(2018年4期)2018-06-27 08:20:24
      孵化垂直頻道:新聞客戶端新策略
      傳媒評論(2018年4期)2018-06-27 08:20:16
      基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
      電子測試(2018年10期)2018-06-26 05:53:34
      完形填空Ⅱ
      完形填空Ⅰ
      客戶端空間數(shù)據(jù)緩存策略
      伊川县| 广西| 楚雄市| 京山县| 漳州市| 余姚市| 潮安县| 忻城县| 台湾省| 深水埗区| 甘南县| 从化市| 宝坻区| 崇明县| 咸阳市| 北川| 历史| 德令哈市| 安丘市| 富锦市| 云霄县| 林口县| 华阴市| 得荣县| 佳木斯市| 文山县| 华蓥市| 于都县| 台州市| 瑞金市| 莱阳市| 中牟县| 绥化市| 滨州市| 航空| 韶山市| 澜沧| 宜都市| 阿合奇县| 毕节市| 手游|