Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-1659

SSL Transport configured in wantClientAuth mode never asks for the client certificate during the SSL Handshake

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 4.1.1, 5.0.0
    • 4.1.2, 5.1.0
    • Transport
    • None

    Description

      See: http://java.sun.com/javase/6/docs/api/javax/net/ssl/SSLServerSocket.html#setWantClientAuth(boolean)

      "
      A socket's client authentication setting is one of the following:

      • client authentication required
      • client authentication requested
      • no client authentication desired
        "

      In the API it indicates that if you call either setWantClientAuth, or setNeedClientAuth it will override the call to the other.

      Therefor I believe the following code only allows for ActiveMQ to be in two states:

      • Client Authentication Required (needClientAuth==true)
      • No client Authentication Desired (needClientAuth==false)

      activemq-core/src/main/java/org/apache/activemq/transport/tcp/SslTransportServer.java

      As setWantClientAuth is overridden by setNeedClientAuth.
      public void bind() throws IOException {
      super.bind();
      ((SSLServerSocket)this.serverSocket).setWantClientAuth(wantClientAuth);
      ((SSLServerSocket)this.serverSocket).setNeedClientAuth(needClientAuth);
      }

      I believe this the same issue as this Jetty issue: http://jira.codehaus.org/browse/JETTY-86

      Attachments

        1. amq-411-complex-version.patch
          3 kB
          Eric White
        2. amq-411-simple-version.patch
          1 kB
          Eric White
        3. amq-500-complex-version.patch
          3 kB
          Eric White
        4. amq-500-simple-version.patch
          1 kB
          Eric White

        Activity

          People

            djencks David Jencks
            ericdwhite Eric White
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 48h
                48h
                Remaining:
                Remaining Estimate - 48h
                48h
                Logged:
                Time Spent - Not Specified
                Not Specified