iaik.xkms
Interface KeyBinding

All Superinterfaces:
UnverifiedKeyBinding, XKeyBindingAbstractType
All Known Subinterfaces:
RecoverKeyBinding, ReissueKeyBinding, RevokeKeyBinding

public interface KeyBinding
extends UnverifiedKeyBinding

A particular key binding and its current status is known (to the issuer).

[199] The <KeyBinding> element is derived from the UnverifiedKeyBinding. It specifies a particular instance of a key binding and its current status as known to the issuer of the key binding.

[200] The <KeyBinding> element extends the UnverifiedKeyBinding with the following additional elements:
<Status> [Required]
The status of the key binding instance.


Element <Status>
[202] The <Status> element specifies the status of a <KeyBinding> instance.

[203] The status value MAY be supplemented with codes that state the status of specific aspects of the key binding status that were validated.

[204] The <Status> element contains the following elements and attribute:
<ValidReason> [Any Number]
A status aspect that was evaluated and found to be Valid.
<IndeterminateReason> [Any Number]
A status aspect that could not be evaluated or was evaluated and returned an Indeterminate result.
<InvalidReason> [Any Number]
A status aspect that was evaluated and found to be Invalid.
StatusValue [Required]
The key binding status.


[206] If reason codes are specified StatusValue attribute MUST be consistent with the reason codes specified as follows:
-- If an <InvalidReason> code is present the StatusValue attibute MUST have the value 'Invalid'.
-- If an <IndeterminateReason> code is present the StatusValue attibute MUST have the either the value 'Indeterminate' or the value 'Invalid'.
-- If neither an <InvalidReason> nor an <IndeterminateReason> code is present the StatusValue attibute MAY have any defined value, i.e. 'Valid', 'Indeterminate' or 'Invalid'.

[206a] Note that the X-KRSS {Revoke, Reissue, Recover} KeyBinding elements are all of type KeyBindingType, which requires a Status element. In the case of Reissue, Revoke, and Recover requests, servers MAY ignore the 'Indeterminate' <Status> status value and Clients MAY set 'Indeterminate' as status value.


Method Summary
 void addIndeterminateReason(ValidityReason reason)
          Adds the given ValidityReason to the list of indeterminate reasons of this KeyBinding.
 void addInvalidReason(ValidityReason reason)
          Adds the given ValidityReason to the list of invalid reasons of this KeyBinding.
 void addValidReason(ValidityReason reason)
          Adds the given ValidityReason to the list of valid reasons of this KeyBinding.
 List<ValidityReason> getIndeterminateReason()
          Gets list of indeterminate reasons.
 List<ValidityReason> getInvalidReason()
          Gets list of invalid reasons.
 Validity getStatusValue()
          Gets the Status of this KeyBinding.
 List<ValidityReason> getValidReason()
          Gets list of valid reasons.
 void removeIndeterminateReason(ValidityReason reason)
          Removes the given ValidityReason from the list of indeterminate reasons of this KeyBinding.
 void removeInvalidReason(ValidityReason reason)
          Removes the given ValidityReason from the list of invalid reasons of this KeyBinding.
 void removeValidReason(ValidityReason reason)
          Removes the given ValidityReason from the list of valid reasons of this KeyBinding.
 void setStatusValue(Validity status)
          Sets the Status of this KeyBinding to the given value.
 
Methods inherited from interface UnverifiedKeyBinding
getValidityInterval, setValidityInterval
 
Methods inherited from interface XKeyBindingAbstractType
addKeyUsage, addUseKeyWith, addUseKeyWith, getId, getKeyInfo, getKeyUsage, getUseKeyWithList, getUseKeyWithSize, removeKeyUsage, setId, setKeyInfo
 

Method Detail

setStatusValue

void setStatusValue(Validity status)
Sets the Status of this KeyBinding to the given value.

Parameters:
status - new status for the Status of this KeyBinding

getStatusValue

Validity getStatusValue()
Gets the Status of this KeyBinding.

Returns:
Status of this KeyBinding

addValidReason

void addValidReason(ValidityReason reason)
Adds the given ValidityReason to the list of valid reasons of this KeyBinding.

Parameters:
reason - ValidityReason to add

removeValidReason

void removeValidReason(ValidityReason reason)
Removes the given ValidityReason from the list of valid reasons of this KeyBinding.

Parameters:
reason - ValidityReason to remove

getValidReason

List<ValidityReason> getValidReason()
Gets list of valid reasons.

Note: The returned list is a copy of the internal list

Returns:
list of valid reasons

addInvalidReason

void addInvalidReason(ValidityReason reason)
Adds the given ValidityReason to the list of invalid reasons of this KeyBinding.

Parameters:
reason - ValidityReason to add

removeInvalidReason

void removeInvalidReason(ValidityReason reason)
Removes the given ValidityReason from the list of invalid reasons of this KeyBinding.

Parameters:
reason - ValidityReason to remove

getInvalidReason

List<ValidityReason> getInvalidReason()
Gets list of invalid reasons.

Note: The returned list is a copy of the internal list

Returns:
list of invalid reasons

addIndeterminateReason

void addIndeterminateReason(ValidityReason reason)
Adds the given ValidityReason to the list of indeterminate reasons of this KeyBinding.

Parameters:
reason - ValidityReason to add

removeIndeterminateReason

void removeIndeterminateReason(ValidityReason reason)
Removes the given ValidityReason from the list of indeterminate reasons of this KeyBinding.

Parameters:
reason - ValidityReason to remove

getIndeterminateReason

List<ValidityReason> getIndeterminateReason()
Gets list of indeterminate reasons.

Note: The returned list is a copy of the internal list

Returns:
list of indeterminate reasons