org.apache.xml.security.keys
Class KeyInfo

java.lang.Object
  extended by org.apache.xml.security.utils.ElementProxy
      extended by org.apache.xml.security.utils.SignatureElementProxy
          extended by 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.


Field Summary
 
Fields inherited from class org.apache.xml.security.utils.ElementProxy
baseURI
 
Constructor Summary
KeyInfo(Document doc)
          Constructor KeyInfo
KeyInfo(Element element, String baseURI)
          Constructor KeyInfo
 
Method Summary
 void add(DEREncodedKeyValue derEncodedKeyValue)
          Method add
 void add(DSAKeyValue dsakeyvalue)
          Method add
 void add(EncryptedKey encryptedKey)
          Method addEncryptedKey
 void add(KeyInfoReference keyInfoReference)
          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(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 addDEREncodedKeyValue(PublicKey pk)
          Method addDEREncodedKeyValue
 void addKeyInfoReference(String URI)
          Method addKeyInfoReference
 void addKeyName(String keynameString)
          Method addKeyName
 void addKeyValue(Element unknownKeyValueElement)
          Method addKeyValue
 void addKeyValue(PublicKey pk)
          Method addKeyValue
 void addMgmtData(String mgmtdata)
          Method addMgmtData
 void addRetrievalMethod(String uri, Transforms transforms, String Type)
          Method addRetrievalMethod
 void addStorageResolver(StorageResolver storageResolver)
          Method addStorageResolver
 void addUnknownElement(Element element)
          Method addUnknownElement
 boolean containsDEREncodedKeyValue()
          Method containsDEREncodedKeyValue
 boolean containsKeyInfoReference()
          Method containsKeyInfoReference
 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
 String getBaseLocalName()
          Returns the localname of the Elements of the sub-class.
 String getId()
          Returns the Id attribute
 PrivateKey getPrivateKey()
          This method returns a private key.
 PublicKey getPublicKey()
          This method returns the public key.
 SecretKey getSecretKey()
          This method returns a secret (symmetric) key.
 X509Certificate getX509Certificate()
          Method getX509Certificate
 boolean isEmpty()
          Method isEmpty
 DEREncodedKeyValue itemDEREncodedKeyValue(int i)
          Method itemDEREncodedKeyValue
 EncryptedKey itemEncryptedKey(int i)
          Method itemEncryptedKey
 KeyInfoReference itemKeyInfoReference(int i)
          Method itemKeyInfoReference
 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
 Element itemUnknownElement(int i)
          Method itemUnknownElement
 X509Data itemX509Data(int i)
          Method itemX509Data
 int lengthDEREncodedKeyValue()
          Method lengthDEREncodedKeyValue
 int lengthKeyInfoReference()
          Method lengthKeyInfoReference
 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 NOTE possibly buggy.
 int lengthX509Data()
          Method lengthX509Data
 void registerInternalKeyResolver(KeyResolverSpi realKeyResolver)
          This method is used to add a custom KeyResolverSpi to a KeyInfo object.
 void setId(String id)
          Sets the Id attribute
 void setSecureValidation(boolean secureValidation)
          Set whether secure processing is enabled or not.
 
Methods inherited from class org.apache.xml.security.utils.SignatureElementProxy
getBaseNamespace
 
Methods inherited from class org.apache.xml.security.utils.ElementProxy
addBase64Element, addBase64Text, addBigIntegerElement, addReturnToSelf, addText, addTextElement, appendOther, appendSelf, appendSelf, createElementForFamily, createElementForFamilyLocal, createText, getBaseURI, getBigIntegerFromChildElement, getBytesFromTextChild, getDefaultPrefix, getDocument, getElement, getElementPlusReturns, getFirstChild, getLocalAttribute, getTextFromChildElement, getTextFromTextChild, length, registerDefaultPrefixes, setDefaultPrefix, setDocument, setElement, setElement, setLocalAttribute, setLocalIdAttribute, setXPathNamespaceContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

KeyInfo

public KeyInfo(Document doc)
Constructor KeyInfo

Parameters:
doc -

KeyInfo

public KeyInfo(Element element,
               String baseURI)
        throws XMLSecurityException
Constructor KeyInfo

Parameters:
element -
baseURI -
Throws:
XMLSecurityException
Method Detail

setSecureValidation

public void setSecureValidation(boolean secureValidation)
Set whether secure processing is enabled or not. The default is false.


setId

public void setId(String id)
Sets the Id attribute

Parameters:
id - ID

getId

public String getId()
Returns the Id attribute

Returns:
the Id attribute

addKeyName

public void addKeyName(String keynameString)
Method addKeyName

Parameters:
keynameString -

add

public void add(KeyName keyname)
Method add

Parameters:
keyname -

addKeyValue

public void addKeyValue(PublicKey pk)
Method addKeyValue

Parameters:
pk -

addKeyValue

public void addKeyValue(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(PublicKey pk)
Method add

Parameters:
pk -

add

public void add(KeyValue keyvalue)
Method add

Parameters:
keyvalue -

addMgmtData

public void addMgmtData(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(String uri,
                               Transforms transforms,
                               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)
Method addX509Data

Parameters:
x509data -

add

public void add(EncryptedKey encryptedKey)
         throws XMLEncryptionException
Method addEncryptedKey

Parameters:
encryptedKey -
Throws:
XMLEncryptionException

addDEREncodedKeyValue

public void addDEREncodedKeyValue(PublicKey pk)
                           throws XMLSecurityException
Method addDEREncodedKeyValue

Parameters:
pk -
Throws:
XMLSecurityException

add

public void add(DEREncodedKeyValue derEncodedKeyValue)
Method add

Parameters:
derEncodedKeyValue -

addKeyInfoReference

public void addKeyInfoReference(String URI)
                         throws XMLSecurityException
Method addKeyInfoReference

Parameters:
URI -
Throws:
XMLSecurityException

add

public void add(KeyInfoReference keyInfoReference)
Method add

Parameters:
keyInfoReference -

addUnknownElement

public void addUnknownElement(Element element)
Method addUnknownElement

Parameters:
element -

lengthKeyName

public int lengthKeyName()
Method lengthKeyName

Returns:
the number of the KeyName tags

lengthKeyValue

public int lengthKeyValue()
Method lengthKeyValue

Returns:
the number of the KeyValue tags

lengthMgmtData

public int lengthMgmtData()
Method lengthMgmtData

Returns:
the number of the MgmtData tags

lengthPGPData

public int lengthPGPData()
Method lengthPGPData

Returns:
the number of the PGPDat. tags

lengthRetrievalMethod

public int lengthRetrievalMethod()
Method lengthRetrievalMethod

Returns:
the number of the RetrievalMethod tags

lengthSPKIData

public int lengthSPKIData()
Method lengthSPKIData

Returns:
the number of the SPKIData tags

lengthX509Data

public int lengthX509Data()
Method lengthX509Data

Returns:
the number of the X509Data tags

lengthDEREncodedKeyValue

public int lengthDEREncodedKeyValue()
Method lengthDEREncodedKeyValue

Returns:
the number of the DEREncodedKeyValue tags

lengthKeyInfoReference

public int lengthKeyInfoReference()
Method lengthKeyInfoReference

Returns:
the number of the KeyInfoReference tags

lengthUnknownElement

public int lengthUnknownElement()
Method lengthUnknownElement NOTE possibly buggy.

Returns:
the number of the UnknownElement tags

itemKeyName

public KeyName itemKeyName(int i)
                    throws XMLSecurityException
Method itemKeyName

Parameters:
i -
Returns:
the asked KeyName element, null if the index is too big
Throws:
XMLSecurityException

itemKeyValue

public KeyValue itemKeyValue(int i)
                      throws XMLSecurityException
Method itemKeyValue

Parameters:
i -
Returns:
the asked KeyValue element, null if the index is too big
Throws:
XMLSecurityException

itemMgmtData

public MgmtData itemMgmtData(int i)
                      throws XMLSecurityException
Method itemMgmtData

Parameters:
i -
Returns:
the asked MgmtData element, null if the index is too big
Throws:
XMLSecurityException

itemPGPData

public PGPData itemPGPData(int i)
                    throws XMLSecurityException
Method itemPGPData

Parameters:
i -
Returns:
the asked PGPData element, null if the index is too big
Throws:
XMLSecurityException

itemRetrievalMethod

public RetrievalMethod itemRetrievalMethod(int i)
                                    throws XMLSecurityException
Method itemRetrievalMethod

Parameters:
i -
Returns:
the asked RetrievalMethod element, null if the index is too big
Throws:
XMLSecurityException

itemSPKIData

public SPKIData itemSPKIData(int i)
                      throws XMLSecurityException
Method itemSPKIData

Parameters:
i -
Returns:
the asked SPKIData element, null if the index is too big
Throws:
XMLSecurityException

itemX509Data

public X509Data itemX509Data(int i)
                      throws XMLSecurityException
Method itemX509Data

Parameters:
i -
Returns:
the asked X509Data element, null if the index is too big
Throws:
XMLSecurityException

itemEncryptedKey

public EncryptedKey itemEncryptedKey(int i)
                              throws XMLSecurityException
Method itemEncryptedKey

Parameters:
i -
Returns:
the asked EncryptedKey element, null if the index is too big
Throws:
XMLSecurityException

itemDEREncodedKeyValue

public DEREncodedKeyValue itemDEREncodedKeyValue(int i)
                                          throws XMLSecurityException
Method itemDEREncodedKeyValue

Parameters:
i -
Returns:
the asked DEREncodedKeyValue element, null if the index is too big
Throws:
XMLSecurityException

itemKeyInfoReference

public KeyInfoReference itemKeyInfoReference(int i)
                                      throws XMLSecurityException
Method itemKeyInfoReference

Parameters:
i -
Returns:
the asked KeyInfoReference element, null if the index is too big
Throws:
XMLSecurityException

itemUnknownElement

public Element itemUnknownElement(int i)
Method itemUnknownElement

Parameters:
i - index
Returns:
the element number of the unknown elements

isEmpty

public boolean isEmpty()
Method isEmpty

Returns:
true if the element has no descendants.

containsKeyName

public boolean containsKeyName()
Method containsKeyName

Returns:
If the KeyInfo contains a KeyName node

containsKeyValue

public boolean containsKeyValue()
Method containsKeyValue

Returns:
If the KeyInfo contains a KeyValue node

containsMgmtData

public boolean containsMgmtData()
Method containsMgmtData

Returns:
If the KeyInfo contains a MgmtData node

containsPGPData

public boolean containsPGPData()
Method containsPGPData

Returns:
If the KeyInfo contains a PGPData node

containsRetrievalMethod

public boolean containsRetrievalMethod()
Method containsRetrievalMethod

Returns:
If the KeyInfo contains a RetrievalMethod node

containsSPKIData

public boolean containsSPKIData()
Method containsSPKIData

Returns:
If the KeyInfo contains a SPKIData node

containsUnknownElement

public boolean containsUnknownElement()
Method containsUnknownElement

Returns:
If the KeyInfo contains a UnknownElement node

containsX509Data

public boolean containsX509Data()
Method containsX509Data

Returns:
If the KeyInfo contains a X509Data node

containsDEREncodedKeyValue

public boolean containsDEREncodedKeyValue()
Method containsDEREncodedKeyValue

Returns:
If the KeyInfo contains a DEREncodedKeyValue node

containsKeyInfoReference

public boolean containsKeyInfoReference()
Method containsKeyInfoReference

Returns:
If the KeyInfo contains a KeyInfoReference node

getPublicKey

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

Returns:
If the KeyInfo contains a PublicKey node
Throws:
KeyResolverException

getX509Certificate

public X509Certificate getX509Certificate()
                                   throws KeyResolverException
Method getX509Certificate

Returns:
The certificate contained in this KeyInfo
Throws:
KeyResolverException

getSecretKey

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

Returns:
the secret key contained in this KeyInfo
Throws:
KeyResolverException

getPrivateKey

public PrivateKey getPrivateKey()
                         throws KeyResolverException
This method returns a private key. This is for Key Transport in XML Encryption.

Returns:
the private key contained in this KeyInfo
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 -

getBaseLocalName

public 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.


Copyright © 2000–2014 The Apache Software Foundation. All rights reserved.