The SciSslOpenSSLInterface performs the OpenSSL API calls on behalf of an application. This flexibility would allow a developer to interface to another SSL implementation while requiring minimal changes to the SciSslSocketInterface application. This subapplication contains the following OS objects:
OSSslAsn1Integer - represents an integer in ASN.1 (Abstract Syntax Notation 1) OSSSlAsn1String - represents a string in ASN.1 OSSslCtx - represents a pointer to an SSL context object. OSSslRSAPrivateKey - represents a pointer to an RSA Private Key. OSSslSession - represents a pointer to an SSL session object. OSSSlX509 - represents a pointer to an X509 certificate.
The class side #_PRAGMA_SciSslFunctions method contains the PlatformFunction declarations and is described below.
The SciSslOpenSSLInterface declares the OpenSSL function calls as PlatformFunctions in the _PRAGMA_SciSslFunctions method. Because the OpenSSL API is quite extensive, the entire API has not been wrapped via such a declaration. The developer can implement further functions by adding entries to this method as necessary.
CAVEAT: When you add functions to _PRAGMA_SciSslFunctions, the new function must be placed alphabetically relative to the existing entries. When you add a new method and save the changes, a prompter appears that ensures that the namespace for the SciSslSocketInterface application will be kept in sync with its declarations. Answer yes to this prompter in order to make the application namespace and declarations consistent.