Class AbstractDOMSignatureMethod
java.lang.Object
org.apache.jcp.xml.dsig.internal.dom.DOMStructure
org.apache.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod
- All Implemented Interfaces:
AlgorithmMethod
,SignatureMethod
,XMLStructure
- Direct Known Subclasses:
DOMHMACSignatureMethod
,DOMSignatureMethod
An abstract class representing a SignatureMethod. Subclasses implement
a specific XML DSig signature algorithm.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from interface javax.xml.crypto.dsig.SignatureMethod
DSA_SHA1, DSA_SHA256, ECDSA_SHA1, ECDSA_SHA224, ECDSA_SHA256, ECDSA_SHA384, ECDSA_SHA512, HMAC_SHA1, HMAC_SHA224, HMAC_SHA256, HMAC_SHA384, HMAC_SHA512, RSA_PSS, RSA_SHA1, RSA_SHA224, RSA_SHA256, RSA_SHA384, RSA_SHA512, SHA1_RSA_MGF1, SHA224_RSA_MGF1, SHA256_RSA_MGF1, SHA384_RSA_MGF1, SHA512_RSA_MGF1
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) void
Checks if the specified parameters are valid for this algorithm.boolean
(package private) abstract AbstractDOMSignatureMethod.Type
Returns the type of signature algorithm.(package private) abstract String
Returns the java.security.Signature or javax.crypto.Mac standard algorithm name.int
hashCode()
void
marshal
(Node parent, String dsPrefix, DOMCryptoContext context) This method invokes themarshalParams
method to marshal any algorithm-specific parameters.(package private) void
marshalParams
(Element parent, String paramsPrefix) Marshals the algorithm-specific parameters to an Element and appends it to the specified parent element.(package private) boolean
Returns true if parameters are equal; false otherwise.(package private) abstract byte[]
sign
(Key key, SignedInfo si, XMLSignContext context) Signs the bytes with the specified key, using the underlying Signature or Mac algorithm.(package private) SignatureMethodParameterSpec
unmarshalParams
(Element paramsElem) UnmarshalsSignatureMethodParameterSpec
from the specifiedElement
.(package private) abstract boolean
verify
(Key key, SignedInfo si, byte[] sig, XMLValidateContext context) Verifies the passed-in signature with the specified key, using the underlying Signature or Mac algorithm.Methods inherited from class org.apache.jcp.xml.dsig.internal.dom.DOMStructure
isFeatureSupported
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface javax.xml.crypto.AlgorithmMethod
getAlgorithm
Methods inherited from interface javax.xml.crypto.dsig.SignatureMethod
getParameterSpec
Methods inherited from interface javax.xml.crypto.XMLStructure
isFeatureSupported
-
Constructor Details
-
AbstractDOMSignatureMethod
AbstractDOMSignatureMethod()
-
-
Method Details
-
verify
abstract boolean verify(Key key, SignedInfo si, byte[] sig, XMLValidateContext context) throws InvalidKeyException, SignatureException, XMLSignatureException Verifies the passed-in signature with the specified key, using the underlying Signature or Mac algorithm.- Parameters:
key
- the verification keysi
- the SignedInfosig
- the signature bytes to be verifiedcontext
- the XMLValidateContext- Returns:
true
if the signature verified successfully,false
if not- Throws:
NullPointerException
- ifkey
,si
orsig
arenull
InvalidKeyException
- if the key is improperly encoded, of the wrong type, or parameters are missing, etcSignatureException
- if an unexpected error occurs, such as the passed in signature is improperly encodedXMLSignatureException
- if an unexpected error occurs
-
sign
abstract byte[] sign(Key key, SignedInfo si, XMLSignContext context) throws InvalidKeyException, XMLSignatureException Signs the bytes with the specified key, using the underlying Signature or Mac algorithm.- Parameters:
key
- the signing keysi
- the SignedInfocontext
- the XMLSignContext- Returns:
- the signature
- Throws:
NullPointerException
- ifkey
orsi
arenull
InvalidKeyException
- if the key is improperly encoded, of the wrong type, or parameters are missing, etcXMLSignatureException
- if an unexpected error occurs
-
getJCAAlgorithm
Returns the java.security.Signature or javax.crypto.Mac standard algorithm name. -
getAlgorithmType
Returns the type of signature algorithm. -
marshal
This method invokes themarshalParams
method to marshal any algorithm-specific parameters.- Specified by:
marshal
in classDOMStructure
- Throws:
MarshalException
-
marshalParams
Marshals the algorithm-specific parameters to an Element and appends it to the specified parent element. By default, this method throws an exception since most SignatureMethod algorithms do not have parameters. Subclasses should override it if they have parameters.- Parameters:
parent
- the parent element to append the parameters toparamsPrefix
- the algorithm parameters prefix to use- Throws:
MarshalException
- if the parameters cannot be marshalled
-
unmarshalParams
UnmarshalsSignatureMethodParameterSpec
from the specifiedElement
. By default, this method throws an exception since most SignatureMethod algorithms do not have parameters. Subclasses should override it if they have parameters.- Parameters:
paramsElem
- theElement
holding the input params- Returns:
- the algorithm-specific
SignatureMethodParameterSpec
- Throws:
MarshalException
- if the parameters cannot be unmarshalled
-
checkParams
Checks if the specified parameters are valid for this algorithm. By default, this method throws an exception if parameters are specified since most SignatureMethod algorithms do not have parameters. Subclasses should override it if they have parameters.- Parameters:
params
- the algorithm-specific params (may benull
)- Throws:
InvalidAlgorithmParameterException
- if the parameters are not appropriate for this signature method
-
equals
-
hashCode
public int hashCode() -
paramsEqual
Returns true if parameters are equal; false otherwise. Subclasses should override this method to compare algorithm-specific parameters.
-