OpenSSL is a free implementation of the SSL/TLS protocol, which is the most widely used protocol for secure network communications. This library can be used programmatically, and can be used from the command line to secure most TCP-based network protocols. OpenSSL is also a general-purpose cryptographic library with implementations of RSA, DSA, and DH public key algorithms ; various message digest algorithms, such as MD5, SHA1, and RIPE-MD160; and a wide variety of symmetric ciphers, including 3DES, RC4, IDEA, and many others (the upcoming 0.9.7 release contains support for AES, the Advanced Encryption Standard).
Support for X.509 certificates, various PKCS standards, and S/MIME v2 for secure electronic mail is also included. Instead of getting bogged down in the technical details of how SSL works under the hood, this book provides only the information that is necessary to use OpenSSL safely and effectively. The reader is taken step by step from understanding the challenges faced in communicating securely to using the OpenSSL tools to best meet those challenges.
System and network administrators will benefit from the thorough treatment of the OpenSSL command-line interface, as well as from step-by-step directions for obtaining certificates and setting up their own certification authority. Developers will benefit from the in-depth discussions and examples of how to use OpenSSL in their own programs. Although OpenSSL is written in C, information on how to use OpenSSL with Perl, Python, and PHP is also included.