⚠️ Warning: This is a draft ⚠️

This means it might contain formatting issues, incorrect code, conceptual problems, or other severe issues.

If you want to help to improve and eventually enable this page, please fork RosettaGit's repository and open a merge request on GitHub.

{{library}} From the [http://www.openssl.org/ OpenSSL site]: The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a full-strength general purpose cryptography library.

OpenSSL provides libraries for [[C|C language]], and the [http://www.openssl.org/docs/apps/openssl.html openssl(1)] command for [[UNIX Shell|shell scripts]]. Several other languages provide access to OpenSSL. [[Ruby]] has 'openssl' in its standard library.

OpenSSL has two libraries:

  • [http://www.openssl.org/docs/crypto/crypto.html crypto(3)] implements cryptographic algorithms, such as ciphers, message digests, and X.509 certificates. crypto(3) also exposes features, including [[arbitrary-precision integers (included)|arbitrary-precision integers]] called BIGNUMs, and a secure random number generator.
  • [http://www.openssl.org/docs/ssl/ssl.html ssl(3)] implements SSL and TLS.

To link OpenSSL to a C program, a typical [[Unix]] command is

cc -o program program.c -lcrypto -lssl