Class 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.
Author:
$Author$
  • Constructor Details

  • Method Details

    • 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
    • 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
    • lengthUnknownElement

      public int lengthUnknownElement()
      Method lengthUnknownElement NOTE posibly 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
    • itemUnknownElement

      public Element itemUnknownElement(int i)
      Method itemUnknownElement
      Parameters:
      i - index
      Returns:
      the element number of the unknown elemens
    • isEmpty

      public boolean isEmpty()
      Method isEmpty
      Returns:
      true if the element has no descedants.
    • 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
    • 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 contined 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
    • 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()
      init the keyinfo (Still needed?)
    • 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.