[ 
https://issues.apache.org/jira/browse/KARAF-4520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15466624#comment-15466624
 ] 

Xilai Dai commented on KARAF-4520:
----------------------------------

@Freeman, A problem we have after upgraded to Karaf 4.0.6/CXF 3.1.7 may related 
to this changes.

When the use execute some commands from client/ssh of karaf, and the cxf-core 
bundle got refreshed/uninstalled in the container, the 
org.apache.karaf.shell.ssh will be refreshed consequently. this will break the 
command execution and throw ssh exception. (cxf-core is very easy to be 
refreshed in our container)

The cascading bundles refresh as below (Karaf 4.0.6/CXF 3.1.7)
{code}
Uninstalling bundles:
    org.apache.cxf.services.sts.core/3.1.7
Refreshing bundles:
    org.apache.cxf.cxf-core/3.1.7 (Wired to 
org.apache.cxf.services.sts.core/3.1.7 which is being refreshed)
    org.apache.karaf.jaas.modules/4.0.6 (Wired to org.apache.cxf.cxf-core/3.1.7 
which is being refreshed)
    org.apache.karaf.shell.ssh/4.0.6 (Wired to 
org.apache.karaf.jaas.modules/4.0.6 which is being refreshed)
    org.apache.cxf.services.sts.core/3.1.7 (Bundle will be uninstalled)
{code}

Even the org.apache.cxf.interceptor.security package is optional in the 
Import-Package, and by default the DigestPasswordLoginModule is not activated, 
the org.apache.karaf.jaas.modules still got refreshed and then break the ssh 
connection.

With the older Karaf 4.0.5/CXF 3.1.5, there is no this kind of problem.
{code}
Uninstalling bundles:
    org.apache.cxf.services.sts.core/3.1.5
Refreshing bundles:
    org.apache.cxf.cxf-core/3.1.5 (Wired to 
org.apache.cxf.services.sts.core/3.1.5 which is being refreshed)
    org.apache.cxf.services.sts.core/3.1.5 (Bundle will be uninstalled)
{code}

> Add  DigestPasswordLoginModule so PasswordDigest can work with Karaf JAAS 
> realm
> -------------------------------------------------------------------------------
>
>                 Key: KARAF-4520
>                 URL: https://issues.apache.org/jira/browse/KARAF-4520
>             Project: Karaf
>          Issue Type: Improvement
>            Reporter: Freeman Fang
>            Assignee: Freeman Fang
>             Fix For: 4.1.0, 4.0.6
>
>
> So far the assumption with JAAS login modules is that the password is to be 
> compared "as is". However per the ws-security spec, the PasswordDigest for 
> UsernameToken is "the concatenation of the nonce plus the creation time plus 
> the password. The nonce is 16 bytes long and is passed along as a base64 
> encoded value. The way this works is that the client creates the password 
> hash using all of this information plus the password". So the PasswordDigest 
> would change per each invocation, so we can't simply store the passwords in a 
> digest form in the properties file.
> The way to make it work, I think we need a DigestPasswordLoginModule which 
> use a customized checkPassword method where can compare the stored password 
> and the digest password from PasswordCallback (we may need take a close look 
> how this part implemented in WSS4J for digest password comparing)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to