L.S.,

I'm a relative newbie to JBoss. One of our applications exposes a web services 
interface. I'm trying to deploy the J2EE implementation of this application on 
JBoss. As part of this I'm trying to configure JBoss to require client 
certificates for the web service calls and to pass information from the 
certificate as the Principal to the application.

I've done the following:
- configure Tomcat for SSL. This works fine, regardless of the value of the 
clientAuth attribute.
- define a (JAAS) securitydomain in conf/jboss-service.xml
- define an application-policy in conf/login-config.xml, which contains the 
BaseCertLoginModule as the first login-module. This module refers to the 
securitydomain mentioned above
- add a reference to the securitydomain in META-INF\jboss.xml in the jar that 
exposes the EJBs which make up the web service
- define declarative security in the ejb-jar.xml

When I try to access the web service (I'm using a .NET client - not sure 
whether this might be relevant) I see the following in the JBoss logs (I've set 
logging of the security modules to the highest possible level):

2007-08-01 11:12:20,705 TRACE [org.jboss.security.auth.spi.BaseCertLoginModule] 
initialize, [EMAIL PROTECTED]
  | 2007-08-01 11:12:20,705 TRACE 
[org.jboss.security.auth.spi.BaseCertLoginModule] 
securityDomain=java:/jaas/ITPForms-jboss
  | 2007-08-01 11:12:20,721 TRACE 
[org.jboss.security.auth.spi.BaseCertLoginModule] found domain: 
org.jboss.security.plugins.JaasSecurityDomain
  | 2007-08-01 11:12:20,721 TRACE 
[org.jboss.security.auth.spi.BaseCertLoginModule] exit: initialize(Subject, 
CallbackHandler, Map, Map)
  | 2007-08-01 11:12:20,721 TRACE 
[org.jboss.security.auth.spi.BaseCertLoginModule] enter: login()
  | 2007-08-01 11:12:20,721 TRACE 
[org.jboss.security.auth.spi.BaseCertLoginModule] login
  | 2007-08-01 11:12:20,721 TRACE 
[org.jboss.security.auth.spi.BaseCertLoginModule] enter: getAliasAndCert()
  | 2007-08-01 11:12:20,721 TRACE 
[org.jboss.security.auth.spi.BaseCertLoginModule] exit: getAliasAndCert()
  | 2007-08-01 11:12:20,721 TRACE 
[org.jboss.security.auth.spi.BaseCertLoginModule] Authenticating as 
unauthenticatedIdentity=null
  | 2007-08-01 11:12:20,721 TRACE 
[org.jboss.security.auth.spi.BaseCertLoginModule] enter: 
validateCredentail(String, X509Certificate)
  | 2007-08-01 11:12:20,721 WARN  
[org.jboss.security.auth.spi.BaseCertLoginModule] Domain, KeyStore, or cert is 
null. Unable to validate the certificate.
  | 2007-08-01 11:12:20,721 TRACE 
[org.jboss.security.auth.spi.BaseCertLoginModule] The supplied certificate DID 
NOT match the certificate in the keystore.
  | 2007-08-01 11:12:20,721 TRACE 
[org.jboss.security.auth.spi.BaseCertLoginModule] exit: 
validateCredentail(String, X509Certificate)
  | 2007-08-01 11:12:20,721 DEBUG 
[org.jboss.security.auth.spi.BaseCertLoginModule] Bad credential for alias=null

I've had a quick look at the BaseCertLoginModule implementation. It looks like 
its callback handler fails to retrieve the client certificate from the message.

As an exercise, I've tried to do the same for a simple web archive. This seems 
to work perfectly. Is there any restriction w.r.t. client authentication and 
EJBs/web services?

Thank you in advance,
Johan.

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4069539#4069539

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4069539
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to