[
https://issues.apache.org/jira/browse/WSS-82?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12589065#action_12589065
]
Fred Dushin commented on WSS-82:
--------------------------------
Good points, Werner.
I believe the changes I made are 100% backwards compatible. Specifically, the
out-of-the-box behavior is exactly the same as it was before, but you can
modify the WSConfig object to disable registration of JCE provider. As
mentioned, this introduces a potential race condition, which I can live with
for now, but which we can address in the future with perhaps modified
initialization semantics. But as you rightly point out, we'll be constrained
by the Apache XMLSec initialization, as well.
> Add the ability to use a custom-loaded JCE provider instance instead of using
> the system-provided one
> -----------------------------------------------------------------------------------------------------
>
> Key: WSS-82
> URL: https://issues.apache.org/jira/browse/WSS-82
> Project: WSS4J
> Issue Type: Bug
> Reporter: George Stanchev
>
> Currently WSS4J loads the BouncyCastle JCE (see WSSConfig.java). However, it
> uses the JCE Security class to then register the JCE in the
> java.security.Security registry. The problem is, that it uses the context
> classloader which might or might not be available for other parties. The JCE
> providers loaded via java.security.Secruity must be installed in the system
> classloader since it loads the JCE.
> JCE 1.4 and onwards provides a way to use an instance of a JCE provider
> supplied by the caller instead of the classes requesting one from the
> Security registry.
> For example to get a cypher, one can write
> Class clazz = myClassloader.loadClass("my.custom.JCEProvider");
> java.security.Provider myprov = (java.security.Provider) clazz.getInstance();
> javax.crypto.Cypher = javax.crypto.Cypher.getInstance(myTransofrmation,
> myprov);
> instead of
> javax.crypto.Cypher = javax.crypto.Cypher.getInstance(myTransofrmation);
> or
> javax.crypto.Cypher = javax.crypto.Cypher.getInstance(myTransofrmation,
> "myprov");
> This way WSS4J will stay trully independent of any system-provider JCE
> providers.
> Same needs to be done for XML-Security library
--
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]