java后端訪問(wèn)https證書(shū)的問(wèn)題及解決_第1頁(yè)
java后端訪問(wèn)https證書(shū)的問(wèn)題及解決_第2頁(yè)
java后端訪問(wèn)https證書(shū)的問(wèn)題及解決_第3頁(yè)
java后端訪問(wèn)https證書(shū)的問(wèn)題及解決_第4頁(yè)
java后端訪問(wèn)https證書(shū)的問(wèn)題及解決_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論