對於這個特定的問題,搜索互聯網已經證明過於複雜。也許你可以指出我正確的方向?Java SSL/TLS客戶端使用在運行時加載的自簽名證書連接並驗證服務器?
我已經使用自簽名證書設置了SSL/TLS服務器(不是HTTPS)。我已成功連接到它並使用Node.JS
var sock = tls.connect({
host:'127.0.0.1',
port:443,
servername:'foobar',
ca: fs.readFileSync('foobar-cert.pem')
}, function() {
if(sock.authorized)
console.log('secure connection - yea!')
else
console.log('Not Secure because ' + sock.authorizationError)
})
但我似乎無法在Java中找到等效的示例代碼。
如何使用自簽名證書文件進行服務器身份驗證,以Java方式連接到TLS服務器?自簽名證書將在運行時加載,而不是安裝到計算機的共享CA文件中。
best answer I have found so far需要外部庫。這是我的最後手段,因爲我相信Java會內置我所需的內容,而且根本不需要外部庫。
編輯:感謝您對重新開放問題的快速反應。
編輯:我看到我的問題被關閉爲telling java to accept self-signed ssl certificate重複。 這不是正確的,因爲我的問題有額外的要求,這是我 上述:
建議:「證書......在你的JVM信任導入」
我的要求「自我簽名證書......沒有安裝到 計算機的共享文件CA」建議:‘禁用證書驗證’(不推薦)
我的要求 「自簽名的證書將在運行時加載」(和用於服務器驗證)建議:「將其導入您的信任使用keytool」
我的要求「自簽名的證書......沒有安裝到 計算機的共享文件CA」
謝謝。你有我需要的一切。 – 2013-02-27 16:05:54