Class DefaultLoadCredentialsStrategy

  • All Implemented Interfaces:
    LoadCredentialsStrategy, VOMSEnvironmentVariables

    public class DefaultLoadCredentialsStrategy
    extends AbstractLoadCredentialsStrategy
    The default strategy used to load user credentials when no file is explicitly pointed out by the user of this API. Credentials are searched in the following places (in sequence):
    • If the X509_USER_CERT and X509_USER_KEY environment variables are set, their values are used to load the user credentials
    • If the X509_USER_CERT and X509_USER_KEY system properties are set, their values are used to load the user credentials
    • If the PKCS12_USER_CERT environment variable is set, its value is used to load the user credentials.
    • If the PKCS12_USER_CERT system property is set, its value is used to load the user credentials.
    • The content of the .globus directory in the user's home is searched for a PEM certificate (in the usercert.pem and userkey.pem files).
    • The content of the .globus directory in the user's home is searched for a PKC12 certificate (in the usercert.p12 file).
    • Field Detail

      • GLOBUS_PKCS12_CRED_PATH_SUFFIX

        private static final java.lang.String GLOBUS_PKCS12_CRED_PATH_SUFFIX
        See Also:
        Constant Field Values
      • GLOBUS_PEM_CERT_PATH_SUFFIX

        private static final java.lang.String GLOBUS_PEM_CERT_PATH_SUFFIX
        See Also:
        Constant Field Values
      • GLOBUS_PEM_KEY_PATH_SUFFIX

        private static final java.lang.String GLOBUS_PEM_KEY_PATH_SUFFIX
        See Also:
        Constant Field Values
      • home

        private java.lang.String home
      • tmpDir

        private java.lang.String tmpDir
    • Constructor Detail

      • DefaultLoadCredentialsStrategy

        public DefaultLoadCredentialsStrategy​(java.lang.String homeFolder,
                                              java.lang.String tempDir,
                                              LoadCredentialsEventListener listener)
        Constructs a strategy with specified home and temp directories and a listener.
        Parameters:
        homeFolder - the home directory path
        tempDir - the temporary directory path
        listener - event listener for credential loading
      • DefaultLoadCredentialsStrategy

        public DefaultLoadCredentialsStrategy​(java.lang.String homeFolder)
        Constructs a strategy with a specified home directory.
        Parameters:
        homeFolder - the home directory path
      • DefaultLoadCredentialsStrategy

        public DefaultLoadCredentialsStrategy()
        Constructs a strategy using default system properties.
      • DefaultLoadCredentialsStrategy

        public DefaultLoadCredentialsStrategy​(LoadCredentialsEventListener listener)
        Constructs a strategy with a specified event listener.
        Parameters:
        listener - the credential loading event listener
    • Method Detail

      • getFromEnvOrSystemProperty

        public java.lang.String getFromEnvOrSystemProperty​(java.lang.String propName)
        Looks for the value of a given property in the environment or system properties.
        Parameters:
        propName - the property to look for
        Returns:
        the property value, or null if not found
      • loadCredentials

        public eu.emi.security.authn.x509.X509Credential loadCredentials​(eu.emi.security.authn.x509.helpers.PasswordSupplier pf)
        Loads user credentials using the available strategies.
        Parameters:
        pf - the password supplier
        Returns:
        the loaded credentials
      • loadProxyFromUID

        protected eu.emi.security.authn.x509.X509Credential loadProxyFromUID()
        Loads a proxy credential based on the user ID.
        Returns:
        the loaded proxy credential or null if not found
      • loadProxyFromEnv

        protected eu.emi.security.authn.x509.X509Credential loadProxyFromEnv()
        Loads a proxy credential from environment variables.
        Returns:
        the loaded proxy credential or null if not found
      • loadPEMCredentialFromEnv

        protected eu.emi.security.authn.x509.X509Credential loadPEMCredentialFromEnv​(eu.emi.security.authn.x509.helpers.PasswordSupplier pf)
        Loads a PEM credential from environment variables.
        Parameters:
        pf - the password supplier
        Returns:
        the loaded credential or null if not found
      • loadPKCS12CredentialFromEnv

        protected eu.emi.security.authn.x509.X509Credential loadPKCS12CredentialFromEnv​(eu.emi.security.authn.x509.helpers.PasswordSupplier pf)
        Loads a PKCS12 credential from environment variables.
        Parameters:
        pf - the password supplier
        Returns:
        the loaded credential or null if not found
      • loadPKCS12CredentialsFromGlobusDir

        protected eu.emi.security.authn.x509.X509Credential loadPKCS12CredentialsFromGlobusDir​(eu.emi.security.authn.x509.helpers.PasswordSupplier pf)
        Loads a PKCS12 credential from the Globus directory.
        Parameters:
        pf - the password supplier
        Returns:
        the loaded credential or null if not found
      • loadPEMCredentialsFromGlobusDir

        protected eu.emi.security.authn.x509.X509Credential loadPEMCredentialsFromGlobusDir​(eu.emi.security.authn.x509.helpers.PasswordSupplier pf)
        Loads a PEM credential from the Globus directory.
        Parameters:
        pf - the password supplier
        Returns:
        the loaded credential or null if not found