Class CertificateAuthenticationProvider

  • All Implemented Interfaces:
    AuthenticationProvider

    @ComponentProfile(summary="A Solace native JCSMP certificate authentication provider.",
                      tag="authentication,certificate,solace,jcsmp",
                      since="3.11.1")
    public class CertificateAuthenticationProvider
    extends java.lang.Object
    implements AuthenticationProvider

    A certificate based AuthenticationProvider.

    In the adapter configuration file this class is aliased as solace-jcsmp-certificate-authentication which is the preferred alternative to the fully qualified classname when building your configuration.

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getSslKeyStoreFormat()
      (Optional) This property is used to specify the format of the keystore given in SSL_KEY_STORE.
      java.lang.String getSslKeyStoreLocation()
      The Solace client property to specify the location of your key store.
      java.lang.String getSslKeyStorePassword()
      The Solace client property to specify the password of your key store.
      java.lang.String getSslPrivateKeyAlias()
      This property is used to specify the alias of the private key to use for client certificate authentication.
      java.lang.String getSslTrustedCommonNameList()
      This property is used to specify a comma separated list of acceptable common names for matching with server certificates.
      java.lang.String getSslTrustStoreFormat()
      (Optional) This property is used to specify the format of the truststore given in SSL_TRUST_STORE.
      java.lang.String getSslTrustStoreLocation()
      The Solace client property to specify the location of your trust store.
      java.lang.String getSslTrustStorePassword()
      The Solace client property to specify the password of your trust store.
      java.lang.Boolean getValidateCertificate()
      The Solace session property to determine whether to validate the client certificate.
      java.lang.Boolean getValidateCertificateDate()
      The Solace session property to determine whether to validate the client certificate date.
      com.solacesystems.jcsmp.JCSMPProperties initConnectionProperties()  
      void setSslKeyStoreFormat​(java.lang.String sslKeyStoreFormat)
      (Optional) This property is used to specify the format of the keystore given in SSL_KEY_STORE.
      void setSslKeyStoreLocation​(java.lang.String sslKeyStoreLocation)
      The Solace client property to specify the location of your key store.
      void setSslKeyStorePassword​(java.lang.String sslKeyStorePassword)
      The Solace client property to specify the password of your key store.
      void setSslPrivateKeyAlias​(java.lang.String sslPrivateKeyAlias)
      This property is used to specify the alias of the private key to use for client certificate authentication.
      void setSslTrustedCommonNameList​(java.lang.String sslTrustedCommonNameList)
      This property is used to specify a comma separated list of acceptable common names for matching with server certificates.
      void setSslTrustStoreFormat​(java.lang.String sslTrustStoreFormat)
      (Optional) This property is used to specify the format of the truststore given in SSL_TRUST_STORE.
      void setSslTrustStoreLocation​(java.lang.String sslTrustStoreLocation)
      The Solace client property to specify the location of your trust store.
      void setSslTrustStorePassword​(java.lang.String sslTrustStorePassword)
      The Solace client property to specify the password of your trust store.
      void setValidateCertificate​(java.lang.Boolean validateCertificate)
      The Solace session property to determine whether to validate the client certificate.
      void setValidateCertificateDate​(java.lang.Boolean validateCertificateDate)
      The Solace session property to determine whether to validate the client certificate date.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CertificateAuthenticationProvider

        public CertificateAuthenticationProvider()
    • Method Detail

      • getValidateCertificate

        public java.lang.Boolean getValidateCertificate()
        The Solace session property to determine whether to validate the client certificate.
      • setValidateCertificate

        public void setValidateCertificate​(java.lang.Boolean validateCertificate)
        The Solace session property to determine whether to validate the client certificate.
        Parameters:
        validateCertificate -
      • getValidateCertificateDate

        public java.lang.Boolean getValidateCertificateDate()
        The Solace session property to determine whether to validate the client certificate date.
      • setValidateCertificateDate

        public void setValidateCertificateDate​(java.lang.Boolean validateCertificateDate)
        The Solace session property to determine whether to validate the client certificate date.
        Parameters:
        validateCertificateDate -
      • getSslTrustStoreLocation

        public java.lang.String getSslTrustStoreLocation()
        The Solace client property to specify the location of your trust store.
      • setSslTrustStoreLocation

        public void setSslTrustStoreLocation​(java.lang.String sslTrustStoreLocation)
        The Solace client property to specify the location of your trust store.
        Parameters:
        sslTrustStoreLocation -
      • getSslTrustStorePassword

        public java.lang.String getSslTrustStorePassword()
        The Solace client property to specify the password of your trust store. Note this password can also be encoded using the appropriate Password
      • setSslTrustStorePassword

        public void setSslTrustStorePassword​(java.lang.String sslTrustStorePassword)
        The Solace client property to specify the password of your trust store. Note this password can also be encoded using the appropriate Password
        Parameters:
        sslTrustStorePassword -
      • getSslTrustStoreFormat

        public java.lang.String getSslTrustStoreFormat()
        (Optional) This property is used to specify the format of the truststore given in SSL_TRUST_STORE.
      • setSslTrustStoreFormat

        public void setSslTrustStoreFormat​(java.lang.String sslTrustStoreFormat)
        (Optional) This property is used to specify the format of the truststore given in SSL_TRUST_STORE.
        Parameters:
        sslTrustStoreFormat -
      • getSslTrustedCommonNameList

        public java.lang.String getSslTrustedCommonNameList()
        This property is used to specify a comma separated list of acceptable common names for matching with server certificates. The API performs a case insensitive comparison of the common names provided in this property with the common name in the server certificate. Note that leading and trailing whitespaces are considered to be part of the common names and are not ignored. An empty string means accept all common names. No common name validation will be performed (overriding this property) if SSL_VALIDATE_CERTIFICATE is set to false.
      • setSslTrustedCommonNameList

        public void setSslTrustedCommonNameList​(java.lang.String sslTrustedCommonNameList)
        This property is used to specify a comma separated list of acceptable common names for matching with server certificates. The API performs a case insensitive comparison of the common names provided in this property with the common name in the server certificate. Note that leading and trailing whitespaces are considered to be part of the common names and are not ignored. An empty string means accept all common names. No common name validation will be performed (overriding this property) if SSL_VALIDATE_CERTIFICATE is set to false.
        Parameters:
        sslTrustedCommonNameList -
      • getSslKeyStoreLocation

        public java.lang.String getSslKeyStoreLocation()
        The Solace client property to specify the location of your key store.
      • setSslKeyStoreLocation

        public void setSslKeyStoreLocation​(java.lang.String sslKeyStoreLocation)
        The Solace client property to specify the location of your key store.
        Parameters:
        sslKeyStoreLocation -
      • getSslKeyStorePassword

        public java.lang.String getSslKeyStorePassword()
        The Solace client property to specify the password of your key store. Note this password can also be encoded using the appropriate Password
      • setSslKeyStorePassword

        public void setSslKeyStorePassword​(java.lang.String sslKeyStorePassword)
        The Solace client property to specify the password of your key store. Note this password can also be encoded using the appropriate Password
        Parameters:
        sslKeyStorePassword -
      • getSslKeyStoreFormat

        public java.lang.String getSslKeyStoreFormat()
        (Optional) This property is used to specify the format of the keystore given in SSL_KEY_STORE.
      • setSslKeyStoreFormat

        public void setSslKeyStoreFormat​(java.lang.String sslKeyStoreFormat)
        (Optional) This property is used to specify the format of the keystore given in SSL_KEY_STORE.
        Parameters:
        sslKeyStoreFormat -
      • getSslPrivateKeyAlias

        public java.lang.String getSslPrivateKeyAlias()
        This property is used to specify the alias of the private key to use for client certificate authentication. If there is only one private key entry in the keystore specified by SSL_KEY_STORE, then this property doesn't have to be set.
      • setSslPrivateKeyAlias

        public void setSslPrivateKeyAlias​(java.lang.String sslPrivateKeyAlias)
        This property is used to specify the alias of the private key to use for client certificate authentication. If there is only one private key entry in the keystore specified by SSL_KEY_STORE, then this property doesn't have to be set.
        Parameters:
        sslPrivateKeyAlias -