用服務(wù)器中,使得更新后的服務(wù)端證書生效,進(jìn)而使得新生成的用戶證書生效,無需對(duì)web應(yīng)用服務(wù)器進(jìn)行重啟,即可使新生成的用戶證書生效,更加方便。
[0024]每一個(gè)用戶證書都需要一個(gè)公鑰私鑰對(duì),這樣才能實(shí)現(xiàn)加密和解密。在一種可能的實(shí)現(xiàn)方式中,所述SI中所述根據(jù)所述web應(yīng)用服務(wù)器中的所述服務(wù)端證書生成至少一個(gè)用戶證書,包括:
根據(jù)所述服務(wù)器證書生成至少一個(gè)公鑰私鑰對(duì),根據(jù)所述至少一個(gè)公鑰私鑰對(duì),生成每個(gè)私鑰對(duì)應(yīng)的用戶證書。
[0025]—個(gè)用戶證書如何要再當(dāng)前服務(wù)器上進(jìn)行驗(yàn)證,該服務(wù)器上需要有該用戶證書對(duì)應(yīng)的公鑰私鑰對(duì)的信息才行,如果沒有,該用戶證書對(duì)于該服務(wù)器就是無效的。在一種可能的實(shí)現(xiàn)方式中,所述SI中所述根據(jù)所述用戶證書更新所述服務(wù)端證書,包括:將每個(gè)所述用戶證書對(duì)應(yīng)的公鑰私鑰對(duì)的信息添加到所述服務(wù)端證書中,得到更新后的服務(wù)端證書。
[0026]雖然服務(wù)端證書中保存了新生出的用戶證書的信息,但是,由于web服務(wù)器的緩存中的服務(wù)端證書仍然是更新前的服務(wù)端證書,相當(dāng)于新生成的用戶證書在web服務(wù)器上沒有記錄,對(duì)于該web服務(wù)器是無效的,為了使得新生成的用戶證書生效,在一種可能的實(shí)現(xiàn)方式中,所述S2中,所述web應(yīng)用將更新后的服務(wù)端證書加載到所述web應(yīng)用服務(wù)器中,包括:將更新后的服務(wù)端證書添加到所述web應(yīng)用服務(wù)器的緩存中。
[0027]在一種可能的實(shí)現(xiàn)方式中,在所述S2之后,還包括:
接收外部發(fā)來的對(duì)待驗(yàn)證用戶證書進(jìn)行驗(yàn)證的證書驗(yàn)證請(qǐng)求,根據(jù)所述證書驗(yàn)證請(qǐng)求,獲取所述待驗(yàn)證用戶證書的私鑰,判斷所述待驗(yàn)證用戶證書的私鑰與所述更新后的服務(wù)端證書中的公鑰是否匹配,如果是,則驗(yàn)證成功,否則,驗(yàn)證失敗。
[0028]有些用戶的用戶證書發(fā)生錯(cuò)誤或已失效,需要更換新的用戶證書,為了給用戶更換新的用戶證書,在一種可能的實(shí)現(xiàn)方式中,還包括:預(yù)先設(shè)置用戶信息表;
將待更換用戶證書的用戶的用戶信息存儲(chǔ)到所述用戶信息表中,將更換后的用戶證書發(fā)送給所述用戶信息表中存儲(chǔ)的用戶信息對(duì)應(yīng)的用戶。
[0029]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述。
[0030]在本實(shí)施例中,需要新生成兩個(gè)用戶證書。web應(yīng)用服務(wù)器為tomcat服務(wù)器。
[0031]如圖2所示,本發(fā)明實(shí)施例提供了一種生成用戶證書的方法,該方法可以包括以下步驟:
步驟201:預(yù)先在tomcat服務(wù)器配置服務(wù)端證書,在tomcat服務(wù)器部署web應(yīng)用,預(yù)先設(shè)置數(shù)字證書腳本,將所述數(shù)字證書腳本加載到所述web應(yīng)用中。
[0032]針對(duì)步驟201,現(xiàn)有的web應(yīng)用中一般不具有生成用戶證書、管理用戶證書的功能,為了使得web應(yīng)用具有該功能可以通過加載數(shù)字證書腳本來實(shí)現(xiàn)。通過該數(shù)字證書腳本可以對(duì)tomcat服務(wù)器進(jìn)行操作,利用tomcat服務(wù)器中的資源來生成用戶證書和管理用戶證書。
[0033]步驟202:所述web應(yīng)用執(zhí)行所述數(shù)字證書腳本,通過所述數(shù)字證書腳本實(shí)現(xiàn)根據(jù)所述服務(wù)器證書生成兩個(gè)公鑰私鑰對(duì),根據(jù)兩個(gè)公鑰私鑰對(duì),生成每個(gè)私鑰對(duì)應(yīng)的用戶證書。
[0034]針對(duì)步驟202:公鑰私鑰都是成對(duì)出現(xiàn)的,通過成對(duì)的公鑰私鑰可以實(shí)現(xiàn)加密和解密,每個(gè)公鑰私鑰對(duì)對(duì)應(yīng)一個(gè)用戶證書。為了生成兩個(gè)用戶證書需要兩個(gè)公鑰私鑰對(duì),將公鑰保存在服務(wù)器證書中,將私鑰保存在對(duì)應(yīng)的用戶證書中。
[0035]步驟203:所述web應(yīng)用執(zhí)行所述數(shù)字證書腳本,通過所述數(shù)字證書腳本實(shí)現(xiàn)將每個(gè)所述用戶證書對(duì)應(yīng)的公鑰私鑰對(duì)的信息添加到所述服務(wù)端證書中,得到更新后的服務(wù)端證書。
[0036]針對(duì)步驟203,由于在用戶驗(yàn)證用戶證書時(shí),需要向?qū)?yīng)的服務(wù)器發(fā)送請(qǐng)求,根據(jù)用戶證書中私鑰與服務(wù)器中的公鑰進(jìn)行匹配,因此,為了便于驗(yàn)證用戶證書,新生成的用戶證書對(duì)應(yīng)的公鑰私鑰對(duì)的信息需要保留在服務(wù)器中,也就是保留在服務(wù)端證書中。
[0037]步驟204:所述web應(yīng)用執(zhí)行所述數(shù)字證書腳本,通過所述數(shù)字證書腳本實(shí)現(xiàn)將更新后的服務(wù)端證書添加到tomcat服務(wù)器的緩存中,使生成的兩個(gè)用戶證書生效。
[0038]針對(duì)步驟204,要想使新生成的用戶證書生效,需要在用戶驗(yàn)證新生成的用戶證書時(shí),能夠通過驗(yàn)證,而驗(yàn)證時(shí)需要新生成的用戶證書對(duì)應(yīng)的公鑰,雖然,公鑰已經(jīng)添加到服務(wù)端證書中,但是,該更新后的服務(wù)端證書并沒有被用來驗(yàn)證用戶證書,所用的服務(wù)端證書仍然是緩存中的更新前的服務(wù)端證書,為了能夠?qū)π律傻挠脩糇C書進(jìn)行驗(yàn)證,也就是為了使新生成的用戶證書生效,需要將更新后的服務(wù)端證書添加到tomcat服務(wù)器的緩存中,在進(jìn)行驗(yàn)證時(shí),就會(huì)使用更新后的服務(wù)端證書。而現(xiàn)有技術(shù)中,更新后的服務(wù)端證書并不會(huì)自動(dòng)的添加到tomcat服務(wù)器的緩存中,只有每次tomcat服務(wù)器重啟后,在初始化時(shí)才將更新后的服務(wù)端證書添加到緩存中,為了能夠?qū)⒎?wù)端證書及時(shí)添加到緩存,本實(shí)施例通過數(shù)字證書腳本來實(shí)現(xiàn)。管理人員無需重啟tomcat服務(wù)器,遠(yuǎn)程通過web應(yīng)用執(zhí)行所述數(shù)字證書腳本,即可實(shí)現(xiàn)將服務(wù)端證書及時(shí)添加到緩存。
[0039]如圖3、圖4所示,本發(fā)明實(shí)施例提供了一種web應(yīng)用。裝置實(shí)施例可以通過軟件實(shí)現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。從硬件層面而言,如圖3所示,為本發(fā)明實(shí)施例提供的一種web應(yīng)用所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖3所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲(chǔ)器之外,實(shí)施例中裝置所在的設(shè)備通常還可以包括其他硬件,如負(fù)責(zé)處理報(bào)文的轉(zhuǎn)發(fā)芯片等等。以軟件實(shí)現(xiàn)為例,如圖4所示,作為一個(gè)邏輯意義上的裝置,是通過其所在設(shè)備的CPU將非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。本實(shí)施例提供的一種web應(yīng)用,包括:
所述web應(yīng)用部署在配置有服務(wù)端證書的web應(yīng)用服務(wù)器上,包括:
加載單元401,用于加載數(shù)字證書腳本;
證書生成單元402,用于執(zhí)行所述數(shù)字證書腳本,通過所述數(shù)字證書腳本實(shí)現(xiàn)根據(jù)所述web應(yīng)用服務(wù)器中的所述服務(wù)端證書生成至少一個(gè)用戶證書,根據(jù)所述用戶證書更新所述服務(wù)端證書;
生效單元403,用于執(zhí)行所述數(shù)字證書腳本,通過所述數(shù)字證書腳本實(shí)現(xiàn)在所述web應(yīng)用服務(wù)器中加載更新后的服務(wù)端證書,使生成的所述至少一個(gè)用戶證書生效。
[0040]在一種可能的實(shí)現(xiàn)方式中,所述證書生成單元402,在執(zhí)行所述根據(jù)所述web應(yīng)用服務(wù)器中的所述服務(wù)端證書生成至少一個(gè)用戶證書時(shí),具體執(zhí)行:根據(jù)所述服務(wù)器證書生成至少一個(gè)公鑰私鑰對(duì),根據(jù)所述至少一個(gè)公鑰私鑰對(duì),生成每個(gè)私鑰對(duì)應(yīng)的用戶證書。
[0041]在一種可能的實(shí)現(xiàn)方式中,所述證書生成單元402,在執(zhí)行所述根據(jù)所述用戶證書更新所述服務(wù)端證書時(shí),具體執(zhí)行:將每個(gè)所述用戶證書對(duì)應(yīng)的公鑰私鑰對(duì)的信息添加到所述服務(wù)端證書中,得到更新后的服務(wù)端證書。
[0042]在一種可能的實(shí)現(xiàn)方式中,所述生效單元403,在執(zhí)行所述web應(yīng)用將更新后的服務(wù)端證書加載到所述web應(yīng)用服務(wù)器中時(shí),具體執(zhí)行:將更新后的服務(wù)端證書添加到所述web應(yīng)用服務(wù)器的緩存中。
[0043]在一種可能的實(shí)現(xiàn)方式中,還包括:
驗(yàn)證單元,用于接收外部發(fā)來的對(duì)待驗(yàn)證用戶證書進(jìn)行驗(yàn)證的證書驗(yàn)證請(qǐng)求,根據(jù)所述證書驗(yàn)證請(qǐng)求,獲取所述待驗(yàn)證用戶證書的私鑰,判斷所述待驗(yàn)證用戶證書的私鑰與所述更新后的服務(wù)端證書中的公鑰是否匹配,當(dāng)判斷結(jié)果為是時(shí),驗(yàn)證成功,當(dāng)判斷結(jié)果為否時(shí),驗(yàn)證失??;
在一種可能的實(shí)現(xiàn)方式中,還包括:設(shè)置單元、證書更換單元;
所述設(shè)置單元,用于設(shè)置用戶信息表; 證書更換單元,用于將待更換用戶證書的用戶的用戶信息存儲(chǔ)到所述用戶信息表中,將更換后的用戶證書發(fā)送給所述用戶信息表中存儲(chǔ)的用戶信息對(duì)應(yīng)的用戶。
[0044]上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參