RecipientFound Event
Fires to report a message addressee parameters.
Syntax
ANSI (Cross Platform) virtual int FireRecipientFound(MessageDecryptorRecipientFoundEventParams *e);
typedef struct {
const char *IssuerRDN;
const char *SerialNumber; int lenSerialNumber;
const char *SubjectKeyID; int lenSubjectKeyID;
int CertFound; int reserved; } MessageDecryptorRecipientFoundEventParams; Unicode (Windows) virtual INT FireRecipientFound(MessageDecryptorRecipientFoundEventParams *e);
typedef struct {
LPCWSTR IssuerRDN;
LPCSTR SerialNumber; INT lenSerialNumber;
LPCSTR SubjectKeyID; INT lenSubjectKeyID;
BOOL CertFound; INT reserved; } MessageDecryptorRecipientFoundEventParams;
- (void)onRecipientFound:(NSString*)issuerRDN :(NSData*)serialNumber :(NSData*)subjectKeyID :(BOOL)certFound;
#define EID_MESSAGEDECRYPTOR_RECIPIENTFOUND 4 virtual INT SECUREBLACKBOX_CALL FireRecipientFound(LPSTR &lpszIssuerRDN, LPSTR &lpSerialNumber, INT &lenSerialNumber, LPSTR &lpSubjectKeyID, INT &lenSubjectKeyID, BOOL &bCertFound);
Remarks
This event is fired for each addressee the message is encrypted for. It may fire several times in a row if the message is encrypted for more than one recipient.
The IssuerRDN, SerialNumber, and SubjectKeyID parameters to identify the recipient's certificate. CertFound indicates if the specified certificate has been located in Certificates collection. If it wasn't, you might want to look up the certificate manually, and add it to the collection inside the event handler.