代码之家  ›  专栏  ›  技术社区  ›  Shay Guy

如何补偿Jsoup中明显的SSL链不匹配?

  •  0
  • Shay Guy  · 技术社区  · 7 年前

    Jsoup.connect(url)
         .method(Connection.Method.GET)
         .execute()
    

    我试图抓取的站点显示了以下Chrome认证路径:

    1) ***REDACTED***
    Issued by DigiCert Global CA G2
    
    2) DigiCert Global CA G2
    Issued by DigiCert Global Root G2
    
    3) DigiCert Global Root G2
    Issued by DigiCert Global Root G2
    

    -Djavax.net.debug=ssl 显示此链:

    1) ***REDACTED***
    Issued by DigiCert Global CA G2
    
    2) Symantec Class 3 Secure Server SHA256 SSL CA
    Issued by VeriSign Universal Root Certification Authority
    
    3) VeriSign Universal Root Certification Authority
    Issued by VeriSign Universal Root Certification Authority
    

    结果是javax.net.ssl.SSLHandshakeException。在中测试服务器 SSL Labs 在“证书路径”下显示正确的链,在“附加证书(如果提供)”下显示断开的链,并将“不完整、额外证书、包含锚点”列为链问题。我不想使用validatelsCertificates(false),除非绝对必要。

    如何确保Jsoup遵循正确的认证路径,而不是被错误的额外证书分散注意力?

    0 回复  |  直到 7 年前