Cryptography and SSL/TLS Toolkit

Git Repository

The OpenSSL software is developed using a Git repository. Read-only access to the repository is available at We also maintain a downstream clone on GitHub, at on GitHub. This repository is updated with every commit and is accessible through a number of protocols.

On the OpenSSL repository we only support the git protocol. Use the following command to clone the git repository including all available branches and tags:

$ git clone git://

Access to specific branches is possible via the standard branch and checkout commands. See the discussion of branch naming below for more information.

On Windows, once the repository is cloned, you should ensure that line endings are set correctly:

$ cd openssl
$ git config core.autocrlf false
$ git config core.eol lf
$ git checkout .

Git branch names and tagging

The master branch, also known as the development branch, contains the latest bleeding edge code. There are also several stable branches where stable releases come from. These take the form OpenSSL_x_y_z-stable so, for example, the 1.1.0 stable branch is OpenSSL_1_1_0-stable. When an actual release is made it is tagged in the form OpenSSL_x_y_zp or a beta OpenSSL_x_y_xp-betan, though you should normally just download the release tarball. Tags and branches are occasionally used for other purposes such as testing experimental or unstable code before it is merged into another branch.