taskadapter / redmine-java-api

Redmine Java API
Apache License 2.0
269 stars 162 forks source link

Examples or documentation for SSL/TLS issues missing #292

Closed dpalic closed 6 years ago

dpalic commented 7 years ago

Is there any chance to provide us a example of how to use a SSL certificate, which is not officially supported by a CA certificate in the JVM?

I could sadly not find any hint neither in Readme.MD nor, wiki nor in example code.

dpalic commented 7 years ago

I have started a doc to contribute here: https://github.com/taskadapter/redmine-java-api/wiki/HowToUseSelfSignedCertificates Hope I have got the point of how to use the API regarding SSL properly

I could do some research on the classes and I found this maybe obsolete way:

ClientConnectionManager lConManager = redmineManagerFactory.createInsecureConnectionManager();
HttpClient lClient = RedmineManagerFactory.getNewHttpClient(lConManager);

But now it is failing on:

Exception in thread "main" java.lang.ClassCastException: [B cannot be cast to java.lang.String
    at org.apache.http.conn.ssl.DefaultHostnameVerifier.getSubjectAltNames(DefaultHostnameVerifier.java:309)
    at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:136)
    at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:115)
    at org.apache.http.conn.ssl.SSLSocketFactory.verifyHostname(SSLSocketFactory.java:580)
    at org.apache.http.conn.ssl.SSLSocketFactory.createLayeredSocket(SSLSocketFactory.java:574)
    at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:557)
    at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:414)
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
    at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:326)
    at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
    at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
    at com.taskadapter.redmineapi.internal.comm.BaseCommunicator.sendRequest(BaseCommunicator.java:45)
    at com.taskadapter.redmineapi.internal.comm.redmine.RedmineAuthenticator.sendRequest(RedmineAuthenticator.java:52)
    at com.taskadapter.redmineapi.internal.comm.FmapCommunicator.sendRequest(FmapCommunicator.java:26)
    at com.taskadapter.redmineapi.internal.comm.FmapCommunicator.sendRequest(FmapCommunicator.java:26)
    at com.taskadapter.redmineapi.internal.comm.BasicSimplifier.sendRequest(BasicSimplifier.java:24)
    at com.taskadapter.redmineapi.internal.Transport.send(Transport.java:590)
    at com.taskadapter.redmineapi.internal.Transport.getObjectsListNoPaging(Transport.java:489)
    at com.taskadapter.redmineapi.internal.Transport.getObjectsList(Transport.java:458)
    at com.taskadapter.redmineapi.internal.Transport.getObjectsList(Transport.java:435)

so hopefully we can quickly create a doc in the wiki how to use it properly. By the way here is the CAcert.org CA used for SSL (it was some time included in major linux distributions, but sadly they evicted them again.

meir1274 commented 7 years ago

Hi, i have the same issue exactly.

Please help on this issue.

dpalic commented 7 years ago

really no help here?

alexeyOnGitHub commented 6 years ago

I added a snippet at the end of README.md file