libdigidocpp
digidoc::SignatureDDOC Class Reference

#include <DDoc.h>

Inheritance diagram for digidoc::SignatureDDOC:
Inheritance graph
Collaboration diagram for digidoc::SignatureDDOC:
Collaboration graph

Public Member Functions

virtual ~SignatureDDOC ()
virtual std::string getMediaType () const
std::vector< unsigned char > getNonce () const
X509Cert getOCSPCertificate () const
std::string getProducedAt () const
std::string getResponderID () const
void getRevocationOCSPRef (std::vector< unsigned char > &data, std::string &digestMethodUri) const throw (SignatureException)
virtual void validateOffline () const throw (SignatureException)
virtual CertStatus validateOnline () const throw (SignatureException)
- Public Member Functions inherited from digidoc::Signature
virtual ~Signature ()
std::string saveToXml () throw (IOException)
std::string getId () const
SignatureProductionPlace getProductionPlace () const
SignerRole getSignerRole () const
std::string getSigningTime () const
X509Cert getSigningCertificate () const throw (SignatureException)
std::string getSignatureMethod () const

Protected Member Functions

virtual void sign (Signer *signer) throw (SignatureException, SignException)
- Protected Member Functions inherited from digidoc::Signature
 Signature (unsigned int id)
 Signature (const std::string &path) throw (SignatureException)
void addReference (const std::string &uri, const std::string &digestUri, const std::vector< unsigned char > &digestValue, const std::string &type="") throw (SignatureException)
void setSigningCertificate (const X509Cert &cert)
void setSignatureProductionPlace (const SignatureProductionPlace &signatureProductionPlace)
void setSignerRole (const SignerRole &signerRole)
void setSigningTime (const xml_schema::DateTime &signingTime)
std::vector< unsigned char > getSignatureValue () const
void setSignatureValue (Signer::Signature signatureValue)
xades::SignedSignaturePropertiesType & getSignedSignatureProperties () const throw (SignatureException)
dsig::X509DataType::X509CertificateType & getSigningX509CertificateType () const throw (SignatureException)
std::vector< unsigned char > calcDigestOnNode (Digest *calc, const std::string &ns, const std::string &tagName) const throw (SignatureException)

Private Member Functions

 SignatureDDOC (int id, DDocPrivate *doc)

Private Attributes

SignatureDDOCPrivated

Friends

class DDocPrivate

Additional Inherited Members

- Public Types inherited from digidoc::Signature
enum  CertStatus { GOOD, REVOKED, UNKNOWN }
- Protected Attributes inherited from digidoc::Signature
dsig::SignatureType * signature
- Static Protected Attributes inherited from digidoc::Signature
static const std::string XADES_NAMESPACE = "http://uri.etsi.org/01903/v1.3.2#"

Detailed Description

DDoc Signature class

Definition at line 34 of file DDoc.h.

Constructor & Destructor Documentation

SignatureDDOC::~SignatureDDOC ( )
virtual

Destructs SignatureDDOC object

Definition at line 368 of file DDoc.cpp.

References d.

Member Function Documentation

std::string SignatureDDOC::getMediaType ( ) const
virtual
Returns
returns signature mimetype.

Implements digidoc::Signature.

Definition at line 373 of file DDoc.cpp.

References d, digidoc::DDocPrivate::doc, and digidoc::SignatureDDOCPrivate::priv.

std::vector< unsigned char > SignatureDDOC::getNonce ( ) const
Returns
returns OCSP nonce value

Definition at line 383 of file DDoc.cpp.

References d, digidoc::OCSP::getNonce(), and digidoc::SignatureDDOCPrivate::sig.

Here is the call graph for this function:

X509Cert SignatureDDOC::getOCSPCertificate ( ) const
std::string SignatureDDOC::getProducedAt ( ) const
std::string SignatureDDOC::getResponderID ( ) const
Returns
returns OCSP responder ID

Definition at line 419 of file DDoc.cpp.

References d, and digidoc::SignatureDDOCPrivate::sig.

void SignatureDDOC::getRevocationOCSPRef ( std::vector< unsigned char > &  data,
std::string &  digestMethodUri 
) const throw (SignatureException)
Parameters
dataRevocation digest
digestMethodUriRevocation digest method URI

Definition at line 429 of file DDoc.cpp.

void SignatureDDOC::sign ( Signer signer) throw (SignatureException, SignException)
protectedvirtual
Parameters
signer
Exceptions
SignatureException

Implements digidoc::Signature.

Definition at line 473 of file DDoc.cpp.

void SignatureDDOC::validateOffline ( ) const throw (SignatureException)
virtual

Do TM offline validations.

  • Validate BES offline
  • Check OCSP response (RevocationValues) was signed by trusted OCSP server
  • Check that nonce field in OCSP response is same as CompleteRevocationRefs->DigestValue
  • Recalculate hash of signature and compare with nonce
Exceptions
SignatureExceptionif signature is not valid

Implements digidoc::Signature.

Definition at line 451 of file DDoc.cpp.

References d, digidoc::DDocPrivate::doc, digidoc::DDocLibrary::f_verifySignatureAndNotary, digidoc::DDocPrivate::filename, digidoc::SignatureDDOCPrivate::lib, digidoc::SignatureDDOCPrivate::priv, digidoc::SignatureDDOCPrivate::sig, and digidoc::DDocPrivate::throwCodeError().

Referenced by validateOnline().

Here is the call graph for this function:

Here is the caller graph for this function:

SignatureDDOC::CertStatus SignatureDDOC::validateOnline ( ) const throw (SignatureException)
virtual

return

Exceptions
SignatureException

Implements digidoc::Signature.

Definition at line 462 of file DDoc.cpp.

References digidoc::Signature::GOOD, and validateOffline().

Here is the call graph for this function:

Friends And Related Function Documentation

friend class DDocPrivate
friend

Definition at line 56 of file DDoc.h.

Member Data Documentation

SignatureDDOCPrivate* digidoc::SignatureDDOC::d
private

The documentation for this class was generated from the following files: