com.businessobjects.sdk.plugin.desktop.cryptographickey
Interface ICryptographicKeyBase

All Known Subinterfaces:
ICryptographicKey

public interface ICryptographicKeyBase

This interface allows you to manage cryptographic keys. To change the state of a cryptographic key, or to obtain its secret value, you must be authenticated as a member of the CryptographyOfficers group. You can access the cryptographic key state without being authenticated as a member of the CryptographyOfficers group.

Since:
4.0

Nested Class Summary
static class ICryptographicKeyBase.KeyState
          Represents the current state of the cryptographic key.
 
Field Summary
static java.lang.String KIND
           The Kind used to identify this object type.
static java.lang.String PROGID
           The ProgID used to identify this object type.
 
Method Summary
 long getActivePeriodInMilliseconds()
           Returns the number of milliseconds that the key has been active.
 ICryptographicKeyBase.KeyState getKeyState()
           Returns the state of the key.
 byte[] getKeyValue()
           Returns the secret value of the key.
 boolean isCompromised()
           Returns whether or not the key has been compromised.
 void resumeRekey()
           Resumes the process of re-encrypting data with a new key.
 void setCompromised()
           
 void startRekey()
           Start the process of re-encrypting data with a new key.
 void suspendRekey()
           Suspends the process of re-encrypting data with a new key.
 

Field Detail

KIND

static final java.lang.String KIND

The Kind used to identify this object type.

See Also:
Constant Field Values

PROGID

static final java.lang.String PROGID

The ProgID used to identify this object type.

See Also:
Constant Field Values
Method Detail

getKeyValue

byte[] getKeyValue()

Returns the secret value of the key. To access this value, you must authenticated as a user that belongs to the CryptographyOfficers group. Otherwise, this method returns null.

Returns:
The value of the key, or null if you are not authenticated as a member of the CryptographyOfficers group.
InfoObject properties to query for:
SI_VALUE

getKeyState

ICryptographicKeyBase.KeyState getKeyState()
                                           throws SDKException

Returns the state of the key.

Returns:
The state of the key.
Throws:
SDKException - Thrown if current state is not available.
InfoObject properties to query for:
SI_KEY_STATE

suspendRekey

void suspendRekey()
                  throws SDKException

Suspends the process of re-encrypting data with a new key. This changes the state of a cryptographic key to KeyState.REKEY_SUSPENDED. The re-encryption process must be in progress (i.e. the key must be in the state KeyState.REKEY_IN_PROGRESS) before the re-encryption process can be suspended. You must be authenticated as a user that belongs to the CryptographyOfficers group in order to change the state of a cryptographic key and commit it to the CMS.

Throws:
SDKException - Thrown if the key is not in the state KeyState.REKEY_IN_PROGRESS.
InfoObject properties to query for:
SI_KEY_STATE

resumeRekey

void resumeRekey()
                 throws SDKException

Resumes the process of re-encrypting data with a new key. This changes the state of a cryptographic key to KeyState.REKEY_IN_PROGRESS. The re-encryption process must be suspended (i.e. the key must be in the state KeyState.REKEY_SUSPENDED) before the re-enryption process can be resumed. You must be authenticated as a user that belongs to the CryptographyOfficers group in order to change the state of a cryptographic key and commit it to the CMS.

Throws:
SDKException - Thrown if the key is not in the state KeyState.REKEY_SUSPENDED.
InfoObject properties to query for:
SI_KEY_STATE

startRekey

void startRekey()
                throws SDKException

Start the process of re-encrypting data with a new key. This changes the state of a cryptographic key to KeyState.REKEY_IN_PROGRESS. The key must be deactived (i.e. the key must be in the state KeyState.DEACTIVATED) before the re-encryption process can begin.

Once the re-encryption process is complete, the key is set to the state KeyState.REVOKED and may be deleted from the repository. You must be authenticated as a user that belongs to the CryptographyOfficers group in order to change the state of a cryptographic key and commit it to the CMS.

Throws:
SDKException - Thrown if the key is not in the state KeyState.DEACTIVATED.
InfoObject properties to query for:
SI_KEY_STATE

getActivePeriodInMilliseconds

long getActivePeriodInMilliseconds()
                                   throws SDKException

Returns the number of milliseconds that the key has been active. This method throws an exception if the key is not in the state KeyState.ACTIVE.

Returns:
The number of milliseconds that the key has been active.
Throws:
SDKException - Thrown if key is not active or the creation time is not known.
InfoObject properties to query for:
SI_CREATION_TIME

isCompromised

boolean isCompromised()

Returns whether or not the key has been compromised.

Returns:
true if the key has been compromised, false otherwise.
InfoObject properties to query for:
SI_IS_COMPROMISED

setCompromised

void setCompromised()
                    throws SDKException
Throws:
SDKException