java沙丁鱼通过ssl
我正在尝试使用 sardine 制作 webdav 客户端,但它无法连接到我的 https 服务器。 在使用指南中介绍了 ssl http://code.google.com/p/ sardine/wiki/UsageGuide#SSL 但我不知道如何为我的自定义 Http 客户端提供我的密钥库。
我收到这个错误。
Exception in thread "main" javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated at com.sun.net.ssl.internal.ssl.SSLSessionImpl.getPeerCertificates(Unknown Source) at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128) at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:397) at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:148) at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:149) at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:121) at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:573) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:425) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:941) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:919) at com.googlecode.sardine.impl.SardineImpl.execute(SardineImpl.java:684) at com.googlecode.sardine.impl.SardineImpl.list(SardineImpl.java:339) at com.googlecode.sardine.impl.SardineImpl.getResources(SardineImpl.java:326) at sardine.main(sardine.java:15)
我该如何设置?
i'm trying sardine to make a webdav client, but it doesn't connect to my https server.
in the usageguide say this about ssl http://code.google.com/p/sardine/wiki/UsageGuide#SSL but i dont know how to provide my custom Http client with my keystore.
i get this error.
Exception in thread "main" javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated at com.sun.net.ssl.internal.ssl.SSLSessionImpl.getPeerCertificates(Unknown Source) at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128) at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:397) at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:148) at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:149) at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:121) at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:573) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:425) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:941) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:919) at com.googlecode.sardine.impl.SardineImpl.execute(SardineImpl.java:684) at com.googlecode.sardine.impl.SardineImpl.list(SardineImpl.java:339) at com.googlecode.sardine.impl.SardineImpl.getResources(SardineImpl.java:326) at sardine.main(sardine.java:15)
How can i set up?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
非常简单的示例(对于 http://mydrive.net 和 Linux):
现在您可以使用 Sardine,而无需覆盖或重新实现方法。只需使用
提示:
确保使用正确的证书。例如,MyDrive 有多个证书
Pretty simple example (for http://mydrive.net and Linux):
Now you can use Sardine without overwrite or reimplement methods. Just use
Tip:
Make sure to use the correct cert. MyDrive has several certs for example
将密钥库存储为原始资源,加载它们并使用它们来初始化 SSLSocketFactory。然后您可以使用它实例化一个
HttpClient
。要插入 Sardine,您需要重写他们在 Wiki 中指定的方法以返回您自定义的 HttpClient 实例。Store the keystore(s) as raw resources, load them and use them to initialize SSLSocketFactory. You can than use it instantiate an
HttpClient
. To plug in into Sardine you need to override the method they specify in the Wiki to return your customizedHttpClient
instance.