You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by co...@apache.org on 2014/06/18 15:56:19 UTC
svn commit: r1603452 -
/webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/WSProviderConfig.java
Author: coheigea
Date: Wed Jun 18 13:56:18 2014
New Revision: 1603452
URL: http://svn.apache.org/r1603452
Log:
Get WSS4J working with the latest Santuario SNAPSHOT
Modified:
webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/WSProviderConfig.java
Modified: webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/WSProviderConfig.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/WSProviderConfig.java?rev=1603452&r1=1603451&r2=1603452&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/WSProviderConfig.java (original)
+++ webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/WSProviderConfig.java Wed Jun 18 13:56:18 2014
@@ -67,7 +67,16 @@ public final class WSProviderConfig {
AccessController.doPrivileged(new PrivilegedAction<Boolean>() {
public Boolean run() {
addXMLDSigRIInternal();
- addJceProvider("BC", "org.bouncycastle.jce.provider.BouncyCastleProvider");
+ String bcProviderStr =
+ addJceProvider("BC", "org.bouncycastle.jce.provider.BouncyCastleProvider");
+ // If we have BouncyCastle v1.49 installed then use IvParameterSpec in
+ // Santuario. This can be removed when we pick up BouncyCastle 1.51+
+ if (bcProviderStr != null) {
+ Provider bcProvider = Security.getProvider(bcProviderStr);
+ if (bcProvider.getInfo().contains("v1.49")) {
+ useIvParameterSpec();
+ }
+ }
return true;
}
});
@@ -122,6 +131,24 @@ public final class WSProviderConfig {
}
}
+ private static void useIvParameterSpec() {
+ try {
+ // Don't override if it was set explicitly
+ AccessController.doPrivileged(new PrivilegedAction<Boolean>() {
+ public Boolean run() {
+ String ivParameterSpec = "org.apache.xml.security.cipher.gcm.useIvParameterSpec";
+ if (System.getProperty(ivParameterSpec) == null) {
+ System.setProperty(ivParameterSpec, "true");
+ return false;
+ }
+ return true;
+ }
+ });
+ } catch (Throwable t) { //NOPMD
+ //ignore
+ }
+ }
+
private static void addXMLDSigRIInternal() {
Security.removeProvider("ApacheXMLDSig");
addJceProvider("ApacheXMLDSig", SantuarioUtil.getSantuarioProvider());