Class DOMHMACSignatureMethod
java.lang.Object
org.apache.jcp.xml.dsig.internal.dom.DOMStructure
org.apache.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod
org.apache.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod
- All Implemented Interfaces:
AlgorithmMethod, SignatureMethod, XMLStructure
- Direct Known Subclasses:
DOMHMACSignatureMethod.RIPEMD160, DOMHMACSignatureMethod.SHA1, DOMHMACSignatureMethod.SHA224, DOMHMACSignatureMethod.SHA256, DOMHMACSignatureMethod.SHA384, DOMHMACSignatureMethod.SHA512
DOM-based implementation of HMAC SignatureMethod.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static final class(package private) static final class(package private) static final class(package private) static final class(package private) static final class(package private) static final classNested classes/interfaces inherited from class AbstractDOMSignatureMethod
AbstractDOMSignatureMethod.Type -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Stringprivate Mac(package private) static final String(package private) static final String(package private) static final String(package private) static final String(package private) static final Stringprivate static final org.slf4j.Loggerprivate intprivate booleanprivate SignatureMethodParameterSpecFields inherited from interface SignatureMethod
DSA_SHA1, HMAC_SHA1, RSA_SHA1 -
Constructor Summary
ConstructorsConstructorDescriptionCreates aDOMHMACSignatureMethodwith the specified paramsDOMHMACSignatureMethod(Element smElem) Creates aDOMHMACSignatureMethodfrom an element. -
Method Summary
Modifier and TypeMethodDescription(package private) voidChecks if the specified parameters are valid for this algorithm.(package private) AbstractDOMSignatureMethod.TypeReturns the type of signature algorithm.(package private) abstract intReturns the output length of the hash/digest.final AlgorithmParameterSpec(package private) voidmarshalParams(Element parent, String prefix) Marshals the algorithm-specific parameters to an Element and appends it to the specified parent element.(package private) booleanReturns true if parameters are equal; false otherwise.(package private) byte[]sign(Key key, SignedInfo si, XMLSignContext context) Signs the bytes with the specified key, using the underlying Signature or Mac algorithm.(package private) SignatureMethodParameterSpecunmarshalParams(Element paramsElem) UnmarshalsSignatureMethodParameterSpecfrom the specifiedElement.(package private) booleanverify(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 AbstractDOMSignatureMethod
equals, getJCAAlgorithm, hashCode, marshalMethods inherited from class DOMStructure
isFeatureSupportedMethods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface AlgorithmMethod
getAlgorithmMethods inherited from interface XMLStructure
isFeatureSupported
-
Field Details
-
DOM_SIGNATURE_PROVIDER
- See Also:
-
LOG
private static final org.slf4j.Logger LOG -
HMAC_SHA224
- See Also:
-
HMAC_SHA256
- See Also:
-
HMAC_SHA384
- See Also:
-
HMAC_SHA512
- See Also:
-
HMAC_RIPEMD160
- See Also:
-
hmac
-
outputLength
private int outputLength -
outputLengthSet
private boolean outputLengthSet -
params
-
-
Constructor Details
-
DOMHMACSignatureMethod
DOMHMACSignatureMethod(AlgorithmParameterSpec params) throws InvalidAlgorithmParameterException Creates aDOMHMACSignatureMethodwith the specified params- Parameters:
params- algorithm-specific parameters (may benull)- Throws:
InvalidAlgorithmParameterException- if params are inappropriate
-
DOMHMACSignatureMethod
DOMHMACSignatureMethod(Element smElem) throws MarshalException Creates aDOMHMACSignatureMethodfrom an element.- Parameters:
smElem- a SignatureMethod element- Throws:
MarshalException
-
-
Method Details
-
checkParams
Description copied from class:AbstractDOMSignatureMethodChecks 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.- Overrides:
checkParamsin classAbstractDOMSignatureMethod- Parameters:
params- the algorithm-specific params (may benull)- Throws:
InvalidAlgorithmParameterException- if the parameters are not appropriate for this signature method
-
getParameterSpec
-
unmarshalParams
Description copied from class:AbstractDOMSignatureMethodUnmarshalsSignatureMethodParameterSpecfrom 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.- Overrides:
unmarshalParamsin classAbstractDOMSignatureMethod- Parameters:
paramsElem- theElementholding the input params- Returns:
- the algorithm-specific
SignatureMethodParameterSpec - Throws:
MarshalException- if the parameters cannot be unmarshalled
-
marshalParams
Description copied from class:AbstractDOMSignatureMethodMarshals 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.- Overrides:
marshalParamsin classAbstractDOMSignatureMethod- Parameters:
parent- the parent element to append the parameters toprefix- the algorithm parameters prefix to use- Throws:
MarshalException- if the parameters cannot be marshalled
-
verify
boolean verify(Key key, SignedInfo si, byte[] sig, XMLValidateContext context) throws InvalidKeyException, SignatureException, XMLSignatureException Description copied from class:AbstractDOMSignatureMethodVerifies the passed-in signature with the specified key, using the underlying Signature or Mac algorithm.- Specified by:
verifyin classAbstractDOMSignatureMethod- Parameters:
key- the verification keysi- the SignedInfosig- the signature bytes to be verifiedcontext- the XMLValidateContext- Returns:
trueif the signature verified successfully,falseif not- Throws:
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
byte[] sign(Key key, SignedInfo si, XMLSignContext context) throws InvalidKeyException, XMLSignatureException Description copied from class:AbstractDOMSignatureMethodSigns the bytes with the specified key, using the underlying Signature or Mac algorithm.- Specified by:
signin classAbstractDOMSignatureMethod- Parameters:
key- the signing keysi- the SignedInfocontext- the XMLSignContext- Returns:
- the signature
- Throws:
InvalidKeyException- if the key is improperly encoded, of the wrong type, or parameters are missing, etcXMLSignatureException- if an unexpected error occurs
-
paramsEqual
Description copied from class:AbstractDOMSignatureMethodReturns true if parameters are equal; false otherwise. Subclasses should override this method to compare algorithm-specific parameters.- Overrides:
paramsEqualin classAbstractDOMSignatureMethod
-
getAlgorithmType
AbstractDOMSignatureMethod.Type getAlgorithmType()Description copied from class:AbstractDOMSignatureMethodReturns the type of signature algorithm.- Specified by:
getAlgorithmTypein classAbstractDOMSignatureMethod
-
getDigestLength
abstract int getDigestLength()Returns the output length of the hash/digest.
-