




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第java后端訪問(wèn)https證書(shū)的問(wèn)題及解決目錄java后端通過(guò)https獲取圖片報(bào)錯(cuò)如下安裝證書(shū),解決然后又報(bào)錯(cuò)解決
java后端通過(guò)https獲取圖片
publicstaticvoidmain(String[]args){
try{
BufferedImageimage=ImageIO.read(newURL("6:6202/object/downloadpool=s_alarmid=2dfa47ccaa56ca64c66078588977532e,360,b43e").openStream());
//輸出流
ByteArrayOutputStreamstream=newByteArrayOutputStream();
ImageIO.write(image,"jpg",stream);
Stringstr=Base64.encodeBase64String(stream.toByteArray()).replaceAll("","+").replaceAll("\r|\n","");
System.out.println(str);
}catch(Exceptione){
log.error("獲取圖片異常",e);
}
}
報(bào)錯(cuò)如下
因?yàn)闆](méi)有安裝證書(shū)
.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIXpathbuildingfailed:vider.certpath.SunCertPathBuilderException:unabletofindvalidcertificationpathtorequestedtarget
aternal.ssl.Alerts.getSSLException(Alerts.java:150)
aternal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1476)
aternal.ssl.Handshaker.fatalSE(Handshaker.java:174)
aternal.ssl.Handshaker.fatalSE(Handshaker.java:168)
aternal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:846)
aternal.ssl.ClientHcessMessage(ClientHandshaker.java:106)
aternal.ssl.HcessLoop(Handshaker.java:495)
aternal.ssl.Hcess_record(Handshaker.java:433)
aternal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:815)
aternal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1025)
aternal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1038)
atInstallCert.main(InstallCert.java:63)
Causedby:sun.security.validator.ValidatorException:PKIXpathbuildingfailed:vider.certpath.SunCertPathBuilderException:unabletofindvalidcertificationpathtorequestedtarget
atsun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:221)
atsun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:145)
atsun.security.validator.Validator.validate(Validator.java:203)
aternal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:172)
atInstallCert$SavingTrustManager.checkServerTrusted(InstallCert.java:158)
aternal.ssl.JsseX509TrustManager.checkServerTrusted(SSLContextImpl.java:320)
aternal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:839)
...7more
安裝證書(shū),解決
1.瀏覽器訪問(wèn)此地址,點(diǎn)擊證書(shū)
2.下載證書(shū)
3.將證書(shū)復(fù)制到j(luò)dk目錄
D:\program\Java\jdk1.8.0_271\jre\lib\security下面
安裝證書(shū):keytool-import-aliasabc-keystorecacerts-fileimg_https.cer-storepasschangeit刪除證書(shū):keytool-delete-keystorecacerts-fileimg_https.cer-storepasschangeit
安裝完成。
然后又報(bào)錯(cuò)
.ssl.SSLHandshakeException:java.security.cert.CertificateException:NosubjectalternativenamesmatchingIPaddress6found
atsun.security.ssl.Alert.createSSLException(Alert.java:131)
atsun.security.ssl.TransportContext.fatal(TransportContext.java:353)
atsun.security.ssl.TransportContext.fatal(TransportContext.java:296)
atsun.security.ssl.TransportContext.fatal(TransportContext.java:291)
atsun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:652)
atsun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:471)
atsun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:367)
atsun.security.ssl.SSLHandshake.consume(SSLHandshake.java:376)
atsun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444)
atsun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:422)
atsun.security.ssl.TransportContext.dispatch(TransportContext.java:183)
atsun.security.ssl.SSLTransport.decode(SSLTransport.java:154)
atsun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1279)
atsun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1188)
atsun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:401)
atsun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:373)
attocol.https.HttpsClient.afterConnect(HttpsClient.java:587)
attocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
attocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1570)
attocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
attocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268)
at.URL.openStream(URL.java:1067)
atcn.cloudwalk.util.ImageUtils.main(ImageUtils.java:73)
Causedby:java.security.cert.CertificateException:NosubjectalternativenamesmatchingIPaddress6found
atsun.security.util.HostnameChecker.matchIP(HostnameChecker.java:173)
atsun.security.util.HostnameChecker.match(HostnameChecker.java:99)
atsun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:441)
atsun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:422)
atsun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:228)
atsun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:128)
atsun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:636)
...18commonframesomitted
解決
類中加入下面代碼,靜態(tài)塊中,程序啟動(dòng)就運(yùn)行;
測(cè)試發(fā)現(xiàn),用下面代碼禁用SSL驗(yàn)證,不用導(dǎo)入證書(shū)也可正常運(yùn)行。
static{
disableSslVerification();
privatestaticvoiddisableSslVerification(){
//Createatrustmanagerthatdoesnotvalidatecertificatechains
TrustManager[]trustAllCerts=newTrustManager[]{newX509TrustManager(){
@Override
publicjava.security.cert.X509Certificate[]getAcceptedIssuers(){
returnnull;
@Override
publicvoidcheckClientTrusted(X509Certificate[]certs,StringauthType){
@Override
publicvoidcheckServerTrusted(X509Certificate[]certs,StringauthType){
//Installtheall-trustingtrustmanager
SSLContextsc
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全工程試題及答案
- 城市快速路建設(shè)項(xiàng)目2025年社會(huì)穩(wěn)定風(fēng)險(xiǎn)評(píng)估與城市規(guī)劃與社區(qū)互動(dòng)研究報(bào)告
- 工業(yè)互聯(lián)網(wǎng)平臺(tái)入侵檢測(cè)系統(tǒng)2025年數(shù)據(jù)安全防護(hù)方案報(bào)告
- 《庫(kù)存管理》課件
- 冬季換季教育培訓(xùn)課件
- 中國(guó)發(fā)展動(dòng)態(tài)課件
- 數(shù)碼影像培訓(xùn)課件
- 周末安全教學(xué)課件
- 員工職業(yè)規(guī)劃課件
- 團(tuán)委培訓(xùn)分享交流
- 航行通告教學(xué)課件
- 2023年護(hù)理考試-外科護(hù)理(副高)歷年考試真題試卷摘選答案
- 2022年廣東高考成績(jī)一分一段表重磅出爐
- 新版病人搬運(yùn)(輪椅)操作評(píng)分標(biāo)準(zhǔn)
- 重癥監(jiān)護(hù)ICU護(hù)理實(shí)習(xí)生出科考試試題及答案
- GB/Z 22074-2008塑料外殼式斷路器可靠性試驗(yàn)方法
- GB/T 32360-2015超濾膜測(cè)試方法
- 中藥學(xué)全套(完整版)課件
- 工程施工停止點(diǎn)檢查表
- 國(guó)開(kāi)專科《外國(guó)文學(xué)》十年期末考試題庫(kù)及答案
- 《滅火器維修》GA95-2015(全文)
評(píng)論
0/150
提交評(píng)論