public String getAuthorization(AuthorizationPolicy authPolicy, URI currentURI, Message message, String fullHeader) { if (authPolicy.getAuthorizationType() != null && authPolicy.getAuthorization() != null) { return authPolicy.getAuthorizationType() + " " + authPolicy.getAuthorization(); } return null; }
/** * Get a (issuer) CertConstrains.Combinator from a JAXB CertificateConstraintsType */ public static CertConstraints.Combinator getIssuerConstraintsCombinator( CertificateConstraintsType certConstraints ) { if (certConstraints != null && certConstraints.isSetIssuerDNConstraints()) { DNConstraintsType constraints = certConstraints.getIssuerDNConstraints(); if (constraints != null && constraints.isSetCombinator()) { CombinatorType combinator = constraints.getCombinator(); if (combinator == CombinatorType.ANY) { return CertConstraints.Combinator.ANY; } } } return CertConstraints.Combinator.ALL; }
/** * Get a (subject) CertConstrains.Combinator from a JAXB CertificateConstraintsType */ public static CertConstraints.Combinator getSubjectConstraintsCombinator( CertificateConstraintsType certConstraints ) { if (certConstraints != null && certConstraints.isSetSubjectDNConstraints()) { DNConstraintsType constraints = certConstraints.getSubjectDNConstraints(); if (constraints != null && constraints.isSetCombinator()) { CombinatorType combinator = constraints.getCombinator(); if (combinator == CombinatorType.ANY) { return CertConstraints.Combinator.ANY; } } } return CertConstraints.Combinator.ALL; }
private void applyAuthorization(Dictionary<String, String> d, HTTPConduit c) { Enumeration<String> keys = d.keys(); AuthorizationPolicy p = c.getAuthorization(); while (keys.hasMoreElements()) { String k = keys.nextElement(); if (k.startsWith("authorization.")) { if (p == null) { p = new AuthorizationPolicy(); c.setAuthorization(p); } String v = d.get(k); k = k.substring("authorization.".length()); if ("UserName".equals(k)) { p.setUserName(v); } else if ("Password".equals(k)) { p.setPassword(v); } else if ("Authorization".equals(k)) { p.setAuthorization(v); } else if ("AuthorizationType".equals(k)) { p.setAuthorizationType(v); } } } }
if (getRequestorType() == RequestorType.PROXY && httpConduit.getProxyAuthorization() != null) { String un = httpConduit.getProxyAuthorization().getUserName(); String pwd = httpConduit.getProxyAuthorization().getPassword(); if (un != null && pwd != null) { auth = new PasswordAuthentication(un, pwd.toCharArray()); String un = httpConduit.getAuthorization().getUserName(); String pwd = httpConduit.getAuthorization().getPassword(); if (un != null && pwd != null) { auth = new PasswordAuthentication(un, pwd.toCharArray());
CertificateConstraintsType cct = p.getCertConstraints(); if (cct == null) { cct = new CertificateConstraintsType(); p.setCertConstraints(cct); dnct = cct.getSubjectDNConstraints(); if (dnct == null) { dnct = new DNConstraintsType(); cct.setSubjectDNConstraints(dnct); dnct = cct.getIssuerDNConstraints(); if (dnct == null) { dnct = new DNConstraintsType(); cct.setIssuerDNConstraints(dnct); dnct.setCombinator(CombinatorType.fromValue(v)); } else if ("RegularExpression".equals(k)) { dnct.getRegularExpression().add(k);
public String getAuthorization(AuthorizationPolicy authPolicy, URI currentURI, Message message, String fullHeader) { if (authPolicy.getUserName() != null && authPolicy.getPassword() != null) { boolean encodeBasicAuthWithIso8859 = PropertyUtils.isTrue( message.getContextualProperty(ENCODE_BASIC_AUTH_WITH_ISO8859)); return getBasicAuthHeader(authPolicy.getUserName(), authPolicy.getPassword(), encodeBasicAuthWithIso8859); } return null; }
private TrustManagersType getTrustManagers(TrustManagersType tmt, String k, String v) { if (tmt == null) { tmt = new TrustManagersType(); } if ("provider".equals(k)) { tmt.setProvider(v); } else if ("factoryAlgorithm".equals(k)) { tmt.setFactoryAlgorithm(v); } else if (k.startsWith("keyStore.")) { tmt.setKeyStore(getKeyStore(tmt.getKeyStore(), k.substring("keyStore.".length()), v)); } else if (k.startsWith("certStore")) { tmt.setCertStore(getCertStore(tmt.getCertStore(), k.substring("certStore.".length()), v)); } return tmt; }
private KeyStoreType getKeyStore(KeyStoreType ks, String k, String v) { if (ks == null) { ks = new KeyStoreType(); } if ("type".equals(k)) { ks.setType(v); } else if ("password".equals(k)) { ks.setPassword(v); } else if ("provider".equals(k)) { ks.setProvider(v); } else if ("url".equals(k)) { ks.setUrl(v); } else if ("file".equals(k)) { ks.setFile(v); } else if ("resource".equals(k)) { ks.setResource(v); } return ks; }
private KeyManagersType getKeyManagers(KeyManagersType keyManagers, String k, String v) { if (keyManagers == null) { keyManagers = new KeyManagersType(); } if ("factoryAlgorithm".equals(k)) { keyManagers.setFactoryAlgorithm(v); } else if ("provider".equals(k)) { keyManagers.setProvider(v); } else if ("keyPassword".equals(k)) { keyManagers.setKeyPassword(v); } else if (k.startsWith("keyStore.")) { keyManagers.setKeyStore(getKeyStore(keyManagers.getKeyStore(), k.substring("keyStore.".length()), v)); } return keyManagers; }
private static void configureConduitFromEndpointInfo(HTTPConduit conduit, EndpointInfo endpointInfo) { if (conduit.getClient() == null) { conduit.setClient(endpointInfo.getTraversedExtensor( new HTTPClientPolicy(), HTTPClientPolicy.class)); } if (conduit.getAuthorization() == null) { conduit.setAuthorization(endpointInfo.getTraversedExtensor( new AuthorizationPolicy(), AuthorizationPolicy.class)); } if (conduit.getProxyAuthorization() == null) { conduit.setProxyAuthorization(endpointInfo.getTraversedExtensor( new ProxyAuthorizationPolicy(), ProxyAuthorizationPolicy.class)); } if (conduit.getTlsClientParameters() == null) { conduit.setTlsClientParameters(endpointInfo.getTraversedExtensor( null, TLSClientParameters.class)); } if (conduit.getTrustDecider() == null) { conduit.setTrustDecider(endpointInfo.getTraversedExtensor(null, MessageTrustDecider.class)); } if (conduit.getAuthSupplier() == null) { conduit.setAuthSupplier(endpointInfo.getTraversedExtensor(null, HttpAuthSupplier.class)); } }
private void applyProxyAuthorization(Dictionary<String, String> d, HTTPConduit c) { Enumeration<String> keys = d.keys(); ProxyAuthorizationPolicy p = c.getProxyAuthorization(); while (keys.hasMoreElements()) { String k = keys.nextElement(); if (k.startsWith("proxyAuthorization.")) { if (p == null) { p = new ProxyAuthorizationPolicy(); c.setProxyAuthorization(p); } String v = d.get(k); k = k.substring("proxyAuthorization.".length()); if ("UserName".equals(k)) { p.setUserName(v); } else if ("Password".equals(k)) { p.setPassword(v); } else if ("Authorization".equals(k)) { p.setAuthorization(v); } else if ("AuthorizationType".equals(k)) { p.setAuthorizationType(v); } } } }
break; case HttpURLConnection.HTTP_UNAUTHORIZED: // 401 if (authorizationPolicy == null || authorizationPolicy.getUserName() == null) { msg += " with NO authorization username configured in conduit " + getConduitName(); } else { msg += " with authorization username '" + authorizationPolicy.getUserName() + "'"; if (proxyAuthorizationPolicy == null || proxyAuthorizationPolicy.getUserName() == null) { msg += " with NO proxy authorization configured in conduit " + getConduitName(); } else { msg += " with proxy authorization username '" + proxyAuthorizationPolicy.getUserName() + "'";
@Override public String getUserName() { String name = super.getUserName(); if (name != null) { return name; } Principal pp = getPrincipal(); return pp != null ? pp.getName() : null; } }
/** * Determines effective auth policy from message, conduit and empty default * with priority from first to last * * @param message * @return effective AthorizationPolicy */ public AuthorizationPolicy getEffectiveAuthPolicy(Message message) { AuthorizationPolicy authPolicy = getAuthorization(); AuthorizationPolicy newPolicy = message.get(AuthorizationPolicy.class); AuthorizationPolicy effectivePolicy = newPolicy; if (effectivePolicy == null) { effectivePolicy = authPolicy; } if (effectivePolicy == null) { effectivePolicy = new AuthorizationPolicy(); } return effectivePolicy; }
private CertStoreType getCertStore(CertStoreType cs, String k, String v) { if (cs == null) { cs = new CertStoreType(); } if ("file".equals(k)) { cs.setFile(v); } else if ("url".equals(k)) { cs.setUrl(v); } else if ("resource".equals(k)) { cs.setResource(v); } return cs; }
/** * Get a List of Strings that corresponds to the issuer regular expression * constraints from a JAXB CertificateConstraintsType */ public static List<String> getIssuerConstraints( CertificateConstraintsType certConstraints ) { if (certConstraints != null && certConstraints.isSetIssuerDNConstraints()) { DNConstraintsType constraints = certConstraints.getIssuerDNConstraints(); return constraints.getRegularExpression(); } return java.util.Collections.emptyList(); }
/** * Get a List of Strings that corresponds to the subject regular expression * constraints from a JAXB CertificateConstraintsType */ public static List<String> getSubjectConstraints( CertificateConstraintsType certConstraints ) { if (certConstraints != null && certConstraints.isSetSubjectDNConstraints()) { DNConstraintsType constraints = certConstraints.getSubjectDNConstraints(); return constraints.getRegularExpression(); } return java.util.Collections.emptyList(); }
public static SSLEngine createServerSSLEngine(TLSServerParameters parameters) throws Exception { SSLContext sslContext = getSSLContext(parameters); SSLEngine serverEngine = sslContext.createSSLEngine(); serverEngine.setUseClientMode(false); serverEngine.setNeedClientAuth(parameters.getClientAuthentication().isRequired()); return serverEngine; }
private HttpAuthSupplier createAuthSupplier(AuthorizationPolicy authzPolicy) { String authType = authzPolicy.getAuthorizationType(); if (HttpAuthHeader.AUTH_TYPE_NEGOTIATE.equals(authType)) { return new SpnegoAuthSupplier(); } else if (HttpAuthHeader.AUTH_TYPE_DIGEST.equals(authType)) { return new DigestAuthSupplier(); } else if (authType != null && !HttpAuthHeader.AUTH_TYPE_BASIC.equals(authType) && authzPolicy.getAuthorization() != null) { return new CustomAuthSupplier(); } else { return new DefaultBasicAuthSupplier(); } }