+ container.getClassLoader().getParent());
WebClassLoader wcl = (WebClassLoader)container.getWebClassLoader();
String codebaseString;
if (wcl != null && (codebaseString = wcl.getCodebaseString()) != null)
{
Any codebase = orb.create_any();
codebase.insert_string(codebaseString);
codebasePolicy = orb.create_policy(CodebasePolicy.TYPE, codebase);
logger.debug("codebasePolicy: " + codebasePolicy);
}
else
{
logger.debug("Not setting codebase policy, codebase is null");
}
// Create csiv2Policy for both home and remote containing IorSecurityConfigMetadata
Any secPolicy = orb.create_any();
IorSecurityConfigMetaData securityConfig =
container.getBeanMetaData().getIorSecurityConfigMetaData();
// if no security metadata was found, get the default metadata from the registry.
if (securityConfig == null)
securityConfig = (IorSecurityConfigMetaData) Registry.lookup(CorbaORBService.IOR_SECURITY_CONFIG);
secPolicy.insert_Value(securityConfig);
csiv2Policy = orb.create_policy(CSIv2Policy.TYPE, secPolicy);
// Create SSLPolicy
// (SSL_REQUIRED ensures home and remote IORs
// will have port 0 in the primary address)
boolean sslRequired = false;
if (securityConfig != null) {
IorSecurityConfigMetaData.TransportConfig tc =
securityConfig.getTransportConfig();
sslRequired =
tc.getIntegrity() ==
IorSecurityConfigMetaData.TransportConfig.INTEGRITY_REQUIRED
|| tc.getConfidentiality() ==
IorSecurityConfigMetaData.TransportConfig.CONFIDENTIALITY_REQUIRED
|| tc.getEstablishTrustInClient() ==
IorSecurityConfigMetaData.TransportConfig.ESTABLISH_TRUST_IN_CLIENT_REQUIRED;
}
Any sslPolicyValue = orb.create_any();
SSLPolicyValueHelper.insert(
sslPolicyValue,
(sslRequired) ? SSLPolicyValue.SSL_REQUIRED
: SSLPolicyValue.SSL_NOT_REQUIRED);
sslPolicy = orb.create_policy(SSL_POLICY_TYPE.value, sslPolicyValue);