Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
4.1.1, 5.0.0
-
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