SSLClientAuthentication Event
Fired when the client presents its credentials to the server.
Syntax
ANSI (Cross Platform) virtual int FireSSLClientAuthentication(MLLPServerSSLClientAuthenticationEventParams *e);
typedef struct {
int ConnectionId;
const char *CertEncoded; int lenCertEncoded;
const char *CertSubject;
const char *CertIssuer;
const char *Status;
int Accept; int reserved; } MLLPServerSSLClientAuthenticationEventParams; Unicode (Windows) virtual INT FireSSLClientAuthentication(MLLPServerSSLClientAuthenticationEventParams *e);
typedef struct {
INT ConnectionId;
LPCSTR CertEncoded; INT lenCertEncoded;
LPCWSTR CertSubject;
LPCWSTR CertIssuer;
LPCWSTR Status;
BOOL Accept; INT reserved; } MLLPServerSSLClientAuthenticationEventParams;
- (void)onSSLClientAuthentication:(int)connectionId :(NSData*)certEncoded :(NSString*)certSubject :(NSString*)certIssuer :(NSString*)status :(int*)accept;
#define EID_MLLPSERVER_SSLCLIENTAUTHENTICATION 9 virtual INT IPWORKSEDI_CALL FireSSLClientAuthentication(INT &iConnectionId, LPSTR &lpCertEncoded, INT &lenCertEncoded, LPSTR &lpszCertSubject, LPSTR &lpszCertIssuer, LPSTR &lpszStatus, BOOL &bAccept);
Remarks
This is where the server can decide whether to continue or not. 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").