JiraTicketerPlugin does not to work with https instances

Description

While I was working on NMS-8893 the JiraTicketerPlugin always timed out when accessing issues.opennms.org which is now a HTTPS resource.

I created a OsgiCommand to simulate a "list projects" on the REST API and get the following stack trace:

Exception in thread "httpclient-io:thread-2" java.lang.NoClassDefFoundError: javax/security/auth/x500/X500Principal at org.apache.http.conn.ssl.AbstractVerifier.getCNs(AbstractVerifier.java:263) at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:157) at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:147) at org.apache.http.nio.conn.ssl.SSLLayeringStrategy.verifySession(SSLLayeringStrategy.java:201) at org.apache.http.nio.conn.ssl.SSLLayeringStrategy$InternalSSLSetupHandler.verify(SSLLayeringStrategy.java:214) at org.apache.http.nio.reactor.ssl.SSLIOSession.doHandshake(SSLIOSession.java:285) at org.apache.http.nio.reactor.ssl.SSLIOSession.isAppInputReady(SSLIOSession.java:370) at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:118) at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:160) at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:342) at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:320) at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:280) at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:106) at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:604) at java.lang.Thread.run(Thread.java:745)

It should be possible to use jira instances secured with SSL.

Acceptance / Success Criteria

None

Lucidchart Diagrams

Activity

Show:

Alejandro Galue July 12, 2017 at 5:48 PM

I found that Meridian 2016.1.5 suffers this problem, the solution should be ported to foundation-2016. I tested the fix on a VM running that version of Meridian and the SSL exceptions are gone.

Seth Leger November 30, 2016 at 10:44 AM

PR is merged, marking as fixed.

commit cb137aa7e9fd677fef0687c49b12711627c8c3af

Markus von Rüden November 29, 2016 at 4:23 AM

Jesse White November 23, 2016 at 3:26 PM

The JIRA client code was repackaged with it's dependencies into a shaded jar in order to avoid conflicts with our system classpath.

I suspect that adding javax.security.auth.x500 and related packages to the bundle's imports will resolve the issue (see https://github.com/OpenNMS/opennms/blob/9e3b11d7280bca6173909c78b4fb0e442a6cc004/features/ticketing/jira-client/pom.xml#L60)

Fixed

Details

Assignee

Reporter

Components

Sprint

Fix versions

Affects versions

Priority

PagerDuty

Created November 23, 2016 at 10:53 AM
Updated August 7, 2017 at 1:13 PM
Resolved November 30, 2016 at 10:44 AM

Flag notifications