org.apache.xml.security.keys
Class KeyInfo

java.lang.Object
  |
  +--org.apache.xml.security.utils.ElementProxy
        |
        +--org.apache.xml.security.utils.SignatureElementProxy
              |
              +--org.apache.xml.security.keys.KeyInfo

public class KeyInfo
extends SignatureElementProxy

This class stand for KeyInfo Element that may contain keys, names, certificates and other public key management information, such as in-band key distribution or key agreement data.
KeyInfo Element has two basic functions: One is KeyResolve for getting the public key in signature validation processing. the other one is toElement for getting the element in signature generation processing.
The lengthXXX() methods provide access to the internal Key objects:


The addXXX() methods are used for adding Objects of the appropriate type to the KeyInfo. This is used during signature generation.
The itemXXX(int i) methods return the i'th object of the corresponding type.
The containsXXX() methods return whether the KeyInfo contains the corresponding type.

Author:
$Author: vdkoogh $

Field Summary
 
Fields inherited from class org.apache.xml.security.utils.ElementProxy
_baseURI, _constructionElement, _doc, _state, MODE_CREATE, MODE_DECRYPT, MODE_ENCRYPT, MODE_PROCESS, MODE_SIGN, MODE_UNKNOWN, MODE_VERIFY
 
Constructor Summary
KeyInfo(org.w3c.dom.Document doc)
          Constructor KeyInfo
KeyInfo(org.w3c.dom.Element element, java.lang.String BaseURI)
          Constructor KeyInfo
 
Method Summary
 void add(DSAKeyValue dsakeyvalue)
          Method add
 void add(KeyName keyname)
          Method add
 void add(KeyValue keyvalue)
          Method add
 void add(MgmtData mgmtdata)
          Method add
 void add(PGPData pgpdata)
          Method addPGPData
 void add(java.security.PublicKey pk)
          Method add
 void add(RetrievalMethod retrievalmethod)
          Method add
 void add(RSAKeyValue rsakeyvalue)
          Method add
 void add(SPKIData spkidata)
          Method add
 void add(X509Data x509data)
          Method addX509Data
 void addKeyName(java.lang.String keynameString)
          Method addKeyName
 void addKeyValue(org.w3c.dom.Element unknownKeyValueElement)
          Method addKeyValue
 void addKeyValue(java.security.PublicKey pk)
          Method addKeyValue
 void addMgmtData(java.lang.String mgmtdata)
          Method addMgmtData
 void addRetrievalMethod(java.lang.String URI, Transforms transforms, java.lang.String Type)
          Method addRetrievalMethod
 void addStorageResolver(StorageResolver storageResolver)
          Method addStorageResolver
 void addUnknownElement(org.w3c.dom.Element element)
          Method addUnknownElement
 boolean containsKeyName()
          Method containsKeyName
 boolean containsKeyValue()
          Method containsKeyValue
 boolean containsMgmtData()
          Method containsMgmtData
 boolean containsPGPData()
          Method containsPGPData
 boolean containsRetrievalMethod()
          Method containsRetrievalMethod
 boolean containsSPKIData()
          Method containsSPKIData
 boolean containsUnknownElement()
          Method containsUnknownElement
 boolean containsX509Data()
          Method containsX509Data
 java.lang.String getBaseLocalName()
          Returns the localname of the Elements of the sub-class.
 java.lang.String getId()
          Returns the Id attribute
 java.security.PublicKey getPublicKey()
          This method returns the public key.
 javax.crypto.SecretKey getSecretKey()
          This method returns a secret (symmetric) key.
 java.security.cert.X509Certificate getX509Certificate()
          Method getX509Certificate
static void init()
           
 boolean isEmpty()
          Method isEmpty
 KeyName itemKeyName(int i)
          Method itemKeyName
 KeyValue itemKeyValue(int i)
          Method itemKeyValue
 MgmtData itemMgmtData(int i)
          Method itemMgmtData
 PGPData itemPGPData(int i)
          Method itemPGPData
 RetrievalMethod itemRetrievalMethod(int i)
          Method itemRetrievalMethod
 SPKIData itemSPKIData(int i)
          Method itemSPKIData
 org.w3c.dom.Element itemUnknownElement(int i)
          Method itemUnknownElement
 X509Data itemX509Data(int i)
          Method itemX509Data
 int lengthKeyName()
          Method lengthKeyName
 int lengthKeyValue()
          Method lengthKeyValue
 int lengthMgmtData()
          Method lengthMgmtData
 int lengthPGPData()
          Method lengthPGPData
 int lengthRetrievalMethod()
          Method lengthRetrievalMethod
 int lengthSPKIData()
          Method lengthSPKIData
 int lengthUnknownElement()
          Method lengthUnknownElement
 int lengthX509Data()
          Method lengthX509Data
 void registerInternalKeyResolver(KeyResolverSpi realKeyResolver)
          This method is used to add a custom KeyResolverSpi to a KeyInfo object.
static void registerKeyInfoContentHandler(java.lang.String namespace, java.lang.String localname, java.lang.String implementingClass)
           
 void setId(java.lang.String Id)
          Sets the Id attribute
 
Methods inherited from class org.apache.xml.security.utils.SignatureElementProxy
getBaseNamespace
 
Methods inherited from class org.apache.xml.security.utils.ElementProxy
addBase64Element, addBase64Text, addBigIntegerElement, addText, addTextElement, createElementForFamily, getBaseURI, getBigIntegerFromChildElement, getBytesFromChildElement, getBytesFromTextChild, getChildElementLocalName, getDefaultPrefix, getDocument, getElement, getElementPlusReturns, getTextFromChildElement, getTextFromTextChild, guaranteeThatElementInCorrectSpace, length, setDefaultPrefix, setElement, setXPathNamespaceContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

KeyInfo

public KeyInfo(org.w3c.dom.Document doc)
Constructor KeyInfo

Parameters:
doc -

KeyInfo

public KeyInfo(org.w3c.dom.Element element,
               java.lang.String BaseURI)
        throws XMLSecurityException
Constructor KeyInfo

Parameters:
element -
BaseURI -
Throws:
XMLSecurityException
Method Detail

setId

public void setId(java.lang.String Id)
Sets the Id attribute

Parameters:
Id - ID

getId

public java.lang.String getId()
Returns the Id attribute

Returns:
the Id attribute

addKeyName

public void addKeyName(java.lang.String keynameString)
Method addKeyName

Parameters:
keynameString -

add

public void add(KeyName keyname)
Method add

Parameters:
keyname -

addKeyValue

public void addKeyValue(java.security.PublicKey pk)
Method addKeyValue

Parameters:
pk -

addKeyValue

public void addKeyValue(org.w3c.dom.Element unknownKeyValueElement)
Method addKeyValue

Parameters:
unknownKeyValueElement -

add

public void add(DSAKeyValue dsakeyvalue)
Method add

Parameters:
dsakeyvalue -

add

public void add(RSAKeyValue rsakeyvalue)
Method add

Parameters:
rsakeyvalue -

add

public void add(java.security.PublicKey pk)
Method add

Parameters:
pk -

add

public void add(KeyValue keyvalue)
Method add

Parameters:
keyvalue -

addMgmtData

public void addMgmtData(java.lang.String mgmtdata)
Method addMgmtData

Parameters:
mgmtdata -

add

public void add(MgmtData mgmtdata)
Method add

Parameters:
mgmtdata -

add

public void add(PGPData pgpdata)
Method addPGPData

Parameters:
pgpdata -

addRetrievalMethod

public void addRetrievalMethod(java.lang.String URI,
                               Transforms transforms,
                               java.lang.String Type)
Method addRetrievalMethod

Parameters:
URI -
transforms -
Type -

add

public void add(RetrievalMethod retrievalmethod)
Method add

Parameters:
retrievalmethod -

add

public void add(SPKIData spkidata)
Method add

Parameters:
spkidata -

add

public void add(X509Data x509data)
         throws XMLSecurityException
Method addX509Data

Parameters:
x509data -
Throws:
XMLSecurityException

addUnknownElement

public void addUnknownElement(org.w3c.dom.Element element)
Method addUnknownElement

Parameters:
element -

lengthKeyName

public int lengthKeyName()
Method lengthKeyName


lengthKeyValue

public int lengthKeyValue()
Method lengthKeyValue


lengthMgmtData

public int lengthMgmtData()
Method lengthMgmtData


lengthPGPData

public int lengthPGPData()
Method lengthPGPData


lengthRetrievalMethod

public int lengthRetrievalMethod()
Method lengthRetrievalMethod


lengthSPKIData

public int lengthSPKIData()
Method lengthSPKIData


lengthX509Data

public int lengthX509Data()
Method lengthX509Data


lengthUnknownElement

public int lengthUnknownElement()
Method lengthUnknownElement


itemKeyName

public KeyName itemKeyName(int i)
                    throws XMLSecurityException
Method itemKeyName

Parameters:
i -
Throws:
XMLSecurityException

itemKeyValue

public KeyValue itemKeyValue(int i)
                      throws XMLSecurityException
Method itemKeyValue

Parameters:
i -
Throws:
XMLSecurityException

itemMgmtData

public MgmtData itemMgmtData(int i)
                      throws XMLSecurityException
Method itemMgmtData

Parameters:
i -
Throws:
XMLSecurityException

itemPGPData

public PGPData itemPGPData(int i)
                    throws XMLSecurityException
Method itemPGPData

Parameters:
i -
Throws:
XMLSecurityException

itemRetrievalMethod

public RetrievalMethod itemRetrievalMethod(int i)
                                    throws XMLSecurityException
Method itemRetrievalMethod

Parameters:
i -
Throws:
XMLSecurityException

itemSPKIData

public SPKIData itemSPKIData(int i)
                      throws XMLSecurityException
Method itemSPKIData

Parameters:
i -
Throws:
XMLSecurityException

itemX509Data

public X509Data itemX509Data(int i)
                      throws XMLSecurityException
Method itemX509Data

Parameters:
i -
Throws:
XMLSecurityException

itemUnknownElement

public org.w3c.dom.Element itemUnknownElement(int i)
Method itemUnknownElement

Parameters:
i -

isEmpty

public boolean isEmpty()
Method isEmpty


containsKeyName

public boolean containsKeyName()
Method containsKeyName


containsKeyValue

public boolean containsKeyValue()
Method containsKeyValue


containsMgmtData

public boolean containsMgmtData()
Method containsMgmtData


containsPGPData

public boolean containsPGPData()
Method containsPGPData


containsRetrievalMethod

public boolean containsRetrievalMethod()
Method containsRetrievalMethod


containsSPKIData

public boolean containsSPKIData()
Method containsSPKIData


containsUnknownElement

public boolean containsUnknownElement()
Method containsUnknownElement


containsX509Data

public boolean containsX509Data()
Method containsX509Data


getSecretKey

public javax.crypto.SecretKey getSecretKey()
                                    throws KeyResolverException
This method returns a secret (symmetric) key. This is for XML Encryption.

KeyResolverException

getPublicKey

public java.security.PublicKey getPublicKey()
                                     throws KeyResolverException
This method returns the public key.

Throws:
KeyResolverException

getX509Certificate

public java.security.cert.X509Certificate getX509Certificate()
                                                      throws KeyResolverException
Method getX509Certificate

Throws:
KeyResolverException

registerInternalKeyResolver

public void registerInternalKeyResolver(KeyResolverSpi realKeyResolver)
This method is used to add a custom KeyResolverSpi to a KeyInfo object.

Parameters:
realKeyResolver -

addStorageResolver

public void addStorageResolver(StorageResolver storageResolver)
Method addStorageResolver

Parameters:
storageResolver -

init

public static void init()

registerKeyInfoContentHandler

public static void registerKeyInfoContentHandler(java.lang.String namespace,
                                                 java.lang.String localname,
                                                 java.lang.String implementingClass)
                                          throws ContentHandlerAlreadyRegisteredException
ContentHandlerAlreadyRegisteredException

getBaseLocalName

public java.lang.String getBaseLocalName()
Description copied from class: ElementProxy
Returns the localname of the Elements of the sub-class.

Specified by:
getBaseLocalName in class ElementProxy
Returns:
the localname of the Elements of the sub-class.