WSO2 SOA Enablement Server security requires proper JCE 1.2.2 and JAAS 1.0 installations. These are included in Java 2 SDK Version 1.4+.
To use HTTPS transport, you also have to install JSSE. These are included in Java 2 SDK Version 1.4+.
The Kerberos provider needs the GSS implementation of Kerberos included in JDK 1.4.
WS-Security also has a number of requirements. These are listed in WS-Security Provider Requirements.
To run WSO2 SOA Enablement Server on a JVM with the default Java security manager enabled you must grant the permissions in Example 1.
![]() | Note |
---|---|
In Example 1:
|
Example 1. Running WSO2 SOA Enablement Server on JVM with an enabled security manager
permission java.io.FilePermission "WASP_HOME${/}-", "read,write,delete,execute"; permission java.io.FilePermission "WASP_HOME","read"; // Temporary directory needed for deployment must also // have appropriate permissions permission java.io.FilePermission "TMP_DIR${/}-", "read,write,delete"; permission javax.security.auth.AuthPermission "*"; permission javax.security.auth.PrivateCredentialPermission "com.idoox.security.spkm.GSSCredentialImpl org.idoox.security.WASPPrincipal \"*\"", "read"; permission java.util.PropertyPermission "*", "read,write"; permission java.lang.RuntimePermission "shutdownHooks"; permission java.lang.RuntimePermission "createClassLoader"; permission java.security.SecurityPermission "insertProvider.*"; permission java.lang.RuntimePermission "accessClassInPackage.*"; permission java.lang.RuntimePermission "setContextClassLoader"; permission java.net.SocketPermission "localhost:1024-", "listen,connect,accept,resolve"; permission java.net.SocketPermission "HOST_NAME:1024-", "listen,connect,accept,resolve"; permission java.io.FilePermission "JAVA_HOME\\jre\\lib\\wsdl.properties", "read"; permission java.lang.RuntimePermission "accessDeclaredMembers"; permission java.lang.RuntimePermission "getClassLoader"; permission javax.security.auth.PrivateCredentialPermission "org.idoox.security.jaas.NamePasswordCredential org.idoox.security.WASPPrincipal \"*\"", "read";
To enable unlimited key sizes and algorithms you must install the Unlimited Strength Java Cryptography Extension Policy Files provided by Sun Microsystems. Please download and install these from http://www.ibm.com.
WASP_HOME/jaas.config must be replaced manually with WASP_HOME/jaas.ibm.config as IBM has a different Kerberos login module.
The requirements for employing WS-Security Provider with WSO2 SOA Enablement Server are:
XML parser - Apache Xerces is supported. Version 2.0.1 or later is required. Version 2.4.0 is distributed with WSO2 SOA Enablement Server.
JDK 1.3: no special installation is required. WSO2 SOA Enablement Server's xerces.jar is used.
JDK 1.4: no special installation is required. JDK contains Xerces 2.0.1_01.
XML XSLT processor - Apache Xalan is supported. Version 2.5.0 or later is required. Version 2.5.1 is distributed with WSO2 SOA Enablement Server.
JDK 1.3: no special installation is required. WSO2 SOA Enablement Server's xalan.jar is used.
JDK 1.4: no special installation is required.
JCE provider - Cryptography algorithms required by XML Signature and XML Encryption are provided by JCE providers. Currently the BouncyCastle JCE provider is supported. It can be downloaded from http://www.bouncycastle.org. The JCE provider is not bundled with WSO2 SOA Enablement Server due to US export restrictions.