Used to indicate the logical state of a key.
public enum FinSecureKeyState
The FinSecureKeyState is used to track the lifecycle of user and bank keys stored on the security media. The initial key state is Null, which indicates that the key does not exist. The subsequent life cycle is solely managed through the following methods of the IFinSecurityMedia interface:
|StoreKey(FinContact, FinSecureKey)||Starts the lifecycle of a bank key stored by storing it on the security media. The initial state of the bank key to be stored can be either Passive or already Active.|
|GenerateKey(FinContact, FinSecureKeyType, Int32, Int32, Int32)||Starts the lifecycle of a user key by generating it on the security media. A newly generated user key automatically starts out in the New state.|
|ElevateKey(FinContact, FinSecureKey, FinSecureKeyState)||Elevates a key state from New or Passive, to Passive, or Active. This is called after successfully submitting an user key, and after the user acknowledges the hash value of an Ini-Letter.|
|EraseKey(FinContact, FinSecureKey)||Fully erases the key. The associated key state becomes Null.|
|ResetKey(FinContact, FinSecureKey)||Returns a key to its base state without erasing it. The base state of a user key is New, the base state of a bank key is Passive.|
When a security media, such as a smart card, is supplied by a bank, it may already contain keys in any of these states. It is the task of the FinAdmin utility to perform the steps necessary to establish a security media where all needed keys are in the Active state.
The key exists and has been validated and activated.
The key was just generated and must be submitted to the bank. After successful transmission of the key, its state can be elevated to Passive or Active, depending on the result. This key state applies to user keys only.
The key state was not set, or the key does not exist.
The key exists and has been exchanged with the peer party. However, the key has not been formally validated and thus has not been activated. This state is only informational, a key in this state can be used just like an active key.