Package org.opensaml.security.x509.impl

# Class KeyStoreX509CredentialAdapter

java.lang.Object
org.opensaml.security.credential.AbstractCredential
org.opensaml.security.x509.impl.KeyStoreX509CredentialAdapter

All Implemented Interfaces:
  `Credential`, `X509Credential`

public class KeyStoreX509CredentialAdapter extends AbstractCredential implements X509Credential
A wrapper that changes a `KeyStore` in to a `X509Credential`.

## Field Summary

Fields
Modifier and Type
Field
Description
`private final String`
`credentialAlias`
Alias to the credential to be exposed.
`private final char[]`
`keyPassword`
Password for the key to be exposed.
`private final KeyStore`
`keyStore`
Keystore that contains the credential to be exposed.
`private org.slf4j.Logger`
`log`
Class logger.

## Constructor Summary

Constructors
Constructor
Description
`KeyStoreX509CredentialAdapter(KeyStore store, String alias, char[] password)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`Class<? extends Credential>`
`getCredentialType()`
Get the primary type of the credential instance.
`Collection<X509CRL>`
`getCRLs()`
Gets a collection of CRLs associated with the credential.
`X509Certificate`
`getEntityCertificate()`
Gets the public key certificate for the entity.
`Collection<X509Certificate>`
`getEntityCertificateChain()`
Gets an immutable collection of certificates in the entity's trust chain.
`PrivateKey`
`getPrivateKey()`
Gets the private key for the entity if there is one.
`PublicKey`
`getPublicKey()`
Gets the public key for the entity.
`void`
`setEntityId(String newEntityID)`
Sets the ID of the entity this credential is for.
`void`
`setUsageType(UsageType newUsageType)`
Sets the usage type for this credential.

### Methods inherited from class org.opensaml.security.credential.AbstractCredential

`getCredentialContextSet, getEntityId, getKeyNames, getSecretKey, getUsageType, setPrivateKey, setPublicKey, setSecretKey`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.opensaml.security.credential.Credential

`getCredentialContextSet, getEntityId, getKeyNames, getSecretKey, getUsageType`

## Field Details

### log

@Nonnull private org.slf4j.Logger log
Class logger.

### keyStore

@Nonnull private final KeyStore keyStore
Keystore that contains the credential to be exposed.

### credentialAlias

@Nonnull private final String credentialAlias
Alias to the credential to be exposed.

### keyPassword

@Nullable private final char[] keyPassword
Password for the key to be exposed.

## Constructor Details

### KeyStoreX509CredentialAdapter

public KeyStoreX509CredentialAdapter(@Nonnull @ParameterName(name="store") KeyStore store, @Nonnull @ParameterName(name="alias") String alias, @Nullable @ParameterName(name="password") char[] password)
Constructor.

Parameters:
  `store` - store containing key to be exposed
  `alias` - alias to the credential to be exposed
  `password` - password to the key to be exposed

## Method Details

### 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

### 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

### 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

### getPrivateKey

@Nullable public PrivateKey getPrivateKey()
Gets the private key for the entity if there is one.

Specified by:
  `getPrivateKey` in interface `Credential`
Overrides:
  `getPrivateKey` in class `AbstractCredential`
Returns:
  the private key for the entity

### getPublicKey

@Nullable 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

### 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`
Returns:
  the credential type

### setEntityId

public void setEntityId(@Nullable String newEntityID)
Sets the ID of the entity this credential is for.

Overrides:
  `setEntityId` in class `AbstractCredential`
Parameters:
  `newEntityID` - ID of the entity this credential is for

### setUsageType

public void setUsageType(@Nonnull UsageType newUsageType)
Sets the usage type for this credential.

Overrides:
  `setUsageType` in class `AbstractCredential`
Parameters:
  `newUsageType` - usage type for this credential