cryptlib Application Programming Interface (API)
cryptlib’s application programming interface (API) serves as an interface to a range of security mechanisms and algorithms through a single API. Developers only need to learn one API in order to provide security services for their applications.
cryptlib’s powerful object management interface provides the ability to add encryption and authentication capabilities to an application without needing to know all the low-level details that make the encryption or authentication work. The automatic object-management routines take care of encoding issues and cross-platform portability problems, so that a handful of function calls are enough to create or process an S/MIME or PGP message or establish an SSL/TLS or SSH session.
At a lower level, one or two function calls are enough to communicate public-key encrypted data with all of the associated information and parameters needed to decrypt the data on the other side of a communications channel, or to digitally sign a piece of data. This provides a considerable advantage over other encryption toolkits that often require hundreds of lines of code and the manipulation of complex data structures to perform the same task.
cryptlib has been written to be as foolproof as possible. The APIs check each parameter and function call for errors before any actions are performed, with error reporting down to the level of individual parameters. In addition, logical errors such as, for example, key exchange functions being called in the wrong sequence, are checked for and identified.
cryptlib is re-entrant and completely thread-safe, allowing it to be used with multithreaded applications under Windows, Unix, and embedded or RTOS kernels that function at the per-task level. Because it’s thread-safe, lengthy crypto operations can be run in the background while other processing is performed in the foreground.