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 DSIGKeyInfoListgetKeyInfoList (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 DSIGKeyInfoListgetKeyInfoList (void)=0
 Get the list of <KeyInfo> elements.
virtual void clearKeyInfo (void)=0
 Clear out all KeyInfo elements in the KeyBinding.
virtual DSIGKeyInfoValueappendDSAKeyValue (const XMLCh *P, const XMLCh *Q, const XMLCh *G, const XMLCh *Y)=0
 Append a DSA KeyValue element.
virtual DSIGKeyInfoValueappendRSAKeyValue (const XMLCh *modulus, const XMLCh *exponent)=0
 Append a RSA KeyValue element.
virtual DSIGKeyInfoX509appendX509Data (void)=0
 Append a X509Data element.
virtual DSIGKeyInfoNameappendKeyName (const XMLCh *name, bool isDName=false)=0
 Append a KeyName element.
virtual DSIGKeyInfoPGPDataappendPGPData (const XMLCh *id, const XMLCh *packet)=0
 Append a PGPData element.
virtual DSIGKeyInfoSPKIDataappendSPKIData (const XMLCh *sexp)=0
 Append a SPKIData element.
virtual DSIGKeyInfoMgmtDataappendMgmtData (const XMLCh *data)=0
 Append a MgmtData element.
UseKeyWith handling
virtual int getUseKeyWithSize (void) const =0
 Find number of UseKeyWith elements.
virtual XKMSUseKeyWithgetUseKeyWithItem (int item) const =0
virtual XKMSUseKeyWithappendUseKeyWithItem (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