Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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:

- If the `KeyInfo` was constructed from an Element (Signature verification), the `lengthXXX()` methods searches for child elements of `ds:KeyInfo` for known types.
- If the `KeyInfo` was constructed from scratch (during Signature generation), the `lengthXXX()` methods return the number of `XXXs` objects already passed to the KeyInfo

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, constructionElement, doc`

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(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(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` | `addDEREncodedKeyValue(java.security.PublicKey pk)` Method addDEREncodedKeyValue
`void` | `addKeyInfoReference(java.lang.String URI)` Method addKeyInfoReference
`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` | `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
`java.lang.String` | `getBaseLocalName()` Returns the localname of the Elements of the sub-class.
`java.lang.String` | `getId()` Returns the `Id` attribute
`java.security.PrivateKey` | `getPrivateKey()` This method returns a private key.
`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
`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
`org.w3c.dom.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(java.lang.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, addText, addTextElement, createElementForFamily, createElementForFamilyLocal, getBaseURI, getBigIntegerFromChildElement, getBytesFromChildElement, getBytesFromTextChild, getDefaultPrefix, getDocument, getElement, getElementPlusReturns, getTextFromChildElement, getTextFromTextChild, length, registerDefaultPrefixes, 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

### setSecureValidation

    public void setSecureValidation(boolean secureValidation)

  Set whether secure processing is enabled or not. The default is false.

### 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)

  Method addX509Data

  Parameters:
    `x509data` -

### add

    public void add(EncryptedKey encryptedKey)
             throws XMLEncryptionException

  Method addEncryptedKey

  Parameters:
    `encryptedKey` -
  Throws:
    `XMLEncryptionException`

### addDEREncodedKeyValue

    public void addDEREncodedKeyValue(java.security.PublicKey pk)
                               throws XMLSecurityException

  Method addDEREncodedKeyValue

  Parameters:
    `pk` -
  Throws:
    `XMLSecurityException`

### add

    public void add(DEREncodedKeyValue derEncodedKeyValue)

  Method add

  Parameters:
    `derEncodedKeyValue` -

### addKeyInfoReference

    public void addKeyInfoReference(java.lang.String URI)
                             throws XMLSecurityException

  Method addKeyInfoReference

  Parameters:
    `URI` -
  Throws:
    `XMLSecurityException`

### add

    public void add(KeyInfoReference keyInfoReference)

  Method add

  Parameters:
    `keyInfoReference` -

### addUnknownElement

    public void addUnknownElement(org.w3c.dom.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 org.w3c.dom.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 java.security.PublicKey getPublicKey()
                                         throws KeyResolverException

  This method returns the public key.

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

### getX509Certificate

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

  Method getX509Certificate

  Returns:
    The certificate contained in this KeyInfo
  Throws:
    `KeyResolverException`

### getSecretKey

    public javax.crypto.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 java.security.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 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.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD