对于这个特定的问题,搜索互联网已经证明过于复杂。也许你可以指出我正确的方向?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