SignDoc SDK (C++)  5.0.0
TimeStamper Class Reference

Interface for creating an RFC 3161 timestamp. More...

#include <SignDocSDK-cpp.h>

Public Types

enum  StampResult {
  sr_ok, sr_invalid_input, sr_timeout, sr_stopped,
  sr_tcp_error, sr_ssl_error, sr_http_error, sr_server_error,
  sr_invalid_response
}
 Return value of stamp(). More...
 
enum  StampFlags { sf_dont_check_revocation = 0x01, sf_dont_hash = 0x02 }
 Flags for stamp(). More...
 

Public Member Functions

const char * getHashAlgorithmOID () const
 Get the object ID of the message digest algorithm. More...
 
const char * getFallbackHashAlgorithmOID () const
 Get the object ID of the fallback message digest algorithm. More...
 
StampResult stamp (const unsigned char *aHashPtr, size_t aHashSize, unsigned aRandomNonceSize, int aFlags, std::vector< unsigned char > &aOutput, int &aStatus, unsigned &aFailureInfo)
 Create a time-stamp request, send the request to the configured time stamping authority, and evaluate the response. More...
 
void stop ()
 Interrupt a stamp() call from another thread. More...
 
const char * getErrorMessage () const
 Get an error message for the last stamp() call. More...
 
 ~TimeStamper ()
 Destructor. More...
 
 TimeStamper (SIGNDOC_TimeStamper *aP)
 Internal function. More...
 
SIGNDOC_TimeStamper * getImpl ()
 Internal function. More...
 
const SIGNDOC_TimeStamper * getImpl () const
 Internal function. More...
 

Detailed Description

Interface for creating an RFC 3161 timestamp.

Member Enumeration Documentation

enum StampFlags

Flags for stamp().

Enumerator
sf_dont_check_revocation 

Do not check revocation.

Set this flag if you need only the size of the timestamp.

sf_dont_hash 

Do not hash the document message digest again.

Return value of stamp().

Enumerator
sr_ok 

Success.

sr_invalid_input 

Invalid argument or invalid time-stamp request.

sr_timeout 

Timeout.

sr_stopped 

Transaction interrupted by stop().

sr_tcp_error 

Some failure at the TCP/IP layer.

sr_ssl_error 

Some failure at the SSL/TLS layer.

sr_http_error 

Some failure at the HTTP layer.

sr_server_error 

The server failed to create the time stamp (according to PKIStatus).

sr_invalid_response 

The response from the server is invalid.

Constructor & Destructor Documentation

~TimeStamper ( )
inline

Destructor.

TimeStamper ( SIGNDOC_TimeStamper *  aP)
inline

Internal function.

Member Function Documentation

const char * getErrorMessage ( ) const
inline

Get an error message for the last stamp() call.

Returns
A pointer to a string describing the reason for the failure of the last stamp() call. The string is empty if the last call succeeded. The pointer is valid until this object is destroyed or stamp() is called again. The string is ASCII encoded, the error message is in English.
const char * getFallbackHashAlgorithmOID ( ) const
inline

Get the object ID of the fallback message digest algorithm.

Returns
A pointer to the object ID of the fallback message digest algorithm as string, e.g., "1.3.14.3.2.26" for SHA-1. The pointer is valid until the object implementing the TimeStamper interface is destroyed.
const char * getHashAlgorithmOID ( ) const
inline

Get the object ID of the message digest algorithm.

Returns
A pointer to the object ID of the message digest algorithm as string, e.g., "1.3.14.3.2.26" for SHA-1. The pointer is valid until the object implementing the TimeStamper interface is destroyed.
SIGNDOC_TimeStamper* getImpl ( )
inline

Internal function.

const SIGNDOC_TimeStamper* getImpl ( ) const
inline

Internal function.

TimeStamper::StampResult stamp ( const unsigned char *  aHashPtr,
size_t  aHashSize,
unsigned  aRandomNonceSize,
int  aFlags,
std::vector< unsigned char > &  aOutput,
int &  aStatus,
unsigned &  aFailureInfo 
)
inline

Create a time-stamp request, send the request to the configured time stamping authority, and evaluate the response.

The signature in the returned time-stamp token is not verified by this function.

Parameters
[in]aHashPtrA pointer to the first octet of the document message digest to be hashed (unless sf_dont_hash is set in aFlags) and signed.
[in]aHashSizeThe size (in octets) of the document message digest pointed to by aHashPtr).
[in]aRandomNonceSizeThe size (in octets, 1 through 256) of the random nonce in the time-stamp request.
[in]aFlagsFlags modifying the behavior of this function, see enum StampFlags.
[out]aOutputThe time-stamp token sent by the server will be stored here as blob if this function returns sr_ok. Otherwise, aOutput will be empty.
[out]aStatusThe PKIStatus value of the response from the server will be stored here. 0 if no response from the server is available.
[out]aFailureInfoThe PKIFailureInfo value of the response from the server will be stored here. 0 if no response from the server is available.
Returns
sr_ok if successful. Use getErrorMessage() to get an error message.
See also
getErrorMessage(), getHashAlgorithmOID(), stop()
void stop ( )
inline

Interrupt a stamp() call from another thread.

If this function is called while stamp() is waiting for the response from the server, stamp() will return sr_stopped.


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