Class BasicX509Credential

All Implemented Interfaces:
Credential, MutableCredential, X509Credential

public class BasicX509Credential
extends BasicCredential
implements X509Credential
A basic implementation of X509Credential.
  • Field Details

  • Constructor Details

    • BasicX509Credential

      public BasicX509Credential​(@Nonnull @ParameterName(name="entityCertificate") X509Certificate entityCertificate)
      Constructor.
      Parameters:
      entityCertificate - the credential entity certificate
    • BasicX509Credential

      public BasicX509Credential​(@Nonnull @ParameterName(name="entityCertificate") X509Certificate entityCertificate, @ParameterName(name="privateKey") @Nonnull PrivateKey privateKey)
      Constructor.
      Parameters:
      entityCertificate - the credential entity certificate
      privateKey - the credential private key
  • Method Details

    • getCredentialType

      @Nonnull public Class<? extends Credential> getCredentialType()
      Get the primary type of the credential instance. This will usually be the primary sub-interface of Credential implemented by an implementation.
      Specified by:
      getCredentialType in interface Credential
      Overrides:
      getCredentialType in class BasicCredential
      Returns:
      the credential type
    • getCRLs

      @Nullable public Collection<X509CRL> getCRLs()
      Gets a collection of CRLs associated with the credential.
      Specified by:
      getCRLs in interface X509Credential
      Returns:
      CRLs associated with the credential
    • setCRLs

      public void setCRLs​(@Nullable Collection<X509CRL> newCRLs)
      Sets the CRLs for this credential.
      Parameters:
      newCRLs - CRLs for this credential
    • getEntityCertificate

      @Nonnull public X509Certificate getEntityCertificate()
      Gets the public key certificate for the entity. The public key of this certificate will be the same key obtained from Credential.getPublicKey().
      Specified by:
      getEntityCertificate in interface X509Credential
      Returns:
      the public key certificate for the entity
    • setEntityCertificate

      public void setEntityCertificate​(@Nonnull X509Certificate newEntityCertificate)
      Sets the entity certificate for this credential.
      Parameters:
      newEntityCertificate - entity certificate for this credential
    • getPublicKey

      @Nonnull public PublicKey getPublicKey()
      Gets the public key for the entity.
      Specified by:
      getPublicKey in interface Credential
      Overrides:
      getPublicKey in class AbstractCredential
      Returns:
      public key for the entity
    • setPublicKey

      public void setPublicKey​(PublicKey newPublicKey)
      This operation is unsupported for X.509 credentials. The public key will be retrieved automatically from the entity certificate.
      Specified by:
      setPublicKey in interface MutableCredential
      Overrides:
      setPublicKey in class BasicCredential
      Parameters:
      newPublicKey - not supported
    • getEntityCertificateChain

      @Nonnull public Collection<X509Certificate> getEntityCertificateChain()
      Gets an immutable collection of certificates in the entity's trust chain. The entity certificate is contained within this list. No specific ordering of the certificates is guaranteed.
      Specified by:
      getEntityCertificateChain in interface X509Credential
      Returns:
      entities certificate chain
    • setEntityCertificateChain

      public void setEntityCertificateChain​(@Nonnull Collection<X509Certificate> newCertificateChain)
      Sets the entity certificate chain for this credential. This MUST include the entity certificate.
      Parameters:
      newCertificateChain - entity certificate chain for this credential
    • getSecretKey

      @Nullable public SecretKey getSecretKey()
      This operation is unsupported for X.509 credentials.
      Specified by:
      getSecretKey in interface Credential
      Overrides:
      getSecretKey in class AbstractCredential
      Returns:
      null
    • setSecretKey

      public void setSecretKey​(SecretKey newSecretKey)
      This operation is unsupported for X.509 credentials.
      Specified by:
      setSecretKey in interface MutableCredential
      Overrides:
      setSecretKey in class BasicCredential
      Parameters:
      newSecretKey - unsupported