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 Detail

      • KeyInfo

        public KeyInfo​(org.w3c.dom.Document doc)
        Constructor KeyInfo
        Parameters:
        doc -
    • 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)
        Method addX509Data
        Parameters:
        x509data -
      • 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
      • lengthUnknownElement

        public int lengthUnknownElement()
        Method lengthUnknownElement NOTE posibly buggy.
        Returns:
        the number of the UnknownElement tags
      • itemUnknownElement

        public org.w3c.dom.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 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 contined 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
      • 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 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.