[ 
https://issues.apache.org/jira/browse/WSS-52?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12500594
 ] 

Fabien KOCIK commented on WSS-52:
---------------------------------

I think Falk is right.
I modified WSS4J in this way :

// First, create new array
X509Certificate[] x509certs = new X509Certificate[certs.length + 1];
// Then add the first certificate ...
x509certs[0] = cert;
// ... and the other certificates
for (int j = 0; j < certs.length; j++) {
   cert = certs[j];
   x509certs[j+1] = cert;
}
certs = x509certs;

This code works fine with a certs.length == 2.

> ArrayIndexOutOfBoundsException if certs.length > 1
> --------------------------------------------------
>
>                 Key: WSS-52
>                 URL: https://issues.apache.org/jira/browse/WSS-52
>             Project: WSS4J
>          Issue Type: Bug
>            Reporter: Thomas Leonard
>            Assignee: Davanum Srinivas
>         Attachments: wshandler2.patch
>
>
> In WSHandler.java we have (revision 427569):
>             X509Certificate[] x509certs = new X509Certificate[certs.length + 
> 1];
>             // Then add the first certificate ...
>             x509certs[0] = cert;
>             // ... and the other certificates
>             for (int j = 0; j < certs.length; j++) {
>                 cert = certs[i];
>                 x509certs[certs.length + j] = cert;
>             }
> So, the highest index available in x509certs is "certs.length", while the 
> highest index we write to is "certs.length * 2 - 1".
> This code will only work if certs.length < 2.

-- 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to