XMLObject representing XML Digital Signature, version 20020212, Signature element. More...
#include <xmltooling/signature/Signature.h>
Public Member Functions | |
virtual const XMLCh * | getCanonicalizationMethod () const =0 |
Gets the canonicalization method for the ds:SignedInfo element. | |
virtual const XMLCh * | getSignatureAlgorithm () const =0 |
Gets the signing algorithm for the signature. | |
virtual void | setCanonicalizationMethod (const XMLCh *c14n)=0 |
Sets the canonicalization method for the ds:SignedInfo element. | |
virtual void | setSignatureAlgorithm (const XMLCh *sm)=0 |
Sets the signing algorithm for the signature. | |
virtual void | setSigningKey (XSECCryptoKey *signingKey)=0 |
Sets the signing key used to create the signature. | |
virtual void | setKeyInfo (KeyInfo *keyInfo)=0 |
Sets a KeyInfo object to embed in the Signature. | |
virtual KeyInfo * | getKeyInfo () const =0 |
Gets the KeyInfo object associated with the Signature. | |
virtual void | setContentReference (ContentReference *reference)=0 |
Sets the ContentReference object to the Signature to be applied when the signature is created. | |
virtual ContentReference * | getContentReference () const =0 |
Gets the ContentReference object associated with the Signature. | |
virtual DSIGSignature * | getXMLSignature () const =0 |
Gets the native Apache signature object, if present. | |
virtual void | sign (const xmltooling::Credential *credential=0)=0 |
Compute and append the signature based on the assigned ContentReference, KeyInfo, and signing key. | |
virtual Signature * | cloneSignature () const =0 |
Type-safe clone operation. | |
Static Public Member Functions | |
static unsigned int | createRawSignature (const XSECCryptoKey *key, const XMLCh *sigAlgorithm, const char *in, unsigned int in_len, char *out, unsigned int out_len) |
Sign the input data and return a base64-encoded signature. | |
static bool | verifyRawSignature (const XSECCryptoKey *key, const XMLCh *sigAlgorithm, const char *signature, const char *in, unsigned int in_len) |
Verifies a base-64 encoded signature over the input data. | |
Static Public Attributes | |
static const XMLCh | LOCAL_NAME [] |
Element local name. | |
Protected Member Functions | |
Signature () | |
Default constructor. |
XMLObject representing XML Digital Signature, version 20020212, Signature element.
The default signature settings include Exclusive c14n w/o comments, SHA-1 digests, and RSA-SHA1 signing.
xmlsignature::Signature::Signature | ( | ) | [protected] |
Default constructor.
virtual Signature* xmlsignature::Signature::cloneSignature | ( | ) | const [pure virtual] |
Type-safe clone operation.
static unsigned int xmlsignature::Signature::createRawSignature | ( | const XSECCryptoKey * | key, | |
const XMLCh * | sigAlgorithm, | |||
const char * | in, | |||
unsigned int | in_len, | |||
char * | out, | |||
unsigned int | out_len | |||
) | [static] |
Sign the input data and return a base64-encoded signature.
The signature value MUST NOT contain any embedded linefeeds.
Allows specialized applications to create raw signatures over any input using the same cryptography layer as XML Signatures use.
key | key to sign with | |
sigAlgorithm | XML signature algorithm identifier | |
in | input data | |
in_len | size of input data in bytes | |
out | output buffer | |
out_len | size of output buffer in bytes |
virtual const XMLCh* xmlsignature::Signature::getCanonicalizationMethod | ( | ) | const [pure virtual] |
Gets the canonicalization method for the ds:SignedInfo element.
virtual ContentReference* xmlsignature::Signature::getContentReference | ( | ) | const [pure virtual] |
Gets the ContentReference object associated with the Signature.
This is NOT provided for access to the data associated with an unmarshalled signature. It is used only in the creation of signatures. Access to data for validation purposes is provided through the native DSIGSignature object.
virtual KeyInfo* xmlsignature::Signature::getKeyInfo | ( | ) | const [pure virtual] |
Gets the KeyInfo object associated with the Signature.
This is NOT provided for access to the data associated with an unmarshalled signature. It is used only in the creation of signatures. Access to data for validation purposes is provided through the native DSIGSignature object.
virtual const XMLCh* xmlsignature::Signature::getSignatureAlgorithm | ( | ) | const [pure virtual] |
Gets the signing algorithm for the signature.
virtual DSIGSignature* xmlsignature::Signature::getXMLSignature | ( | ) | const [pure virtual] |
Gets the native Apache signature object, if present.
virtual void xmlsignature::Signature::setCanonicalizationMethod | ( | const XMLCh * | c14n | ) | [pure virtual] |
Sets the canonicalization method for the ds:SignedInfo element.
c14n | the canonicalization method |
virtual void xmlsignature::Signature::setContentReference | ( | ContentReference * | reference | ) | [pure virtual] |
Sets the ContentReference object to the Signature to be applied when the signature is created.
reference | the reference to attach, or nullptr |
virtual void xmlsignature::Signature::setKeyInfo | ( | KeyInfo * | keyInfo | ) | [pure virtual] |
virtual void xmlsignature::Signature::setSignatureAlgorithm | ( | const XMLCh * | sm | ) | [pure virtual] |
Sets the signing algorithm for the signature.
sm | the signature algorithm |
virtual void xmlsignature::Signature::setSigningKey | ( | XSECCryptoKey * | signingKey | ) | [pure virtual] |
Sets the signing key used to create the signature.
signingKey | the secret/private key used to create the signature |
virtual void xmlsignature::Signature::sign | ( | const xmltooling::Credential * | credential = 0 |
) | [pure virtual] |
Compute and append the signature based on the assigned ContentReference, KeyInfo, and signing key.
credential | optional source of signing key and KeyInfo |
static bool xmlsignature::Signature::verifyRawSignature | ( | const XSECCryptoKey * | key, | |
const XMLCh * | sigAlgorithm, | |||
const char * | signature, | |||
const char * | in, | |||
unsigned int | in_len | |||
) | [static] |
Verifies a base-64 encoded signature over the input data.
Allows specialized applications to verify raw signatures over any input using the same cryptography layer as XML Signatures use.
key | key to verify with | |
sigAlgorithm | XML signature algorithm identifier | |
signature | base64-encoded signature value | |
in | input data | |
in_len | size of input data in bytes |