Audited events

PKIF generates events in the Application event log of the host operating system:

·   Loading and unloading PKIF.dll
·   Exceptions generated by security-critical subcomponents (e.g. colleague objects)
·   Specification of a default signature or decryption key
·   Signature generation failure
·   Signature verification failure
·   Decryption operation failure
·   Path development failure
·   Path validation failure

All events, except loading and unloading, are generated by mediator objects in response to invocation of functions with the audited service. The following table indicates the interfaces that generate each type of event.

 

Event

Interface that generates the event

Loading and unloading PKIF.dll

The DLLMain function generates event log entries when PKIF is loaded or unloaded by an application.

Exceptions generated by security-critical subcomponents (e.g. colleague objects)

All functional interfaces implemented by mediator classes

Specification of a default signature or decryption key

const CPKIFCredentialPtr CPKIFCryptoMediator2::SetDefaultKey(const std::string& asciiHexKeyID, DefaultKeyType op)

Signature generation success

void CPKIFCryptoMediator2::Sign(const CPKIFCredential& key, unsigned char* pHashData, int nHashDataLen, unsigned char* pSignature, int* nSignatureLen)

Signature generation failure

void CPKIFCryptoMediator2::Sign(const CPKIFCredential& key, unsigned char* pHashData, int nHashDataLen, unsigned char* pSignature, int* nSignatureLen)

Signature verification success

bool CPKIFCryptoMediator2::Verify(const CPKIFCredential& key, unsigned char* pHashData, int nHashDataLen, unsigned char* pSignature, int nSignatureLen)

bool CPKIFCryptoMediator2::Verify(const CPKIFKeyMaterial& key, unsigned char* pHashData, int nHashDataLen, unsigned char* pSignature, int nSignatureLen)

Signature verification failure

bool CPKIFCryptoMediator2::Verify (const CPKIFCredential& key, unsigned char* pHashData, int nHashDataLen, unsigned char* pSignature, int nSignatureLen)

bool CPKIFCryptoMediator2::Verify (const CPKIFKeyMaterial& key, unsigned char* pHashData, int nHashDataLen, unsigned char* pSignature, int nSignatureLen)

Decryption operation success

void CPKIFCryptoMediator2::Decrypt(IPKIFCryptContext* cryptContext, unsigned char* pData, int nDataLen, unsigned char* pResult, int* pnResultLen, bool final)

Decryption operation failure

void CPKIFCryptoMediator2::Decrypt(IPKIFCryptContext* cryptContext, unsigned char* pData, int nDataLen, unsigned char* pResult, int* pnResultLen, bool final)

Path development success

bool CPKIFPathProcessingMediator2::BuildPath(CPKIFCertificatePath& path)

Path development failure

bool CPKIFPathProcessingMediator2::BuildPath(CPKIFCertificatePath& path)

Path validation success

bool CPKIFPathProcessingMediator2::ValidatePath(CPKIFCertificatePath& path, CPKIFPathValidationResults& results, CPKIFFuncStoragePtr& thisCallOnlyFuncs)

Path validation failure

bool CPKIFPathProcessingMediator2::ValidatePath(CPKIFCertificatePath& path, CPKIFPathValidationResults& results, CPKIFFuncStoragePtr& thisCallOnlyFuncs)