Interface AgreementMethod
-
- All Known Implementing Classes:
XMLCipher.Factory.AgreementMethodImpl
public interface AgreementMethod
A Key Agreement algorithm provides for the derivation of a shared secret key based on a shared secret computed from certain types of compatible public keys from both the sender and the recipient. Information from the originator to determine the secret is indicated by an optional OriginatorKeyInfo parameter child of anAgreementMethod
element while that associated with the recipient is indicated by an optional RecipientKeyInfo. A shared key is derived from this shared secret by a method determined by the Key Agreement algorithm.Note: XML Encryption does not provide an on-line key agreement negotiation protocol. The
AgreementMethod
element can be used by the originator to identify the keys and computational procedure that were used to obtain a shared encryption key. The method used to obtain or select the keys or algorithm used for the agreement computation is beyond the scope of this specification.The
AgreementMethod
element appears as the content of ads:KeyInfo
since, like otherds:KeyInfo
children, it yields a key. Thisds:KeyInfo
is in turn a child of anEncryptedData
orEncryptedKey
element. The Algorithm attribute and KeySize child of theEncryptionMethod
element under thisEncryptedData
orEncryptedKey
element are implicit parameters to the key agreement computation. In cases where thisEncryptionMethod
algorithmURI
is insufficient to determine the key length, a KeySize MUST have been included. In addition, the sender may place a KA-Nonce element underAgreementMethod
to assure that different keying material is generated even for repeated agreements using the same sender and recipient public keys.If the agreed key is being used to wrap a key, then
AgreementMethod
would appear inside ads:KeyInfo
inside anEncryptedKey
element.The Schema for AgreementMethod is as follows:
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addAgreementMethodInformation(org.w3c.dom.Element info)
Adds additionalAgreementMethod
information.java.util.Iterator<org.w3c.dom.Element>
getAgreementMethodInformation()
Returns additional information regarding theAgreementMethod
.java.lang.String
getAlgorithm()
Returns the algorithm URI of thisCryptographicMethod
.byte[]
getKANonce()
Returns abyte
array.KeyInfo
getOriginatorKeyInfo()
Returns information relating to the originator's shared secret.KeyInfo
getRecipientKeyInfo()
Returns information relating to the recipient's shared secret.void
revoveAgreementMethodInformation(org.w3c.dom.Element info)
Removes additionalAgreementMethod
information.void
setKANonce(byte[] kanonce)
Sets the KANonce.jjvoid
setOriginatorKeyInfo(KeyInfo keyInfo)
Sets the information relating to the originator's shared secret.void
setRecipientKeyInfo(KeyInfo keyInfo)
Sets the information relating to the recipient's shared secret.
-
-
-
Method Detail
-
getKANonce
byte[] getKANonce()
Returns abyte
array.- Returns:
- a
byte
array.
-
setKANonce
void setKANonce(byte[] kanonce)
Sets the KANonce.jj- Parameters:
kanonce
-
-
getAgreementMethodInformation
java.util.Iterator<org.w3c.dom.Element> getAgreementMethodInformation()
Returns additional information regarding theAgreementMethod
.- Returns:
- additional information regarding the
AgreementMethod
.
-
addAgreementMethodInformation
void addAgreementMethodInformation(org.w3c.dom.Element info)
Adds additionalAgreementMethod
information.- Parameters:
info
- aElement
that represents additional information specified by
-
revoveAgreementMethodInformation
void revoveAgreementMethodInformation(org.w3c.dom.Element info)
Removes additionalAgreementMethod
information.- Parameters:
info
- aElement
that represents additional information specified by
-
getOriginatorKeyInfo
KeyInfo getOriginatorKeyInfo()
Returns information relating to the originator's shared secret.- Returns:
- information relating to the originator's shared secret.
-
setOriginatorKeyInfo
void setOriginatorKeyInfo(KeyInfo keyInfo)
Sets the information relating to the originator's shared secret.- Parameters:
keyInfo
- information relating to the originator's shared secret.
-
getRecipientKeyInfo
KeyInfo getRecipientKeyInfo()
Returns information relating to the recipient's shared secret.- Returns:
- information relating to the recipient's shared secret.
-
setRecipientKeyInfo
void setRecipientKeyInfo(KeyInfo keyInfo)
Sets the information relating to the recipient's shared secret.- Parameters:
keyInfo
- information relating to the recipient's shared secret.
-
getAlgorithm
java.lang.String getAlgorithm()
Returns the algorithm URI of thisCryptographicMethod
.- Returns:
- the algorithm URI of this
CryptographicMethod
-
-