private static MessagePolicy newMessagePolicy(MessagePolicyType messagePolicyType) throws AuthException { if (messagePolicyType == null) { return null; } if (messagePolicyType.getTargetPolicy().size() == 0) { return null; } MessagePolicy.TargetPolicy[] targetPolicies = new MessagePolicy.TargetPolicy[messagePolicyType.getTargetPolicy().size()]; int i = 0; for (TargetPolicyType targetPolicyType: messagePolicyType.getTargetPolicy()) { targetPolicies[i++] = newTargetPolicy(targetPolicyType); } return new MessagePolicy(targetPolicies, messagePolicyType.isMandatory()); }
public AuthPolicy(MessagePolicy messagePolicy) { if (messagePolicy != null) { TargetPolicy[] targetPolicies = messagePolicy.getTargetPolicies(); if (targetPolicies != null && targetPolicies.length > 0) { int contentInd = -1; int recipientInd = -1; for (int i = 0; i < targetPolicies.length; i++) { ProtectionPolicy pp = targetPolicies[i].getProtectionPolicy(); if (ProtectionPolicy.AUTHENTICATE_RECIPIENT.equals( pp.getID())) { recipientInd = i; this.authenticateRecipient = true; } else if (ProtectionPolicy.AUTHENTICATE_SENDER.equals( pp.getID())) { contentInd = i; setAuthenticationType(SOURCE_AUTH_SENDER); } else if (ProtectionPolicy.AUTHENTICATE_CONTENT.equals( pp.getID())) { contentInd = i; setAuthenticationType(SOURCE_AUTH_CONTENT); } } if (authenticateRecipient && contentInd >= 0) { this.recipientBeforeContent = (recipientInd < contentInd); } } } }
@Override public void initialize(MessagePolicy requestPolicy, MessagePolicy responsePolicy, CallbackHandler handler, Map options) throws AuthException { LOGGER.finer("Init SAM"); if (options != null) { config.setJndi((String) options.get(Config.PARAM_EJB_JNDI)); config.setProviderUrl((String) options.get(Config.PARAM_PROVIDER_URL)); config.setDigestAlgorithm((String) options.get(Config.PARAM_DIGEST_ALGORITHM)); LOGGER.log(Level.FINER, "SAM mandatory : {0}", requestPolicy.isMandatory()); this.loginURI = (String) options.get(Constants.LOGIN_URL); this.handler = handler; this.lcName = (String) options.get(Constants.LOGIN_CONTEXT_IMPL); LOGGER.log(Level.FINE, "Login Context Name:{0}", this.lcName); } try { getLc(); ejbClient = new JNDIClient(config.getProviderUrl()); loginEJB = (JaasEjb) ejbClient.lookup(config.getJndi()); } catch (LoginException ex) { LOGGER.log(Level.SEVERE, "Exception d''init SAM{0}", ex.toString()); AuthException ae = new AuthException(); ae.initCause(ex); throw ae; } }
public AuthPolicy(MessagePolicy messagePolicy) { if (messagePolicy != null) { TargetPolicy[] targetPolicies = messagePolicy.getTargetPolicies(); if (targetPolicies != null && targetPolicies.length > 0) { int contentInd = -1; int recipientInd = -1; for (int i = 0; i < targetPolicies.length; i++) { ProtectionPolicy pp = targetPolicies[i].getProtectionPolicy(); if (ProtectionPolicy.AUTHENTICATE_RECIPIENT.equals( pp.getID())) { recipientInd = i; this.authenticateRecipient = true; } else if (ProtectionPolicy.AUTHENTICATE_SENDER.equals( pp.getID())) { contentInd = i; setAuthenticationType(SOURCE_AUTH_SENDER); } else if (ProtectionPolicy.AUTHENTICATE_CONTENT.equals( pp.getID())) { contentInd = i; setAuthenticationType(SOURCE_AUTH_CONTENT); } } if (authenticateRecipient && contentInd >= 0) { this.recipientBeforeContent = (recipientInd < contentInd); } } } }
return new MessagePolicy( targetPolicies.toArray( new TargetPolicy[targetPolicies.size()]),
return new MessagePolicy( targetPolicies.toArray( new TargetPolicy[targetPolicies.size()]),