I want to highlight a phrase you quoted from the documentation you
referenced: "The broker is configured to have its own certificate and
private key."  I see where you installed the broker's cert (the ourco one),
but i don't see in your description where you installed the private key.
Did that happen?

Tim

On Aug 15, 2016 8:07 AM, "KenHall" <ha...@dnb.com> wrote:

> Hi Tim,
>
> Yes we're using the ourmq.ourco.com address and the certificate common
> name
> is the same.
>
> So my very simplistic piece of java code looks like this:
>        System.setProperty("javax.net.debug","ssl");
>         ActiveMQSslConnectionFactory connectionFactory = new
> ActiveMQSslConnectionFactory("ssl://ourmq.ourco.com:XXXX");
>         connectionFactory.setTrustStore(PATH+"/client.ts");
>         connectionFactory.setTrustStorePassword("password");
>         Connection connection = connectionFactory.createConnection();
>         connection.start();
>
> I have been getting issues which result in an SSL Handshake exception. I
> thought this was related to encryption policy jars and have updated these
> at
> both sides to the higher strength encryption but I still get the same
> errors. So now I get something like this (all I have changed in the output
> is to keep confidentiality). The client is using jdk 1.8 and the broker jdk
> 1.7 but I don't think that should make any difference:
>
> Starting.....
> adding as trusted cert:
>   Subject: CN=localhost, OU=broker, O=Unknown, L=Unknown, ST=Unknown,
> C=Unknown
>   Issuer:  CN=localhost, OU=broker, O=Unknown, L=Unknown, ST=Unknown,
> C=Unknown
>   Algorithm: RSA; Serial number: 0x4537c82e
>   Valid from Thu Oct 19 19:47:10 BST 2006 until Wed Jan 17 18:47:10 GMT
> 2007
>
> adding as trusted cert:
>   Subject: CN=DigiCert SHA2 High Assurance Server CA, OU=www.digicert.com,
> O=DigiCert Inc, C=US
> .......
>   Valid from Tue Oct 22 13:00:00 BST 2013 until Sun Oct 22 13:00:00 BST
> 2028
>
> trigger seeding of SecureRandom
> done seeding SecureRandom
> Allow unsafe renegotiation: false
> Allow legacy hello messages: true
> Is initial handshake: true
> Is secure renegotiation: false
> main, setSoTimeout(0) called
> Ignoring unsupported cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
> for TLSv1
> Ignoring unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
> for
> TLSv1
> Ignoring unsupported cipher suite: TLS_RSA_WITH_AES_256_CBC_SHA256 for
> TLSv1
> Ignoring unsupported cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
> for TLSv1
> Ignoring unsupported cipher suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
> for
> TLSv1
> Ignoring unsupported cipher suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 for
> TLSv1
> Ignoring unsupported cipher suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 for
> TLSv1
> Ignoring unsupported cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
> for TLSv1.1
> Ignoring unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
> for
> TLSv1.1
> Ignoring unsupported cipher suite: TLS_RSA_WITH_AES_256_CBC_SHA256 for
> TLSv1.1
> Ignoring unsupported cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
> for TLSv1.1
> Ignoring unsupported cipher suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
> for
> TLSv1.1
> Ignoring unsupported cipher suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 for
> TLSv1.1
> Ignoring unsupported cipher suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 for
> TLSv1.1
> log4j:WARN No appenders could be found for logger
> (org.apache.activemq.transport.WireFormatNegotiator).
> log4j:WARN Please initialize the log4j system properly.
> log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for
> more info.
> %% No cached client session
> *** ClientHello, TLSv1.2
> RandomCookie:  GMT: 1454425573 bytes = { 245, 115, 73, 243, 107, 74, 79,
> 221, 236, 153, 89, 128, 222, 149, 200, 153, 84, 140, 5, 103, 248, 24, 111,
> 201, 66, 162, 15, 234 }
> Session ID:  {}
> Cipher Suites: [TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,
> TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_RSA_WITH_AES_256_CBC_SHA256,
> TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,
> TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
> TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
> TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA,
> TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,
> TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA,
> TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
> TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256,
> TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,
> TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
> TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
> TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA,
> TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,
> TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA,
> TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
> TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
> TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_RSA_WITH_AES_256_GCM_SHA384,
> TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,
> TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,
> TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_
> GCM_SHA256,
> TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,
> TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
> TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_3DES_EDE_
> CBC_SHA,
> TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA,
> TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,
> SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA,
> TLS_EMPTY_RENEGOTIATION_INFO_SCSV]
> Compression Methods:  { 0 }
> Extension elliptic_curves, curve names: {secp256r1, sect163k1, sect163r2,
> secp192r1, secp224r1, sect233k1, sect233r1, sect283k1, sect283r1,
> secp384r1,
> sect409k1, sect409r1, secp521r1, sect571k1, sect571r1, secp160k1,
> secp160r1,
> secp160r2, sect163r1, secp192k1, sect193r1, sect193r2, secp224k1,
> sect239k1,
> secp256k1}
> Extension ec_point_formats, formats: [uncompressed]
> Extension signature_algorithms, signature_algorithms: SHA512withECDSA,
> SHA512withRSA, SHA384withECDSA, SHA384withRSA, SHA256withECDSA,
> SHA256withRSA, SHA224withECDSA, SHA224withRSA, SHA1withECDSA, SHA1withRSA,
> SHA1withDSA, MD5withRSA
> ***
> ActiveMQ Transport: ssl://ourmq.ourco.com/111.222.111.222:9999, WRITE:
> TLSv1.2 Handshake, length = 237
> ActiveMQ Transport: ssl://ourmq.ourco.com/111.222.111.222:9999, READ:
> TLSv1.2 Alert, length = 2
> ActiveMQ Transport: ssl://ourmq.ourco.com/111.222.111.222:9999, RECV
> TLSv1.2
> ALERT:  fatal, handshake_failure
> ActiveMQ Transport: ssl://ourmq.ourco.com/111.222.111.222:9999, called
> closeSocket()
> ActiveMQ Transport: ssl://ourmq.ourco.com/111.222.111.222:9999, handling
> exception: javax.net.ssl.SSLHandshakeException: Received fatal alert:
> handshake_failure
> main, handling exception: javax.net.ssl.SSLHandshakeException: Received
> fatal alert: handshake_failure
> ActiveMQ Task-1, called close()
> ActiveMQ Task-1, called closeInternal(true)
> Exception in thread "main" javax.jms.JMSException: Could not connect to
> broker URL: ssl://ourmq.ourco.com:9999. Reason:
> javax.net.ssl.SSLHandshakeException: Received fatal alert:
> handshake_failure
>         at
> org.apache.activemq.util.JMSExceptionSupport.create(
> JMSExceptionSupport.java:35)
>         at
> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(
> ActiveMQConnectionFactory.java:293)
>         at
> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(
> ActiveMQConnectionFactory.java:238)
>         at
> org.apache.activemq.ActiveMQConnectionFactory.createConnection(
> ActiveMQConnectionFactory.java:184)
>         at RunSSLTest.main(RunSSLTest.java:26)
> Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert:
> handshake_failure
>         at sun.security.ssl.Alerts.getSSLException(Unknown Source)
>         at sun.security.ssl.Alerts.getSSLException(Unknown Source)
>         at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
>         at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
>         at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown
> Source)
>         at sun.security.ssl.SSLSocketImpl.readDataRecord(Unknown Source)
>         at sun.security.ssl.AppInputStream.read(Unknown Source)
>         at
> org.apache.activemq.transport.tcp.TcpBufferedInputStream.
> fill(TcpBufferedInputStream.java:50)
>         at
> org.apache.activemq.transport.tcp.TcpTransport$2.fill(
> TcpTransport.java:604)
>         at
> org.apache.activemq.transport.tcp.TcpBufferedInputStream.
> read(TcpBufferedInputStream.java:58)
>         at
> org.apache.activemq.transport.tcp.TcpTransport$2.read(
> TcpTransport.java:589)
>         at java.io.DataInputStream.readInt(Unknown Source)
>         at
> org.apache.activemq.openwire.OpenWireFormat.unmarshal(
> OpenWireFormat.java:275)
>         at
> org.apache.activemq.transport.tcp.TcpTransport.readCommand(
> TcpTransport.java:221)
>         at
> org.apache.activemq.transport.tcp.TcpTransport.doRun(
> TcpTransport.java:213)
>         at
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196)
>         at java.lang.Thread.run(Unknown Source)
>
>
>
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.
> nabble.com/Using-Trusted-Cert-with-ActiveMQ-SSL-tp4715473p4715482.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>

Reply via email to