<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      https信任庫采坑記

      最近在客戶現場遇到一個棘手的http問題,現象很直接,訪問某https的時候報錯:

      javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
              at sun.security.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:431)
              at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)
              at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:397)
              at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:148)
              at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:149)
              at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:121)
              at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:573)
              at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:425)
              at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
              at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)
              at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:732)

      從線程棧來看,是使用httpclient訪問https服務的時候報錯了,初步猜測是證書沒有配置對,就想是不是要配置雙向認證。

      經過和現場工程師交流,發現這個只是個簡單的單向認證,而且在瀏覽器使用GET發送請求,居然也是返回的200。

      于是想到可能是JDK和程序本身的問題,根據httpclient寫了個很簡單的應用去訪問,調用的錯誤環境下實際使用的JDK,發現也沒有問題。

      正要開始排查程序問題的時候,現場工程師說是另一個測試的https服務器通過應用程序可以訪問通。這下立馬有了頭緒,可以抓個包對比一下https握手的過程。

      果然,差別發現了:能夠正常握手的https服務端返回了3個證書,握手錯誤的只返回了2個證書:

      (正確的https服務器的通訊)

      (有問題的https服務器的通訊)

      看到這里,需要了解一個知識點了:信任庫,只有信任庫信任了密鑰庫的證書,才能進行通信。

      我們詳細看下密鑰庫的證書鏈:

      發現多出來的證書是Baltimore CyberTrust Root

      我們發現jdk能夠信任這個多出來的和共有的證書

      那為什么應用程序就不行呢,這個時候我們就需要使用jvm屬性 -Djavax.net.debug=ssl:handshake了,他可以看到非常詳細的https握手信息。

      果然,輸出的第一段日志就是trustStore is: /home/***/config/security/cacerts,原來使用的不是jdk的默認cacerts,而是自定義了-Djavax.net.ssl.trustStore的值。

      那么問題就好解決了,刪除即可。

      再來看下這個配置的cacerts為啥不能認證,

      原來他只信任了這個多出來的證書,機緣湊巧地能夠訪問測試的機器。驗證了為什么能否訪問一臺https服務器,而另一臺訪問不了的問題。

       

      另外日志中的一些其他信息我們也可以關注一下,便于遇到類似問題的時候分析:

      1)關鍵字chain可以看到證書鏈的詳細信息

      2)兩個非常有用的異常

      handling exception: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building fail
      ed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

      IOException in getSession(): javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path bui

      lding failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

       

      參考:

      1、HttpClient javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated when time shifted?

      https://stackoverflow.com/questions/24752485/httpclient-javax-net-ssl-sslpeerunverifiedexception-peer-not-authenticated-when

      2、Resolving javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed Error?

      https://stackoverflow.com/questions/9619030/resolving-javax-net-ssl-sslhandshakeexception-sun-security-validator-validatore

      3、javax.net.ssl.SSLHandshakeException的解決辦法

      https://blog.csdn.net/yiifaa/article/details/73148665

      4、How to Analyze Java SSL Errors

      https://dzone.com/articles/how-analyze-java-ssl-errors

      posted @ 2018-12-26 01:49  硬漢1840  閱讀(767)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 免费无码又爽又刺激高潮虎虎视频 | 蜜臀av一区二区精品字幕| 日韩精品久久一区二区三| 成人乱人乱一区二区三区| 九龙县| 99久热在线精品视频| 日本九州不卡久久精品一区| 亚洲欧美日韩国产四季一区二区三区| 熟女一区二区中文字幕| 永久免费无码av在线网站| 久久―日本道色综合久久| 国产精品毛片在线完整版| 无码人妻一区二区三区在线视频| 国产在线中文字幕精品| 国产激情文学亚洲区综合| 久久永久视频| 国产精品自在自线免费观看| 精品国产精品中文字幕| 日韩精品无码不卡无码| 精品日韩色国产在线观看| 偷自拍另类亚洲清纯唯美| 国产亚洲精久久久久久无码77777| 99在线精品免费视频| 人妻少妇精品视频专区| 韩国无码AV片午夜福利| 亚洲国产精品久久久天堂麻豆宅男 | 任我爽精品视频在线播放| 成人国产精品免费网站| 激情 小说 亚洲 图片 伦| 狠狠综合久久av一区二| 国产精品欧美福利久久| 麻豆国产va免费精品高清在线 | 中文字幕亚洲精品乱码| 色伊人久久综合中文字幕| 精品国产乱一区二区三区| 天天躁夜夜躁狠狠喷水| 亚洲深深色噜噜狠狠网站| 亚洲精品专区永久免费区| 日本真人做爰免费视频120秒| 亚洲色婷婷婷婷五月基地| 两性午夜刺激性视频|