Getting SSLHandshakeException when using Dropbox Java SDK for API v2

六月ゝ 毕业季﹏ 提交于 2019-12-02 08:24:51

Re

com.dropbox.core.NetworkIOException: No appropriate protocol 

My best guess is that this line is a strong hint of your problem:

Provider.id info = IBM JSSE provider2 (implements IbmX509 key/trust factories, SSLv3, TLSv1)

"No appropriate protocol" sounds like it's probably telling you that the endpoint doesn't support SSLv3 or TLSv1.

I don't know about Dropbox, but many service providers are deprecating those older protocols due to known security problems.

You may find some useful info in these two IBM technotes.

The problem seems to be that the Dropbox Java SDK limits the enabled cipher suites in the SSL sockets based on a hard-coded list. All relevant cipher suite names in that list start with "TLS_". However, in the Domino JVM cipher suite names always start with "SSL_" even when the SSL context they are related to has protocol TLSv1 or higher.

I have now stopped working with the Dropbox Java SDK and started using the Dropbox API by making HTTP posts using HttpsUrlConnection. This is not as convenient as the Java SDK, but at least the SSL handshake with TLSv1 works as expected.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!