[ 
https://issues.apache.org/jira/browse/WSS-243?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12908868#action_12908868
 ] 

Colm O hEigeartaigh commented on WSS-243:
-----------------------------------------


Looking at the code, I think there is a problem in that no encoding is 
specified with String.getBytes(). 
The following fix would probably fix the problem:

byte[] base64Data = encoded.getBytes("US-ASCII");

The Base64 code in WSS4J is based on the Xerces code:

http://www.docjar.com/html/api/org/apache/xerces/impl/dv/util/Base64.java.html

You can see that they avoid calling getBytes altogether and instead use 
toCharArray. I will fix this issue shortly for inclusion in WSS4J 1.5.9

Colm.

> Can't use Password Digest on Z/OS
> ---------------------------------
>
>                 Key: WSS-243
>                 URL: https://issues.apache.org/jira/browse/WSS-243
>             Project: WSS4J
>          Issue Type: Bug
>          Components: WSS4J Core
>    Affects Versions: 1.5.8
>         Environment: Z/OS
>            Reporter: Beth Ayres
>            Assignee: Ruchith Udayanga Fernando
>
> Base64.decode doesn't account for EBCDIC encoding.
> line 281:          byte[] base64Data = encoded.getBytes();
> results in an array of garbage.
> Then, line 307:          b1 = base64Alphabet[base64Data[dataIndex++]];
> causes an ArrayIndexOutOfBoundsException.
> The result is that the PasswordDigest is blank.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: wss4j-dev-unsubscr...@ws.apache.org
For additional commands, e-mail: wss4j-dev-h...@ws.apache.org

Reply via email to