Main Page | Modules | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

XKMSKeyBindingAbstractType Class Reference
[XML Key Management System Implementation]

#include <XKMSKeyBindingAbstractType.hpp>

Inheritance diagram for XKMSKeyBindingAbstractType:

Inheritance graph
[legend]
List of all members.

Detailed Description

Interface definition for the KeyBindingAbstractType.

The <KeyBindingAbstractType> is an abstract type on which all KeyBinding components are build.

The schema definition for KeyBindingAbstractType is as follows :

   <!-- KeyBindingAbstractType-->
   <complexType name="KeyBindingAbstractType" abstract="true">
      <sequence>
         <element ref="ds:KeyInfo" minOccurs="0"/>
         <element ref="xkms:KeyUsage" minOccurs="0" maxOccurs="3"/>
         <element ref="xkms:UseKeyWith" minOccurs="0" 
               maxOccurs="unbounded"/>
      </sequence>
      <attribute name="Id" type="ID" use="optional"/>
   </complexType>
   <!-- /KeyBindingAbstractType-->


Constructors and Destructors

virtual ~XKMSKeyBindingAbstractType ()
 XKMSKeyBindingAbstractType ()

Public Member Functions

Getter Interface Methods
virtual XERCES_CPP_NAMESPACE_QUALIFIER
DOMElement * 
getElement (void) const =0
virtual const XMLCh * getId (void) const =0
 Get the Id for the KeyBinding.
virtual DSIGKeyInfoList * getKeyInfoList (void) const =0
 Obtain the KeyInfo elements for this KeyBinding.
virtual bool getEncryptionKeyUsage (void) const =0
 Determine if an Encryption key usage is set.
virtual bool getSignatureKeyUsage (void) const =0
 Determine if an Signature key usage is set.
virtual bool getExchangeKeyUsage (void) const =0
 Determine if an Exchange key usage is set.
Setter interface methods
virtual void setId (const XMLCh *id=NULL)=0
 Set the Id URI for the Message.
virtual void setEncryptionKeyUsage (void)=0
 Set Encryption key usage on.
virtual void setSignatureKeyUsage (void)=0
 Set Signature key usage on.
virtual void setExchangeKeyUsage (void)=0
 Set Exchange key usage on.
KeyInfo Element Manipulation
virtual DSIGKeyInfoList * getKeyInfoList (void)=0
 Get the list of <KeyInfo> elements.
virtual void clearKeyInfo (void)=0
 Clear out all KeyInfo elements in the KeyBinding.
virtual DSIGKeyInfoValue * appendDSAKeyValue (const XMLCh *P, const XMLCh *Q, const XMLCh *G, const XMLCh *Y)=0
 Append a DSA KeyValue element.
virtual DSIGKeyInfoValue * appendRSAKeyValue (const XMLCh *modulus, const XMLCh *exponent)=0
 Append a RSA KeyValue element.
virtual DSIGKeyInfoX509 * appendX509Data (void)=0
 Append a X509Data element.
virtual DSIGKeyInfoName * appendKeyName (const XMLCh *name, bool isDName=false)=0
 Append a KeyName element.
virtual DSIGKeyInfoPGPData * appendPGPData (const XMLCh *id, const XMLCh *packet)=0
 Append a PGPData element.
virtual DSIGKeyInfoSPKIData * appendSPKIData (const XMLCh *sexp)=0
 Append a SPKIData element.
virtual DSIGKeyInfoMgmtData * appendMgmtData (const XMLCh *data)=0
 Append a MgmtData element.
UseKeyWith handling
virtual int getUseKeyWithSize (void) const =0
 Find number of UseKeyWith elements.
virtual XKMSUseKeyWith * getUseKeyWithItem (int item) const =0
virtual XKMSUseKeyWith * appendUseKeyWithItem (const XMLCh *application, const XMLCh *identifier)=0


Constructor & Destructor Documentation

XKMSKeyBindingAbstractType::XKMSKeyBindingAbstractType (   )  [inline, protected]
 

virtual XKMSKeyBindingAbstractType::~XKMSKeyBindingAbstractType (   )  [inline, virtual]
 


Member Function Documentation

virtual DSIGKeyInfoValue* XKMSKeyBindingAbstractType::appendDSAKeyValue (  const XMLCh *  P,
const XMLCh *  Q,
const XMLCh *  G,
const XMLCh *  Y
)  [pure virtual]
 

Append a DSA KeyValue element.

Add a new KeyInfo element for a DSA Value

Parameters:
P Base64 encoded value of P
Q Base64 encoded value of Q
G Base64 encoded value of G
Y Base64 encoded value of Y
Returns:
A pointer to the created object.

virtual DSIGKeyInfoName* XKMSKeyBindingAbstractType::appendKeyName (  const XMLCh *  name,
bool  isDName = false
)  [pure virtual]
 

Append a KeyName element.

Add a new KeyInfo element for a key name.

Parameters:
name The name of the key to set in the XML
isDName Treat the name as a Distinguished name and encode accordingly
Returns:
A pointer to the created object

virtual DSIGKeyInfoMgmtData* XKMSKeyBindingAbstractType::appendMgmtData (  const XMLCh *  data  )  [pure virtual]
 

Append a MgmtData element.

Add a new KeyInfo element for Management Data

Parameters:
data The string to set in the MgmtData element
Returns:
A pointer to the created object

virtual DSIGKeyInfoPGPData* XKMSKeyBindingAbstractType::appendPGPData (  const XMLCh *  id,
const XMLCh *  packet
)  [pure virtual]
 

Append a PGPData element.

Add a new KeyInfo element for a PGP key.

Parameters:
id The ID of the key to set in the XML (base64 encoded - NULL if none)
packet The Packet information to set in the XML (base64 encoded - NULL if none)
Returns:
A pointer to the created object

virtual DSIGKeyInfoValue* XKMSKeyBindingAbstractType::appendRSAKeyValue (  const XMLCh *  modulus,
const XMLCh *  exponent
)  [pure virtual]
 

Append a RSA KeyValue element.

Add a new KeyInfo element for a RSA Value

Parameters:
modulus Base64 encoded value of the modulus
exponent Base64 encoded value of exponent
Returns:
A pointer to the created object.

virtual DSIGKeyInfoSPKIData* XKMSKeyBindingAbstractType::appendSPKIData (  const XMLCh *  sexp  )  [pure virtual]
 

Append a SPKIData element.

Add a new KeyInfo element for a set of SPKI S-expressions

Parameters:
sexp The initial S-expression to set in the SPKIData element
Returns:
A pointer to the created object

virtual XKMSUseKeyWith* XKMSKeyBindingAbstractType::appendUseKeyWithItem (  const XMLCh *  application,
const XMLCh *  identifier
)  [pure virtual]
 

virtual DSIGKeyInfoX509* XKMSKeyBindingAbstractType::appendX509Data (  void   )  [pure virtual]
 

Append a X509Data element.

Add a new KeyInfo element for X509 data.

Note:
The added element is empty. The caller must make use of the returned object to set the required values.
Returns:
A pointer to the created object.

virtual void XKMSKeyBindingAbstractType::clearKeyInfo (  void   )  [pure virtual]
 

Clear out all KeyInfo elements in the KeyBinding.

This function will delete all KeyInfo elements from both the KeyBinding object and the associated DOM.

virtual XERCES_CPP_NAMESPACE_QUALIFIER DOMElement* XKMSKeyBindingAbstractType::getElement (  void   )  const [pure virtual]
 

virtual bool XKMSKeyBindingAbstractType::getEncryptionKeyUsage (  void   )  const [pure virtual]
 

Determine if an Encryption key usage is set.

KeyBinding elements may define Encryption, Signature of Exchange as being permitted for a particular key.

Returns:
whether the Encryption KeyUsage element is set

virtual bool XKMSKeyBindingAbstractType::getExchangeKeyUsage (  void   )  const [pure virtual]
 

Determine if an Exchange key usage is set.

KeyBinding elements may define Encryption, Signature of Exchange as being permitted for a particular key.

Returns:
whether the Exchange KeyUsage element is set

virtual const XMLCh* XKMSKeyBindingAbstractType::getId (  void   )  const [pure virtual]
 

Get the Id for the KeyBinding.

All KeyBinding elements MAY have an Id attribute that identifies the binding. This method is used to retrieve a pointer to the Id string.

Returns:
a pointer to the Id string (owned by the library)

virtual DSIGKeyInfoList* XKMSKeyBindingAbstractType::getKeyInfoList (  void   )  [pure virtual]
 

Get the list of <KeyInfo> elements.

This function recovers list that contains the KeyInfo elements read in from the DOM document.

Returns:
A pointer to the (library owned) KeyInfo list, or NULL if none exists in the KeyBinding.

virtual DSIGKeyInfoList* XKMSKeyBindingAbstractType::getKeyInfoList (  void   )  const [pure virtual]
 

Obtain the KeyInfo elements for this KeyBinding.

KeyBinding elements may provide information about the keys that are being bound.

Returns:
A KeyInfoList object containing all the KeyInfo elements

virtual bool XKMSKeyBindingAbstractType::getSignatureKeyUsage (  void   )  const [pure virtual]
 

Determine if an Signature key usage is set.

KeyBinding elements may define Encryption, Signature of Exchange as being permitted for a particular key.

Returns:
whether the Signature KeyUsage element is set

virtual XKMSUseKeyWith* XKMSKeyBindingAbstractType::getUseKeyWithItem (  int  item  )  const [pure virtual]
 

virtual int XKMSKeyBindingAbstractType::getUseKeyWithSize (  void   )  const [pure virtual]
 

Find number of UseKeyWith elements.

Returns:
the number of UseKeyWith items within the KeyBinding

virtual void XKMSKeyBindingAbstractType::setEncryptionKeyUsage (  void   )  [pure virtual]
 

Set Encryption key usage on.

KeyBinding elements may define Encryption, Signature of Exchange as being permitted for a particular key. When first created, all these elements are off (which indicates that all are permitted).

This call activates the Encryption key usage for this KeyBinding

virtual void XKMSKeyBindingAbstractType::setExchangeKeyUsage (  void   )  [pure virtual]
 

Set Exchange key usage on.

KeyBinding elements may define Encryption, Signature of Exchange as being permitted for a particular key. When first created, all these elements are off (which indicates that all are permitted).

This call activates the Exchange key usage for this KeyBinding

virtual void XKMSKeyBindingAbstractType::setId (  const XMLCh *  id = NULL  )  [pure virtual]
 

Set the Id URI for the Message.

Allows a calling application to set a new Id for the KeyBinding

Parameters:
id The Id to set - if NULL, the library will generate a random Id

virtual void XKMSKeyBindingAbstractType::setSignatureKeyUsage (  void   )  [pure virtual]
 

Set Signature key usage on.

KeyBinding elements may define Encryption, Signature of Exchange as being permitted for a particular key. When first created, all these elements are off (which indicates that all are permitted).

This call activates the Signature key usage for this KeyBinding


The documentation for this class was generated from the following file:
Generated on Sun Jan 28 19:49:29 2007 for XML-Security-C by  doxygen 1.4.2