版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
JDK自帶工具keytool生成ssl證書(shū)JDK自帶工具keytool生成ssl證書(shū)JDK自帶工具keytool生成ssl證書(shū)JDK自帶工具keytool生成ssl證書(shū)編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編:JDK自帶工具keytool生成ssl證書(shū)前言:因?yàn)楣卷?xiàng)目客戶(hù)要求使用HTTPS的方式來(lái)保證數(shù)據(jù)的安全,所以木有辦法研究了下怎么生成ssl證書(shū)來(lái)使用https以保證數(shù)據(jù)安全。百度了不少資料,看到JAVA的JDK自帶生成SSL證書(shū)的工具:keytool,外加看了同事的心得體會(huì),自己總結(jié)了一下具體的使用方法和使用過(guò)程中發(fā)現(xiàn)的問(wèn)題及解決辦法。1:什么是HTTPSHTTPS其實(shí)是有兩部分組成:HTTP+SSL/TLS,也就是在HTTP上又加了一層處理加密信息的模塊,并且會(huì)進(jìn)行身份的驗(yàn)證。問(wèn)題:Firebug和postman之類(lèi)的瀏覽器調(diào)試工具,為什么獲取到的是明文解答:SSL是對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行加密,針對(duì)的是傳輸過(guò)程的安全。firebug之類(lèi)的瀏覽器調(diào)試工具,因?yàn)樗麄兊玫降氖强蛻?hù)端加密之前/解密之后的數(shù)據(jù),因此是明文的。2:什么是自簽名證書(shū)就是自己生成的證書(shū),并不是官方生成的證書(shū)。除非是很正式的項(xiàng)目,否則使用自己簽發(fā)的證書(shū)即可,因?yàn)楣俜缴勺C書(shū)是要花錢(qián)滴。3:進(jìn)入正題,使用JDK自帶工具KeyTool生成自簽發(fā)證書(shū)!第一步:為服務(wù)器生成證書(shū)打開(kāi)CMD命令行工具,cd到C盤(pán)根目錄或者是jdk的bin目錄下,如下圖所示:附錄1:常用keytool命令使用keytool命令生成證書(shū):keytool-genkey-aliastomcat(別名)-keypass123456(別名密碼)-keyalgRSA(算法)-keysize1024(密鑰長(zhǎng)度)-validity365(有效期,天單位)-keystoreD:/keys/(指定生成證書(shū)的位置和證書(shū)名稱(chēng))-storepass123456(獲取keystore信息的密碼)方便復(fù)制版:keytool-genkey-aliastomcat-keypass123456-keyalgRSA-keysize1024-validity365-keystoreD:/keys/-storepass123456圖例:回車(chē)執(zhí)行后如下圖:點(diǎn)擊回車(chē)即可在D:/keys/文件夾內(nèi)生成名為:的文件。成功后無(wú)提示信息注意:①D:/keys/目錄需要提前手動(dòng)創(chuàng)建好,否則會(huì)生成失?、谔崾据斎胗蛎臅r(shí)候不能輸入IP地址問(wèn)題①的錯(cuò)誤信息如下:第二步:為客戶(hù)端生成證書(shū)為瀏覽器生成證書(shū),以便讓服務(wù)器來(lái)驗(yàn)證它。為了能將證書(shū)順利導(dǎo)入至IE和Firefox,證書(shū)格式應(yīng)該是PKCS12,因此,使用如下命令生成:keytool-genkey-aliasclient-keypass123456-keyalgRSA-storetypePKCS12-keypass123456-storepass123456-keystoreD:/keys/方便復(fù)制版:keytool-genkey-aliasclient1-keypass123456-keyalgRSA-keysize1024-validity365-storetypePKCS12-keystoreD:/keys/-storepass123456圖例:第二步余下操作步驟同第一步。第三步:讓服務(wù)器信任客戶(hù)端證書(shū)1、由于不能直接將PKCS12格式的證書(shū)庫(kù)導(dǎo)入,必須先把客戶(hù)端證書(shū)導(dǎo)出為一個(gè)單獨(dú)的CER文件,使用如下命令:keytool-export-aliasclient-keystoreD:/keys/-storetypePKCS12-keypass123456-fileD:/keys/注意: Keypass:指定CER文件的密碼,但會(huì)被忽略,而要求重新輸入2、將該文件導(dǎo)入到服務(wù)器的證書(shū)庫(kù),添加為一個(gè)信任證書(shū):keytool-import-v-fileD:/keys/-keystoreD:/keys/e-storepass123456圖例:完成之后通過(guò)list命令查看服務(wù)器的證書(shū)庫(kù),可以看到兩個(gè)證書(shū),一個(gè)是服務(wù)器證書(shū),一個(gè)是受信任的客戶(hù)端證書(shū):keytool-list-v-keystoreD:/keys/第四步:讓客戶(hù)端信任服務(wù)器證書(shū)1、由于是雙向SSL認(rèn)證,客戶(hù)端也要驗(yàn)證服務(wù)器證書(shū),因此,必須把服務(wù)器證書(shū)添加到瀏覽器的“受信任的根證書(shū)頒發(fā)機(jī)構(gòu)”。由于不能直接將keystore格式的證書(shū)庫(kù)導(dǎo)入,必須先把服務(wù)器證書(shū)導(dǎo)出為一個(gè)單獨(dú)的CER文件,使用如下命令:keytool-keystoreD:/keys/-export-aliastomcat6-fileD:/keys/2、雙擊文件,按照提示安裝證書(shū),將證書(shū)填入到“受信任的根證書(shū)頒發(fā)機(jī)構(gòu)”。填入方法:打開(kāi)瀏覽器-工具-internet選項(xiàng)-內(nèi)容-證書(shū)-把中級(jí)證書(shū)頒發(fā)機(jī)構(gòu)里的該名稱(chēng)即時(shí)你前面生成證書(shū)時(shí)填寫(xiě)的名字與姓氏)證書(shū)導(dǎo)出來(lái)-再把導(dǎo)出來(lái)的證書(shū)導(dǎo)入受信任的根頒發(fā)機(jī)構(gòu)就OK了。第五步:配置Tomcat服務(wù)器<Connector port="8443"protocol=""SSLEnabled="true"maxThreads="150"scheme="https"secure="true"clientAuth="true"sslProtocol="TLS"keystoreFile="D:/keys/"keystorePass="123456"truststoreFile="D:/keys/"truststorePass="123456"/>屬性說(shuō)明:clientAuth:設(shè)置是否雙向驗(yàn)證,默認(rèn)為false,設(shè)置為true代表雙向驗(yàn)證keystoreFile:服務(wù)器證書(shū)文件路徑keystorePass:服務(wù)器證書(shū)密碼truststoreFile:用來(lái)驗(yàn)證客戶(hù)端證書(shū)的根證書(shū),此例中就是服務(wù)器證書(shū)truststorePass:根證書(shū)密碼注意:①設(shè)置clientAuth屬性為T(mén)rue時(shí),需要手動(dòng)導(dǎo)入客戶(hù)端證書(shū)才能訪問(wèn)。②要訪問(wèn)https請(qǐng)求需要訪問(wèn)8443端口,訪問(wèn)http請(qǐng)求則訪問(wèn)Tomcat默認(rèn)端口(你自己設(shè)置的端口,默認(rèn)8080)即可??偨Y(jié):經(jīng)過(guò)以上五步,你使用HTTPS端口為8443進(jìn)行訪問(wèn)的時(shí)候就是經(jīng)過(guò)SSL信息加密,不怕被截獲了。通話的雙方,必須是都擁有證書(shū)的端,才能進(jìn)行會(huì)話,換句話說(shuō),就是只有安裝了咱證書(shū)的客戶(hù)端,才能與服務(wù)器通信。小貼士:強(qiáng)制https訪問(wèn)在tomcat/conf/中的</welcome-file-list>后面加上這<login-config><!--AuthorizationsettingforSSL--><auth-method>CLIENT-CERT</auth-method><realm-name>ClientCertUsers-onlyArea</realm-name></login-config><security-constraint><!--AuthorizationsettingforSSL--><web-resource-collection><web-resource-name>SSL</web-resource-name><url-pattern>/*</url-pattern></web-resource-collection><user-data-constraint><transport-guarantee>CONFIDENTIAL</transport-guarantee></user-data-constraint></security-constraint>完成以上步驟后,在瀏覽器中輸入http的訪問(wèn)地址也會(huì)自動(dòng)轉(zhuǎn)換為https了。附錄1:keytool常用命令-alias產(chǎn)生別名-keystore指定密鑰庫(kù)的名稱(chēng)(就像數(shù)據(jù)庫(kù)一樣的證書(shū)庫(kù),可以有很多個(gè)證書(shū),cacerts這個(gè)文件是jre自帶的,你也可以使用其它文件名字,如果沒(méi)有這個(gè)文件名字,它會(huì)創(chuàng)建這樣一個(gè))-storepass指定密鑰庫(kù)的密碼-keypass指定別名條目的密碼-list顯示密鑰庫(kù)中的證書(shū)信息-v顯示密鑰庫(kù)中的證書(shū)詳細(xì)信息-export將別名指定的證書(shū)導(dǎo)出到文件-file參數(shù)指定導(dǎo)出到文件的文件名-delete刪除密鑰庫(kù)中某條目-import將已簽名數(shù)字證書(shū)導(dǎo)入密鑰庫(kù)-keypasswd修改密鑰庫(kù)中指定條目口令-dname指定證書(shū)擁有者信息-keyalg指定密鑰的算法-validity指定創(chuàng)建的證書(shū)有效期多少天-keysize指定密鑰長(zhǎng)度使用說(shuō)明:導(dǎo)入一個(gè)證書(shū)命令可以如下:keytool-import-keystorecacerts-storepass666666-keypass888888-aliasalibabacert-fileC:\alibabajava\cert\其中-keystorecacerts中的cacerts是jre中默認(rèn)的證書(shū)庫(kù)名字,也可以使用其它名字-storepass666666中的666666是這個(gè)證書(shū)庫(kù)的密碼-keypass888888中的888888是這個(gè)特定證書(shū)的密碼-aliasalibabacert中的alibabacert是你導(dǎo)入證書(shū)的別名,在其它操作命令中就可以使用它-fileC:\alibabajava\cert\中的文件路徑就是要導(dǎo)入證書(shū)的路徑瀏覽證書(shū)庫(kù)里面的證書(shū)信息,可以使用如下命令:keytool-list-v-aliasalibabacert-keystorecacerts-storepass666666要?jiǎng)h除證書(shū)庫(kù)里面的某個(gè)證書(shū),可以使用如下命令:keytool-delete-aliasalibabacert-keystorecacerts-storepass666666要導(dǎo)出證書(shū)庫(kù)里面的某個(gè)證書(shū),可以使用如下命令:keytool-export-keystorecacerts-storepass666666-aliasalibabacert-fileF:\要修改某個(gè)證書(shū)的密碼(注意:有些數(shù)字認(rèn)證沒(méi)有私有密碼,只
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公路貨物運(yùn)輸管理
- 九年級(jí)歷史上冊(cè)第六七單元達(dá)標(biāo)測(cè)試卷課件新人教版
- 高空吊籃租賃二零二五年度綜合安全管理合同模板3篇
- 2023三年級(jí)數(shù)學(xué)上冊(cè) 一 克、千克、噸第3課時(shí) 噸的認(rèn)識(shí)說(shuō)課稿 西師大版
- 4 珍珠鳥(niǎo) 說(shuō)課稿 -2024-2025學(xué)年語(yǔ)文五年級(jí)上冊(cè)統(tǒng)編版
- 櫥柜工程合同
- Unit 1 My school(說(shuō)課稿)-2023-2024學(xué)年人教PEP版英語(yǔ)四年級(jí)下冊(cè)
- 二零二五版行政主體在行政合同中的權(quán)力配置與職能優(yōu)化4篇
- 2025年中國(guó)石油測(cè)井車(chē)行業(yè)市場(chǎng)深度分析及投資策略咨詢(xún)報(bào)告
- 舟山浙江舟山市普陀區(qū)農(nóng)業(yè)農(nóng)村局招聘筆試歷年參考題庫(kù)附帶答案詳解
- DB3303T 059-2023 政務(wù)信息化項(xiàng)目軟件開(kāi)發(fā)費(fèi)用測(cè)算規(guī)范
- 2025年慢性阻塞性肺疾病全球創(chuàng)議GOLD指南修訂解讀課件
- DB11-T 825-2021綠色建筑評(píng)價(jià)標(biāo)準(zhǔn)
- 糖廠熱力衡算(6000噸每天)
- 燃?xì)庥邢薰疚kU(xiǎn)作業(yè)安全管理規(guī)定
- 北京市刑事訴訟律師事務(wù)所函(擔(dān)任訴訟代理人適用)格式文書(shū)(2020版)
- XX鎮(zhèn)“我為群眾辦實(shí)事”滿(mǎn)意度調(diào)查問(wèn)卷
- (完整版)Brownbear繪本
- 魯教版初中英語(yǔ)七年級(jí)下冊(cè)單詞漢語(yǔ)(背誦)
- 玻璃纖維拉絲作業(yè)中幾個(gè)常見(jiàn)問(wèn)題的處理
- 鐵路信號(hào)室內(nèi)施工總結(jié)
評(píng)論
0/150
提交評(píng)論