Search in sources :

Example 6 with ClientAuthentication

use of org.apache.cxf.configuration.security.ClientAuthentication in project cxf by apache.

the class HTTPUndertowTransportActivator method createTlsServerParameters.

private TLSServerParameters createTlsServerParameters(Dictionary<String, ?> d) {
    Enumeration<String> keys = d.keys();
    TLSServerParameters p = null;
    SecureRandomParameters srp = null;
    KeyManagersType kmt = null;
    TrustManagersType tmt = null;
    boolean enableRevocation = false;
    while (keys.hasMoreElements()) {
        String k = keys.nextElement();
        if (k.startsWith("tlsServerParameters.")) {
            if (p == null) {
                p = new TLSServerParameters();
            }
            String v = (String) d.get(k);
            k = k.substring("tlsServerParameters.".length());
            if ("secureSocketProtocol".equals(k)) {
                p.setSecureSocketProtocol(v);
            } else if ("jsseProvider".equals(k)) {
                p.setJsseProvider(v);
            } else if ("certAlias".equals(k)) {
                p.setCertAlias(v);
            } else if ("enableRevocation".equals(k)) {
                enableRevocation = Boolean.parseBoolean(v);
            } else if ("clientAuthentication.want".equals(k)) {
                if (p.getClientAuthentication() == null) {
                    p.setClientAuthentication(new ClientAuthentication());
                }
                p.getClientAuthentication().setWant(Boolean.parseBoolean(v));
            } else if ("clientAuthentication.required".equals(k)) {
                if (p.getClientAuthentication() == null) {
                    p.setClientAuthentication(new ClientAuthentication());
                }
                p.getClientAuthentication().setRequired(Boolean.parseBoolean(v));
            } else if (k.startsWith("certConstraints.")) {
                configureCertConstraints(p, k, v);
            } else if (k.startsWith("secureRandomParameters.")) {
                srp = configureSecureRandom(srp, k, v);
            } else if (k.startsWith("cipherSuitesFilter.")) {
                configureCipherSuitesFilter(p, k, v);
            } else if (k.startsWith("cipherSuites")) {
                StringTokenizer st = new StringTokenizer(v, ",");
                while (st.hasMoreTokens()) {
                    p.getCipherSuites().add(st.nextToken());
                }
            } else if (k.startsWith("excludeProtocols")) {
                StringTokenizer st = new StringTokenizer(v, ",");
                while (st.hasMoreTokens()) {
                    p.getExcludeProtocols().add(st.nextToken());
                }
            } else if (k.startsWith("trustManagers.")) {
                tmt = getTrustManagers(tmt, k.substring("trustManagers.".length()), v);
            } else if (k.startsWith("keyManagers.")) {
                kmt = getKeyManagers(kmt, k.substring("keyManagers.".length()), v);
            }
        }
    }
    try {
        if (srp != null) {
            p.setSecureRandom(TLSParameterJaxBUtils.getSecureRandom(srp));
        }
        if (kmt != null) {
            p.setKeyManagers(TLSParameterJaxBUtils.getKeyManagers(kmt));
        }
        if (tmt != null) {
            p.setTrustManagers(TLSParameterJaxBUtils.getTrustManagers(tmt, enableRevocation));
        }
    } catch (RuntimeException e) {
        throw e;
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
    return p;
}
Also used : KeyManagersType(org.apache.cxf.configuration.security.KeyManagersType) StringTokenizer(java.util.StringTokenizer) SecureRandomParameters(org.apache.cxf.configuration.security.SecureRandomParameters) TrustManagersType(org.apache.cxf.configuration.security.TrustManagersType) ClientAuthentication(org.apache.cxf.configuration.security.ClientAuthentication) TLSServerParameters(org.apache.cxf.configuration.jsse.TLSServerParameters) GeneralSecurityException(java.security.GeneralSecurityException) ConfigurationException(org.osgi.service.cm.ConfigurationException) IOException(java.io.IOException)

Aggregations

ClientAuthentication (org.apache.cxf.configuration.security.ClientAuthentication)6 TrustManagersType (org.apache.cxf.configuration.security.TrustManagersType)5 TLSServerParameters (org.apache.cxf.configuration.jsse.TLSServerParameters)3 TLSServerParametersConfig (org.apache.cxf.configuration.jsse.TLSServerParametersConfig)3 FiltersType (org.apache.cxf.configuration.security.FiltersType)3 BeanDefinitionBuilder (org.springframework.beans.factory.support.BeanDefinitionBuilder)3 Attr (org.w3c.dom.Attr)3 Element (org.w3c.dom.Element)3 NamedNodeMap (org.w3c.dom.NamedNodeMap)3 Node (org.w3c.dom.Node)3 IOException (java.io.IOException)2 GeneralSecurityException (java.security.GeneralSecurityException)2 StringTokenizer (java.util.StringTokenizer)2 IncludeProtocols (org.apache.cxf.configuration.security.IncludeProtocols)2 KeyManagersType (org.apache.cxf.configuration.security.KeyManagersType)2 SecureRandomParameters (org.apache.cxf.configuration.security.SecureRandomParameters)2 ConfigurationException (org.osgi.service.cm.ConfigurationException)2 KeyStore (java.security.KeyStore)1 HashMap (java.util.HashMap)1 KeyManagerFactory (javax.net.ssl.KeyManagerFactory)1