public final class Signature extends java.lang.Object implements DSIGConstants
Modifier and Type | Field and Description |
---|---|
private KeyInfo |
keyInfo |
private XMLInputStream |
objectSubstream |
private java.lang.String |
signatureValue |
private SignedInfo |
signedInfo |
private KeyResult |
validatingKey |
ATTR_ALGORITHM, ATTR_ID, ATTR_PREFIX_LIST, ATTR_URI, ATTR_XMLNS, DSIG_PREFIX, DSIG_URI, DSIG_URI2, EXC_C14N_DEFAULT_PREFIX, TAG_C14N_METHOD, TAG_DIGEST_METHOD, TAG_DIGEST_VALUE, TAG_DSA_G, TAG_DSA_KEY_VALUE, TAG_DSA_P, TAG_DSA_Q, TAG_DSA_Y, TAG_HMAC_OUTPUT_LENGTH, TAG_INCLUSIVE_NAMESPACES, TAG_KEY_INFO, TAG_KEY_NAME, TAG_KEY_VALUE, TAG_OBJECT, TAG_REFERENCE, TAG_RSA_EXPONENT, TAG_RSA_KEY_VALUE, TAG_RSA_MODULUS, TAG_SIGNATURE, TAG_SIGNATURE_METHOD, TAG_SIGNATURE_VALUE, TAG_SIGNED_INFO, TAG_TRANSFORM, TAG_TRANSFORMS, TAG_X509_CERTIFICATE, TAG_X509_DATA, TAG_X509_ISSUER_NAME, TAG_X509_ISSUER_SERIAL, TAG_X509_SERIAL_NUMBER, TAG_X509_SUBJECT_NAME, TAG_XPATH, TC_C14N_METHOD, TC_DIGEST_METHOD, TC_DSA_KEY_VALUE, TC_KEY_INFO, TC_KEY_VALUE, TC_REFERENCE, TC_RSA_KEY_VALUE, TC_SIGNATURE, TC_SIGNATURE_METHOD, TC_SIGNED_INFO, TC_TRANSFORMS, TC_X509_DATA, VERBOSE, VERBOSE_PROPERTY, VERBOSE_PROPERTY_ALT
Constructor and Description |
---|
Signature()
Creates a Signature object with the signature algorithm defaulted to
SignatureAlgorithm.DSA_SHA1 . |
Signature(XMLInputStream xin,
java.lang.String ns) |
Modifier and Type | Method and Description |
---|---|
void |
addReference(Reference reference)
Adds a reference to be signed.
|
private void |
fromXMLInternal(XMLInputStream xin,
java.lang.String ns) |
(package private) XMLInputStream |
getEmbeddedObject() |
private EnvelopingReference |
getEnvelopingReference() |
KeyInfo |
getKeyInfo() |
java.util.Iterator |
getReferences()
Gets all of the references signed by this signature
|
java.lang.String |
getSignatureMethod() |
KeyResult |
getValidatingKey() |
static void |
main(java.lang.String[] args) |
void |
setCanonicalizationMethod(CanonicalizationMethod c14nMethod) |
void |
setCanonicalizationMethod(java.lang.String c14Method) |
(package private) void |
setIndent(int indent) |
void |
setKeyInfo(KeyInfo keyInfo) |
(package private) void |
setNamespaces(java.util.Map namespaces) |
void |
setSignatureMethod(java.lang.String algorithmURI) |
void |
sign(java.security.Key key)
Generates the signature.
|
void |
toXML(XMLOutputStream xos,
java.lang.String ns,
int indent) |
void |
validate(java.security.Key validatingKey)
Validates the signature and it's references.
|
void |
validateReferences() |
void |
validateSignature(KeyResolver resolver) |
private void |
validateSignature(KeyResult keyResult)
Validates the signature itself, not its references.
|
private SignedInfo signedInfo
private KeyInfo keyInfo
private java.lang.String signatureValue
private KeyResult validatingKey
private XMLInputStream objectSubstream
public Signature()
SignatureAlgorithm.DSA_SHA1
.Signature(XMLInputStream xin, java.lang.String ns) throws XMLStreamException
XMLStreamException
public void setSignatureMethod(java.lang.String algorithmURI) throws XMLSignatureException
XMLSignatureException
public java.lang.String getSignatureMethod()
public void setCanonicalizationMethod(java.lang.String c14Method) throws XMLSignatureException
XMLSignatureException
public void setCanonicalizationMethod(CanonicalizationMethod c14nMethod)
public void setKeyInfo(KeyInfo keyInfo)
public KeyInfo getKeyInfo() throws KeyInfoValidationException
KeyInfoValidationException
public void addReference(Reference reference)
public java.util.Iterator getReferences()
public void sign(java.security.Key key) throws XMLSignatureException
XMLSignatureException
public void validate(java.security.Key validatingKey) throws XMLSignatureException
XMLSignatureException
- If the core signature validation
passes but one or more references
failed validation.private void validateSignature(KeyResult keyResult) throws XMLSignatureException
SignatureValidationException
- If core signature validation failsXMLSignatureException
public void validateSignature(KeyResolver resolver) throws XMLSignatureException
XMLSignatureException
public void validateReferences() throws XMLSignatureException
XMLSignatureException
public KeyResult getValidatingKey()
void setIndent(int indent)
void setNamespaces(java.util.Map namespaces)
private EnvelopingReference getEnvelopingReference()
XMLInputStream getEmbeddedObject()
public void toXML(XMLOutputStream xos, java.lang.String ns, int indent) throws XMLStreamException
XMLStreamException
private void fromXMLInternal(XMLInputStream xin, java.lang.String ns) throws XMLStreamException
XMLStreamException
public static void main(java.lang.String[] args) throws java.lang.Exception
java.lang.Exception