需要一些帮助。 为什么当我启用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);
})
您能否问我任何想法,这是我的代码中的问题?或任何示例如何解决此错误?
我在等待您的请求。
谢谢
答案 0 :(得分:0)
尝试将-Djavax.net.debug = ssl:handshake添加到JVM参数。它应该为您提供更好的错误输出。
我从中只能看到的是您使用Java连接的服务器不受信任。即:服务器上的证书是自签名的。
如果您使用的是自签名证书,并且想要解决这个问题,请在这里Accept server's self-signed ssl certificate in Java client进行Pascal Thivent的回答,那么我可以给您提供什么