public class AgreementMethodImpl extends AlgorithmMethodImpl implements AgreementMethod
AgreementMethod
element that supports
the DOM XML representation and processing mechanism.DOMStructure.NodeWrapper
Modifier and Type | Field and Description |
---|---|
protected DigestMethodImpl |
digestMethod_
The
DigestMethod |
protected KANonceImpl |
kaNonce_
The
KA-Nonce . |
protected KeyInfoImpl |
originiatorKeyInfo_
The
OriginatorKeyInfo . |
protected KeyInfoImpl |
recipientKeyInfo_
The
RecipientKeyInfo . |
algorithm_, params_, spec_
implMap_, state_, STATE_CREATED, STATE_MARSHALED, STATE_UNINITIALIZED, STATE_UNMARSHALED
DH
Constructor and Description |
---|
AgreementMethodImpl(DOMCryptoContext context,
Node node)
Creates a new instance of this
AgreementMethodImpl with the
specified context and node to unmarshal from. |
AgreementMethodImpl(String algorithm,
byte[] kaNonce,
KeyInfoImpl originiatorKeyInfo,
KeyInfoImpl recipientKeyInfo,
AgreementMethodParameterSpec params)
Creates a new instance of this
AgreementMethodImpl with the
specified algorithm URI, agreement method parameters, originator KeyInfo,
recipient KeyInfo and KA-Nonce. |
Modifier and Type | Method and Description |
---|---|
protected byte[] |
generateAgreedSecret(PrivateKey privKey,
PublicKey pubKey,
String algorithm) |
SecretKey |
generateSecretKey(EncryptionMethod em,
PublicKey pubKey)
Generates a secret key of the type specified in
EncrpytionMethod |
protected void |
getAlgorithmInstanceUncaught(XSecProvider.Purpose purpose) |
protected List |
getChildStructures()
Returns the list of child structures of this
DOMStructure . |
byte[] |
getKANonce()
Returns a nonce that assures different key materials are generated.
|
String |
getLocalName()
Returns the local name of the represented XML element.
|
String |
getNamespace()
Returns the namespace URI of the represented XML element.
|
XMLStructure |
getOriginatorKeyInfo()
Returns key information from the originator used to determine the secret
key.
|
protected Class |
getParameterSpecClass() |
XMLStructure |
getRecipientKeyInfo()
Returns key information from the recipient used to determine the secret
key.
|
protected void |
putChildStructure(DOMStructure childStructure)
Put an unmarshalled child structure.
|
void |
setPrivateKey(PrivateKey key) |
protected void |
unmarshalStructures(NodeList nodes,
DOMCryptoContext context)
Unmarshals
DOMStructure s from the given nodes . |
containsElements, getAlgorithm, getAlgorithmInstance, getParameterSpec, getParamInstanceUncaught, marshal, marshalAttributes, unmarshalAttributes
addBytesToElement, addBytesToElement, clearMarshalling, clearMarshalling, getBytesFromElement, getBytesFromElementStream, getChildStructureVersion, getHere, getImplClass, getInstance, getInstance, getNode, getParentStructure, getParentStructureOf, getQualifiedName, getQualifiedName, hasNSDeclAttrInScope, isFeatureSupported, isNSDeclInScope, marshalElement, marshalIDAttribute, newIDforLookUp, putImplClass, setBackToCompatibilityPrior1_14, setNode, setParentStructure, toString, unmarshal, unmarshalElement, unmarshalIDAttribute, wrapNode
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getParameterSpec
getAlgorithm
isFeatureSupported
protected KeyInfoImpl originiatorKeyInfo_
OriginatorKeyInfo
.protected KeyInfoImpl recipientKeyInfo_
RecipientKeyInfo
.protected KANonceImpl kaNonce_
KA-Nonce
.protected DigestMethodImpl digestMethod_
DigestMethod
public AgreementMethodImpl(DOMCryptoContext context, Node node) throws MarshalException
AgreementMethodImpl
with the
specified context and node to unmarshal from.context
- the contextnode
- the node to unmarshal fromMarshalException
- if an exception occurs during unmarshalingpublic AgreementMethodImpl(String algorithm, byte[] kaNonce, KeyInfoImpl originiatorKeyInfo, KeyInfoImpl recipientKeyInfo, AgreementMethodParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
AgreementMethodImpl
with the
specified algorithm URI, agreement method parameters, originator KeyInfo,
recipient KeyInfo and KA-Nonce.algorithm
- the algorithm URI (must be RFC 2396 compliant)kaNonce
- the KA-Nonce (may be null
)originiatorKeyInfo
- the originator KeyInfo (may be null
)recipientKeyInfo
- the recipient KeyInfo (may be null
)params
- the agreement method parameters (may be null
)NullPointerException
- if config
or algorithm
is
null
NoSuchAlgorithmException
- if algorithm
is not supportedInvalidAlgorithmParameterException
InvalidAlgorithmParameterException
- if the given algorithm specific parameters are not appropriate for
the specified algorithmprotected void getAlgorithmInstanceUncaught(XSecProvider.Purpose purpose) throws NoSuchAlgorithmException
getAlgorithmInstanceUncaught
in class AlgorithmMethodImpl
NoSuchAlgorithmException
public String getLocalName()
DOMStructure
getLocalName
in class DOMStructure
DOMStructure.getLocalName()
public byte[] getKANonce()
javax.xml.crypto.enc.keyinfo.AgreementMethod
getKANonce
in interface AgreementMethod
null
if not specifiedAgreementMethod.getKANonce()
public XMLStructure getOriginatorKeyInfo()
javax.xml.crypto.enc.keyinfo.AgreementMethod
getOriginatorKeyInfo
in interface AgreementMethod
null
if not specifiedAgreementMethod.getOriginatorKeyInfo()
public XMLStructure getRecipientKeyInfo()
javax.xml.crypto.enc.keyinfo.AgreementMethod
getRecipientKeyInfo
in interface AgreementMethod
null
if not specifiedAgreementMethod.getRecipientKeyInfo()
public String getNamespace()
DOMStructure
getNamespace
in class DOMStructure
DOMStructure.getNamespace()
protected void unmarshalStructures(NodeList nodes, DOMCryptoContext context) throws MarshalException
DOMStructure
DOMStructure
s from the given nodes
.
This method is called by DOMStructure.unmarshal(DOMCryptoContext)
.
This method calls DOMStructure.getInstance(Node, DOMCryptoContext)
for every
Element
in the list of nodes
. If
DOMStructure.getInstance(Node, DOMCryptoContext)
returns a
DOMStructure
DOMStructure.putChildStructure(DOMStructure)
is
called with the returned DOMStructure
as parameter.
unmarshalStructures
in class AlgorithmMethodImpl
nodes
- the nodes to unmarshal fromcontext
- the marshal contextMarshalException
- if an exception occurs during marshalingDOMStructure.unmarshalStructures(NodeList,
DOMCryptoContext)
protected List getChildStructures()
DOMStructure
DOMStructure
.
This method is called by DOMStructure.marshal(DOMCryptoContext, Node, Node)
.
A subclass has to overwrite this method to return a list of
DOMStrucutres
represented by this subclass.
getChildStructures
in class DOMStructure
DOMStructure
s (may be empty, but never
null
)DOMStructure.getChildStructures()
protected void putChildStructure(DOMStructure childStructure) throws MarshalException
DOMStructure
This method is called by
DOMStructure.unmarshalStructures(NodeList, DOMCryptoContext)
for every
unmarshalled child structure.
A subclass has to overwrite this method to store the given child structure in its the corresponding field.
putChildStructure
in class DOMStructure
childStructure
- the unmarshalled child structureMarshalException
DOMStructure.putChildStructure(iaik.xml.crypto.dom.DOMStructure)
public SecretKey generateSecretKey(EncryptionMethod em, PublicKey pubKey) throws XMLEncryptionException
EncrpytionMethod
em
- The EncryptionMethod
, the generated key will be used
withpubKey
- XMLEncryptionException
protected byte[] generateAgreedSecret(PrivateKey privKey, PublicKey pubKey, String algorithm) throws XMLEncryptionException
XMLEncryptionException
public void setPrivateKey(PrivateKey key)
protected Class getParameterSpecClass()
getParameterSpecClass
in class AlgorithmMethodImpl
Class
of the concrete parameter spec to be returned by
AlgorithmMethodImpl.getParameterSpec()
.AlgorithmMethodImpl.getParameterSpecClass()
© 2002-2005 IAIK, © 2004, 2006 - 2019 Stiftung SIC