SSLClientAuthentication Event

Fired when the client presents its credentials to the server.

Syntax

ANSI (Cross Platform)
virtual int FireSSLClientAuthentication(SysLogSSLClientAuthenticationEventParams *e);
typedef struct {
const char *RemoteAddress;
int RemotePort;
const char *CertEncoded; int lenCertEncoded;
const char *CertSubject;
const char *CertIssuer;
const char *Status;
int Accept; int reserved; } SysLogSSLClientAuthenticationEventParams; Unicode (Windows) virtual INT FireSSLClientAuthentication(SysLogSSLClientAuthenticationEventParams *e);
typedef struct {
LPCWSTR RemoteAddress;
INT RemotePort;
LPCSTR CertEncoded; INT lenCertEncoded;
LPCWSTR CertSubject;
LPCWSTR CertIssuer;
LPCWSTR Status;
BOOL Accept; INT reserved; } SysLogSSLClientAuthenticationEventParams;
- (void)onSSLClientAuthentication:(NSString*)remoteAddress :(int)remotePort :(NSData*)certEncoded :(NSString*)certSubject :(NSString*)certIssuer :(NSString*)status :(int*)accept;
#define EID_SYSLOG_SSLCLIENTAUTHENTICATION 6

virtual INT IPWORKS_CALL FireSSLClientAuthentication(LPSTR &lpszRemoteAddress, INT &iRemotePort, LPSTR &lpCertEncoded, INT &lenCertEncoded, LPSTR &lpszCertSubject, LPSTR &lpszCertIssuer, LPSTR &lpszStatus, BOOL &bAccept);

Remarks

This event fires when a client connects to the class and presents a certificate for authentication. The Accept parameter is a recommendation on whether to continue or close the connection. This is just a suggestion: application software must use its own logic to determine whether to continue or not.

When Accept is False, Status shows why the verification failed (otherwise, Status contains the string "OK").

RemoteAddress is the IP address of the connecting client.

RemotePort is the source port of the connecting client.

CertEncoded is the base64 encoded certificate presented by the client.

CertSubject is the subject of the certificate presented by the client.

CertIssuer is the subject of the issuer of the certificate presented by the client.

Status is the stauts of the certificate.

Accept defines whether the certificate is accepted.

Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks 2020 C++ Edition - Version 20.0 [Build 8307]