簡體   English   中英

javax.net.ssl.SSLPeerUnverifiedException:未驗證主機名XX.XXX.XX.XX:

[英]javax.net.ssl.SSLPeerUnverifiedException: Hostname XX.XXX.XX.XX not verified:

需要一些幫助。 為什么當我啟用SSL固定和測試HTTPS時,總是收到如下的javax.net.ssl.SSLPeerUnverifiedException錯誤消息:

 JS: Https.request error javax.net.ssl.SSLPeerUnverifiedException: Hostname XX.XXX.XX.XX not verified: JS: certificate: sha256/hfR9N2GN2WS1NQuHAAnOUc1gVQCf4f4HrhdlfXXP+Ko= JS: DN: 1.2.840.113549.1.9.1=#16111315727473401578616d706c652e636f6d,CN=localhost,OU=techops,O=Example > Co,L=Boston,ST=MA,C=US JS: subjectAltNames: [] 

我有以下代碼:

 let dir = knownFolders.currentApp().getFolder('certificate')
     let certificate = dir.getFile('certificate.pem').path
  Https.enableSSLPinning({ host: 'XX.XXX.XX.XX', certificate, allowInvalidCertificates: true, validatesDomainName: false })
    Https.request({
        url: 'https://XX.XXX.XX.XX:3333/login',
        method: 'GET',
        headers: {
            "Content-type": "application/x-www-form-urlencoded",
        },
    }).then(function (response) {
        console.log('Https.request response', response);
    }).catch(function (error) {
        console.error('Https.request error', error);
    })

您能問我任何想法嗎,這是我的代碼中的問題? 還是任何示例如何解決此錯誤?

我在等你的要求。

謝謝

嘗試將-Djavax.net.debug = ssl:handshake添加到JVM參數。 它應該為您提供更好的錯誤輸出。

我唯一可以看到的是您使用java連接的服務器是不受信任的。 即:服務器上的證書是自簽名的。

如果您使用的是自簽名證書,並且想解決此問題,請在此處接受答案。 在Java客戶端中接受服務器的自簽名ssl證書, Pascal Thivent給出的答案更加全面,那么我能給您什么

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM