Package org.opensaml.spring.credential

# Class AbstractBasicCredentialFactoryBean

java.lang.Object
net.shibboleth.shared.spring.factory.AbstractFactoryBean<T>
net.shibboleth.shared.spring.factory.AbstractComponentAwareFactoryBean<T>
org.opensaml.spring.credential.AbstractCredentialFactoryBean<BasicCredential>
org.opensaml.spring.credential.AbstractBasicCredentialFactoryBean

All Implemented Interfaces:
  `Aware`, `BeanClassLoaderAware`, `BeanFactoryAware`, `DisposableBean`, `FactoryBean<BasicCredential>`, `InitializingBean`

Direct Known Subclasses:
  `BasicInlineCredentialFactoryBean`, `BasicResourceCredentialFactoryBean`

public abstract class AbstractBasicCredentialFactoryBean extends AbstractCredentialFactoryBean<BasicCredential>
A factory bean to collect information to do with a `BasicCredential`.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static enum`
`AbstractBasicCredentialFactoryBean.SecretKeyEncoding`
Form of encoding for SecretKey info.

## Field Summary

Fields
Modifier and Type
Field
Description
`private final org.slf4j.Logger`
`log`
Log.
`private String`
`secretKeyAlgorithm`
The SecretKey algorithm.
`private AbstractBasicCredentialFactoryBean.SecretKeyEncoding`
`secretKeyEncoding`
The SecretKey encoding used.

### Fields inherited from interface org.springframework.beans.factory.FactoryBean

`OBJECT_TYPE_ATTRIBUTE`

## Constructor Summary

Constructors
Constructor
Description
`AbstractBasicCredentialFactoryBean()`

## Method Summary

Modifier and Type
Method
Description
`protected byte[]`
`decodeSecretKey(byte[] data)`
Decode the SecretKey data, based on the specified encoding.
`protected byte[]`
`decodeSecretKey(String data)`
Decode the SecretKey data, based on the specified encoding.
`protected BasicCredential`
`doCreateInstance()`
`Class<?>`
`getObjectType()`
`protected abstract PrivateKey`
`getPrivateKey()`
Get the configured Private key.
`protected abstract PublicKey`
`getPublicKey()`
return the configured Public Key.
`protected abstract SecretKey`
`getSecretKey()`
return the configured Secret Key.
`String`
`getSecretKeyAlgorithm()`
Get the algorithm for the SecretKey.
`AbstractBasicCredentialFactoryBean.SecretKeyEncoding`
`getSecretKeyEncoding()`
Get the SecretKey encoding.
`void`
`setSecretKeyAlgorithm(String algorithm)`
Set the algorithm for the SecretKey.
`void`
`setSecretKeyEncoding(AbstractBasicCredentialFactoryBean.SecretKeyEncoding encoding)`
Set the SecretKey encoding.

### Methods inherited from class org.opensaml.spring.credential.AbstractCredentialFactoryBean

`getConfigDescription, getEntityID, getKeyNames, getPrivateKeyPassword, getUsageType, setConfigDescription, setEntityID, setKeyNames, setPrivateKeyPassword, setUsageType`

### Methods inherited from class net.shibboleth.shared.spring.factory.AbstractComponentAwareFactoryBean

`createInstance, destroyInstance, setThrowIfNull`

### Methods inherited from class net.shibboleth.shared.spring.factory.AbstractFactoryBean

`afterPropertiesSet, destroy, getBeanFactory, getBeanTypeConverter, getEarlySingletonInterfaces, getObject, isSingleton, setBeanClassLoader, setBeanFactory, setSingleton`

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

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

## Field Details

### log

@Nonnull private final org.slf4j.Logger log
Log.

### secretKeyAlgorithm

@Nullable private String secretKeyAlgorithm
The SecretKey algorithm.

### secretKeyEncoding

@Nullable private AbstractBasicCredentialFactoryBean.SecretKeyEncoding secretKeyEncoding
The SecretKey encoding used.

## Constructor Details

### AbstractBasicCredentialFactoryBean

public AbstractBasicCredentialFactoryBean()

## Method Details

### decodeSecretKey

@Nonnull protected byte[] decodeSecretKey(String data)
Decode the SecretKey data, based on the specified encoding.

Parameters:
  `data` - the Secret key data
Returns:
  the decoded SecretKey byte array

### decodeSecretKey

@Nonnull protected byte[] decodeSecretKey(byte[] data)
Decode the SecretKey data, based on the specified encoding.

Parameters:
  `data` - the Secret key data
Returns:
  the decoded SecretKey byte array

### doCreateInstance

@Nonnull protected BasicCredential doCreateInstance() throws Exception

Specified by:
  `doCreateInstance` in class `AbstractComponentAwareFactoryBean<BasicCredential>`
Throws:
  `Exception`

### getObjectType

public Class<?> getObjectType()

Specified by:
  `getObjectType` in interface `FactoryBean<BasicCredential>`
Specified by:
  `getObjectType` in class `AbstractFactoryBean<BasicCredential>`

### getSecretKeyAlgorithm

@Nullable public String getSecretKeyAlgorithm()
Get the algorithm for the SecretKey.

Returns:
  Returns the SecretKey algorithm

### setSecretKeyAlgorithm

public void setSecretKeyAlgorithm(@Nonnull String algorithm)
Set the algorithm for the SecretKey.

Parameters:
  `algorithm` - The algorithm to set.

### getSecretKeyEncoding

public AbstractBasicCredentialFactoryBean.SecretKeyEncoding getSecretKeyEncoding()
Get the SecretKey encoding. Defaults to: base64.

Returns:
  the encoding

### setSecretKeyEncoding

public void setSecretKeyEncoding(@Nonnull AbstractBasicCredentialFactoryBean.SecretKeyEncoding encoding)
Set the SecretKey encoding. Defaults to: base64

Parameters:
  `encoding` - the new encoding

### getPublicKey

@Nullable protected abstract PublicKey getPublicKey()
return the configured Public Key.

Returns:
  the key, or none if not configured.

### getPrivateKey

@Nullable protected abstract PrivateKey getPrivateKey()
Get the configured Private key.

Returns:
  the key or null if non configured

### getSecretKey

@Nullable protected abstract SecretKey getSecretKey()
return the configured Secret Key.

Returns:
  the key, or none if not configured.