private RadiusAuthenticator getRadiusAuthenticator() throws GuacamoleException {

        RadiusAuthenticator radAuth = confService.getRadiusAuthProtocol().getAuthenticator();

        // If we're using any of the TLS protocols, we need to configure them
        if (radAuth instanceof EAPTLSAuthenticator) {

            EAPTLSAuthenticator tlsAuth = (EAPTLSAuthenticator) radAuth;

            // If provided, use the configured certificate authority for
            // validating the connection to the RADIUS server
            File caFile = confService.getRadiusCAFile();
            if (caFile != null) {
                tlsAuth.setCaFile(caFile.toString());
                tlsAuth.setCaFileType(confService.getRadiusCAType());
                String caPassword = confService.getRadiusCAPassword();
                if (caPassword != null)
                    tlsAuth.setCaPassword(caPassword);
            }

            // Use configured password for unlocking the RADIUS private key,
            // if specified
            String keyPassword = confService.getRadiusKeyPassword();
            if (keyPassword != null)
                tlsAuth.setKeyPassword(keyPassword);

            // Use configured RADIUS certificate and private key (always
            // required for TLS-based protocols)
            File keyFile = confService.getRadiusKeyFile();
            tlsAuth.setKeyFile(keyFile.toString());
            tlsAuth.setKeyFileType(confService.getRadiusKeyType());
            tlsAuth.setTrustAll(confService.getRadiusTrustAll());

        }

        // If we're using EAP-TTLS, we need to define tunneled protocol
        if (radAuth instanceof EAPTTLSAuthenticator) {
            RadiusAuthenticationProtocol innerProtocol = confService.getRadiusEAPTTLSInnerProtocol();
            ((EAPTTLSAuthenticator)radAuth).setInnerProtocol(innerProtocol.JRADIUS_PROTOCOL_NAME);
        }

        return radAuth;

    }
Creates a new instance of RadiusAuthenticator, configured with
parameters specified within guacamole.properties.

@return
    A new RadiusAuthenticator instance which has been configured
    with parameters from guacamole.properties.

@throws GuacamoleException
    If the configuration cannot be read or the inner protocol is
    not configured when the client is set up for a tunneled
    RADIUS connection.
extensions/guacamole-auth-radius/src/main/java/org/apache/guacamole/auth/radius/RadiusConnectionService.java