Welcome to the OpenSSL Project
OpenSSL is a robust, commercial-grade, full-featured Open Source Toolkit
for the Transport Layer Security (TLS) protocol formerly known as the
Secure Sockets Layer (SSL) protocol. The protocol implementation is based
on a full-strength general purpose cryptographic library, which can also
be used stand-alone.
OpenSSL is descended from the SSLeay library developed by Eric A. Young
and Tim J. Hudson.
The official Home Page of the OpenSSL Project is www.openssl.org.
Table of Contents
- Overview
- Download
- Build and Install
- Documentation
- License
- Support
- Contributing
- Legalities
Overview
The OpenSSL toolkit includes:
-
libssl
an implementation of all TLS protocol versions up to TLSv1.3 (RFC 8446). -
libcrypto
a full-strength general purpose cryptographic library. It constitutes the
basis of the TLS implementation, but can also be used independently. -
openssl
the OpenSSL command line tool, a swiss army knife for cryptographic tasks,
testing and analyzing. It can be used for- creation of key parameters
- creation of X.509 certificates, CSRs and CRLs
- calculation of message digests
- encryption and decryption
- SSL/TLS client and server tests
- handling of S/MIME signed or encrypted mail
- and more…
Download
For Production Use
Source code tarballs of the official releases can be downloaded from
www.openssl.org/source.
The OpenSSL project does not distribute the toolkit in binary form.
However, for a large variety of operating systems precompiled versions
of the OpenSSL toolkit are available. In particular, on Linux and other
Unix operating systems, it is normally recommended to link against the
precompiled shared libraries provided by the distributor or vendor.
For Testing and Development
Although testing and development could in theory also be done using
the source tarballs, having a local copy of the git repository with
the entire project history gives you much more insight into the
code base.
The official OpenSSL Git Repository is located at git.openssl.org.
There is a GitHub mirror of the repository at github.com/openssl/openssl,
which is updated automatically from the former on every commit.
A local copy of the Git Repository can be obtained by cloning it from
the original OpenSSL repository using
git clone git://git.openssl.org/openssl.git
or from the GitHub mirror using
git clone https://github.com/openssl/openssl.git
If you intend to contribute to OpenSSL, either to fix bugs or contribute
new features, you need to fork the OpenSSL repository openssl/openssl on
GitHub and clone your public fork instead.
git clone https://github.com/yourname/openssl.git
This is necessary because all development of OpenSSL nowadays is done via
GitHub pull requests. For more details, see Contributing.
Build and Install
After obtaining the Source, have a look at the INSTALL file for
detailed instructions about building and installing OpenSSL. For some
platforms, the installation instructions are amended by a platform specific
document.
- Notes for UNIX-like platforms
- Notes for Android platforms
- Notes for Windows platforms
- Notes for the DOS platform with DJGPP
- Notes for the OpenVMS platform
- Notes on Perl
- Notes on Valgrind
Specific notes on upgrading to OpenSSL 3.0 from previous versions can be found
in the migration_guide(7ossl) manual page.
Documentation
Manual Pages
The manual pages for the master branch and all current stable releases are
available online.
- OpenSSL master
- OpenSSL 3.0
- OpenSSL 1.1.1
Wiki
There is a Wiki at wiki.openssl.org which is currently not very active.
It contains a lot of useful information, not all of which is up-to-date.
License
OpenSSL is licensed under the Apache License 2.0, which means that
you are free to get and use it for commercial and non-commercial
purposes as long as you fulfill its conditions.
See the LICENSE.txt file for more details.
Support
There are various ways to get in touch. The correct channel depends on
your requirement. See the SUPPORT file for more details.
Contributing
If you are interested and willing to contribute to the OpenSSL project,
please take a look at the CONTRIBUTING file.
Legalities
A number of nations restrict the use or export of cryptography. If you are
potentially subject to such restrictions, you should seek legal advice before
attempting to develop or distribute cryptographic code.
Copyright
Copyright (c) 1998-2022 The OpenSSL Project
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
All rights reserved.
1.
When we build and ship Certify One and FireDaemon Fusion we try to ensure it contains the most recent version of OpenSSL. We thought it would be useful to make our OpenSSL Binary Distribution available for you to download and use in a standalone fashion or in your own software projects for free.
Table of Contents
- Download OpenSSL ZIP File
- OpenSSL ZIP File Installation Instructions
- Download OpenSSL 3.0 Windows Installer
- OpenSSL Screenshot
- OpenSSL Documentation
- Checking SSL / TLS Certificate Validity with Certify One
- Compiling OpenSSL From Source
- Source
- Release Policy
- Compilation and Build Script
- Dependencies
- Integrating OpenSSL with Your Visual Studio Project
- Additional Include Directories
- Additional Library Directories
- Privilege Escalation Mitigation
- Compatibility and Support Matrix
- License, Warranty, and Support
- Acknowledgments
- Buy SSL / TLS Certificates
Download OpenSSL ZIP File
Download OpenSSL Binary Distribution for Microsoft Windows |
|
Pre-compiled executables (EXE) and libraries (DLL) for Microsoft Windows Operating Systems. The distributions can be used standalone or integrated into any Windows application. The EXE and DLL are digitally signed with our Extended Validation (EV) EV code signing certificate. The distributions depend on the Microsoft Visual Studio runtime which is included in the ZIP file. |
|
November 2022 |
November 2022 |
For 64-bit / Win64 / x64 and 32-bit / Win32 / x86 Microsoft Windows Operating Systems OpenSSL maintains a list of 3rd-party maintained binary distributions of OpenSSL. Please review our Release Policy before downloading and using this distribution. |
OpenSSL ZIP File Installation Instructions
- Follow the instructions below if you have downloaded one of the ZIP files above and want to deploy OpenSSL manually (e.g. on the local hard disk or on a USB drive for a portable installation)
- Download the appropriate FireDaemon OpenSSL Binary Distribution ZIP file via the links above.
- Unpack the contents of the «openssl-1.1» or «openssl-3» folder in the respective ZIP file to a temporary directory (e.g. C:Temp)
- Copy the contents of (i.e. the files and directories contained within) the x64 folder or x86 folder to your target directory (e.g. C:OpenSSL)
- Copy the ssl folder and contents to the target directory
- Copy the prerequisites folders and contents to the target directory
- Install the appropriate Visual Studio C++ Runtime found in the prerequisites folder. Install VC_redist.x64.exe on 64-bit systems. Install VC_redist.x86.exe on 32-bit systems.
- To use OpenSSL, simply open an elevated Command Prompt then (adjusting the path in OPENSSL_HOME to suit your manual installation):
REM You can set OPENSSL_HOME=%~dp0 in a batch script for portable installs set OPENSSL_HOME=C:OpenSSL set OPENSSL_CONF=%OPENSSL_HOME%sslopenssl.cnf set PATH=%OPENSSL_HOME%bin;%PATH% cd /d %OPENSSL_HOME% openssl version -a
To create a certificate signing request and private key using the same environment variables as above :
openssl genrsa -out server.key 4096 openssl req -new -key server.key -out server.csr -sha256 openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Download OpenSSL 3.0 Windows Installer
Instead of downloading the ZIP file, and for convenience, you can download our Windows installer which will deploy OpenSSL 3.0 x64 (64-bit). OpenSSL is installed into the following file system locations. These locations are specified during the build and follow OpenSSL’s own conventions. Thanks to Advanced Installer for helping us out.
%PROGRAMFILES%FireDaemon OpenSSL 3 %PROGRAMFILES%Common FilesFireDaemon SSL 3
OpenSSL Screenshot
Below is a screenshot showing the executed commands at an elevated command prompt:
OpenSSL Documentation
Please refer to OpenSSL’s documentation.
Checking SSL / TLS Certificate Validity with Certify One
FireDaemon Certify One allows you to audit, check, inspect, and validate SSL / TLS certificates and certificate chains. Fortify also has a browser-based TLS Encryption Check Tool available.
Compiling OpenSSL From Source
Source
We directly pull from OpenSSL’s official GitHub repository.
Release Policy
Whenever we release an updated version of FireDaemon Fusion, Certify One, or OpenSSL gets updated with security fixes, we will provide the latest tagged version of the OpenSSL stable branch. The currently deployed OpenSSL library is version 3.0.7 and 1.1.1s at commit openssl-3.0.7-0-g19cc035b6c and OpenSSL_1_1_1s-0-g129058165d respectively:
git describe --always --tag --long --first-parent --dirty
Compilation and Build Script
The actual command line to build OpenSSL is as follows (where %toolset% is VC-WIN32 and VC-WIN64A respectively):
perl ..Configure %toolset% no-asm no-ssl3 no-zlib no-comp no-ui-console no-autoload-config --api=1.1.0 --prefix="%installdir%" --openssldir="%commoninstalldir%" -DOPENSSL_NO_DEPRECATED
For reference, the build script used to create the binary distributions is attached to this article. The build script has the following dependencies:
- Visual Studio Community Edition
- Git for Windows
- Strawberry Perl.
Dependencies
The OpenSSL binary distribution depends on the Microsoft Visual Studio runtime. The OpenSSL 1.1.1 binaries are built with the Microsoft Visual C++ (MSVC) 14.29 compiler and toolset. The OpenSSL 3 binaries are built with the Microsoft Visual C++ (MSVC) 14.33 compiler and toolset. The external dependency creates much smaller modules and .pdb files and integrates nicely with FireDaemon Fusion and Certify One. We believe that this shouldn’t be problematic since the MSVC 14.3 runtime is binary compatible with applications built using the MSVC 14.0 or 14.1 runtimes, and once installed the Universal C Runtime (CRT) is subject to automatic Windows updates.
Integrating OpenSSL with Your Visual Studio Project
To use the headers and libraries present in OpenSSL in your Visual Studio project, you will need to configure the properties of your project.
Additional Include Directories
Prepend «C:Program FilesFireDaemon Open SSL 3include»; to Property Pages -> C/C++ -> General -> Additional Include Directories in your project per the screenshot below (adjusting the prepended path to suit your installation):
Additional Library Directories
Prepend «C:Program FilesFireDaemon Open SSL 3lib»; to Property Pages -> Linker -> General -> Additional Library Directories in your project per the screenshot below (adjusting the prepended path to suit your installation):
Privilege Escalation Mitigation
When building OpenSSL, the build scripts bake the default location of the library (ie. the installation directory) and the SSL configuration into the final product. By default, OpenSSL automatically loads the SSL configuration file from the default file system location. This leads to an easily exploitable privilege escalation scenario documented in CVE-2019-12572. Our build of OpenSSL mitigates this flaw using the following preventative measures:
- The target directories we have chosen are Windows’ default system program files directories assuming a 64-bit architecture with a shared configuration file directory common to both x64 and x86:
- x64: C:Program FilesFireDaemon OpenSSL, C:Program FilesCommon FilesFireDaemon SSL
- x86: C:Program Files (x86)FireDaemon OpenSSL, C:Program FilesCommon FilesFireDaemon SSL
- To mitigate security holes even on non-default installations, we build the library such that it doesn’t automatically load the SSL configuration. Hence, when using the OpenSSL tools or the DLLs in your products you have to explicitly load the SSL configuration.
- All FireDaemon software products that utilise OpenSSL initialise the OpenSSL library at runtime using a flag that prevents the loading of the default configuration.
Compatibility and Support Matrix
The table below provides a compatibility and support matrix, mapping specific compatible Microsoft Windows operating system versions to specific FireDaemon OpenSSL software versions.
OpenSSL Versions |
OpenSSL 3.0 and OpenSSL 1.1.1 | |
Windows Operating System Version | 32-bit (x86) | 64-bit (x64) |
Windows XP (1) | ||
Windows Vista (1) | ||
Windows 7 (1) | ||
Windows 8 (1) | ||
Windows 8.1 (1) | ||
Windows 10 | ||
Windows 11 | ||
Server 2008 (2) | ||
Server 2008 R2 (2) | ||
Server 2012 | ||
Server 2012 R2 | ||
Server 2016 | ||
Server 2019 | ||
Server 2022 |
(1) Windows Desktop Operating System is End of Support
(2) Windows Server Operating System is End of Support
Compatible / Supported | The software product is designed to be installed on the Microsoft Windows operating system version. The operating system version plus software version combination is actively supported by us on the proviso that the 32-bit (x86) version is deployed on a 32-bit (x86) operating system and the 64-bit (x64) version is deployed on a 64-bit (x64) operating system. Please see the License, Warranty, and Support section below. |
Compatible / Unsupported | The software product should install on the Microsoft Windows operating system version. The operating system version plus software version combination is not supported by us. This is typically due to the operating system version reaching End of Support. |
Incompatible / Unsupported | The software product should not or does not install on the Microsoft Windows operating system version or does not work. The operating system version plus software version combination is not supported by us. |
License, Warranty, and Support
Our OpenSSL Binary Distribution is free to use and redistribute. Product use, redistribution, and warranty are governed by the OpenSSL License. If you have questions regarding OpenSSL, wish to report bugs, or require implementation guidance please consider joining the OpenSSL Community.
Acknowledgments
This product includes:
- Software developed by the OpenSSL Project for use in the OpenSSL Toolkit
- Cryptographic software written by Eric Young
- Software written by Tim Hudson.
Buy SSL / TLS Certificates
Each software is released under license type that can be found on program pages as well as on search or category pages. Here are the most common license types:
Freeware
Freeware programs can be downloaded used free of charge and without any time limitations. Freeware products can be used free of charge for both personal and professional (commercial use).
Open Source
Open Source software is software with source code that anyone can inspect, modify or enhance. Programs released under this license can be used at no cost for both personal and commercial purposes. There are many different open source licenses but they all must comply with the Open Source Definition — in brief: the software can be freely used, modified and shared.
Free to Play
This license is commonly used for video games and it allows users to download and play the game for free. Basically, a product is offered Free to Play (Freemium) and the user can decide if he wants to pay the money (Premium) for additional features, services, virtual or physical goods that expand the functionality of the game. In some cases, ads may be show to the users.
Demo
Demo programs have a limited functionality for free, but charge for an advanced set of features or for the removal of advertisements from the program’s interfaces. In some cases, all the functionality is disabled until the license is purchased. Demos are usually not time-limited (like Trial software) but the functionality is limited.
Trial
Trial software allows the user to evaluate the software for a limited amount of time. After that trial period (usually 15 to 90 days) the user can decide whether to buy the software or not. Even though, most trial software products are only time-limited some also have feature limitations.
Paid
Usually commercial software or games are produced for sale or to serve a commercial purpose.
В эпоху кибервойн единственная разумная позиция – быть параноиком, а это означает, помимо прочего, быть параноиком по поводу обновлений программного обеспечения.
Взять к примеру OpenSSL.
Эта криптографическая библиотека с открытым исходным кодом, которая реализует протоколы Transport Layer Security (TLS) и Secure Sockets Layer (SSL), разработана для «защиты связи по компьютерным сетям от перехвата», но угадайте, что?
С самого начала она была пронизана ошибками.
Это может быть неизбежно, в определенной степени – в конце концов, мы говорим о программном обеспечении.
Несмотря на то, что вы не можете ничего сделать с ошибками, которые еще предстоит идентифицировать, вы можете по крайней мере защитить свои системы от тех ошибок, которые уже исправлены и задокументированы.
Жаль, что официальный сайт OpenSSL предлагает только исходники для Linux.
Хотя дистрибутивы Linux обычно поставляются с OpenSSL, это не никак относится к Windows … или, скажем, «дистрибутивам Windows».
Если вы хотите запустить его, вам нужен бинарник под Windows, и если вы не хотите его собирать самостоятельно, вы должны найти другой вариант.
В этой статье я покажу,как можно настроить OpenSSL в Windows, не имея дело при этом дела со сборкой из исходников.
Содержание
- Шаг 1. Скачать бинарник
- Шаг 2. Запустите установщик
- Шаг 3. Запустите бинарный файл OpenSSL
Шаг 1. Скачать бинарник
Поиск бинарных файлов OpenSSL для Windows – непростая задача, но не отчаивайтесь.
Они существуют.
Чтобы загрузить нужный, перейдите по ссылке:
https://slproweb.com/products/Win32OpenSSL.html
Не дайте себя одурачить ни строкой Win32 в URL-адресе, ни навигацией, указывающей на казалось бы древнюю страницу загрузки еще с 2004 года.
Прокрутите страницу вниз до раздела «Download Win32 OpenSSL».
Теперь вам нужно выбрать правильный файл из этого списка.
Для каждой версии есть два основных типа: light и full.
Загрузите файл под названием «Win64 OpenSSL v1.1.0f» (или версию с более новой версией, как только она станет доступна), чтобы скачать фулл установщик.
Текущая версия на момент написания этой статьи (OpenSSL 1.1.0h) сильно отличается от предыдущих версий.
Это совсем не одно и то же, поэтому обратите внимание на номера релизов!
Худшее, что вы можете сделать, – это использовать старую версию, в которой есть задокументированные ошибки.
Шаг 2. Запустите установщик
Мы рекомендуем установить OpenSSL вне вашей системной директории Windows.
Следуйте инструкциям по установке через GUI.
Шаг 3. Запустите бинарный файл OpenSSL
Чтобы начать работу с OpenSSL, вы можете просто щелкнуть по нему правой кнопкой мыши в проводнике Windows в месте его установки, например в моем случае:
C:OpenSSL-Win64bin
затем выберите «Запуск от имени администратора».
Откроется окно cmd с командной строкой OpenSSL:
Теперь вы можете начать создавать ключи OpenSSL. (Кстати, пользователи утилиты удаленного доступа PuTTY могут экспортировать ключ OpenSSH из PuTTYgen.)
При использовании OpenSSL в Windows таким способом вы просто пропускаете команду openssl, которую видите в приглашении.
Например, чтобы создать пару ключей с помощью OpenSSL в Windows, вы можете ввести:
openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem
и следуйте инструкциям на экране, как обычно.
Чтобы просмотреть сертификат:
openssl x509 -text -noout -in certificate.pem
OpenSSL 1.1.1i — криптографическая библиотека с кодом открытого типа «Open source». Она предназначена для работы с протоколами SSL и TLS, а также доступна для платформ Windows и Unix.
Основные возможности
- Поддержка практически всех алгоритмов хеширования, шифрования и электронной подписи.
- Реализация большинства криптографических стандартов.
- Работа с ключами (RSA, DH, DSA) и сертификатами.
- Поддержка сертификатов X.509.
- Формирование приватных ключей CRT и CSR.
- Тестирование соединений: SSL и TLS.
Удобство использования
Библиотеку используют все разработчики WEB-приложений, поскольку она отвечает за безопасность. При создании сайта обязательно необходимо создавать SSL-ключ (файл, позволяющий связать криптографический ключ с доменным именем или сервером). Библиотеку можно использовать для тестирования соединений SSL и TTL.
Специальных приложений для работы с библиотекой в графическом интерфейсе не существует. В этом случае приходится довольствоваться только консольным режимом, в котором требуется вводить команды.
Для новичка, на первый взгляд, покажется все очень сложным, но на самом деле это не так. Для работы с библиотекой в Интернете можно найти множество инструкций и видеоуроков, в которых детально объясняются основные аспекты ее использования.
«Изюминка» библиотеки заключается в открытом коде, в который можно вносить изменения, переписывать и удалять ненужные функции, т. е. создавать свой собственный модуль.
Разработчики рекомендуют скачивать ее с официального сайта. Однако не стоит забывать и о «GitHub» (хранилище, которое IT-специалисты используют для обмена программным кодом).
Достоинства
- Поддержка алгоритмов шифрования, хеширования.
- Работа с сертификатами и электронной подписью.
- Тестирование SSL/TTL-соединений.
- Гибкая настройка параметров создаваемых сертификатов.
- Поддержка CRT и CSR, а также сертификата X.509.
- Работа с ключами RSA, DH и DSA.
- Бесплатная версия.
- Открытый код (можно вносить свои коррективы в исходный программный код библиотеки).
- Высокая степень надежности.
- Реализация всех типов криптографических стандартов.
Недостатки
- Отсутствие графического интерфейса.
- Сложный синтаксис команд для новичков.
Библиотека является неотъемлемой частью каждого WEB-приложения и напрямую связана с его безопасностью. Благодаря открытому коду, ее можно изменить и доработать под свои предпочтения.
Описание
OpenSSL – библиотека криптографических алгоритмов с открытым исходным кодом. Она получила распространение благодаря протоколу HTTPS, который использует шифрование SSL и TSL.
Библиотека по большей части написана на низкоуровневом языке программирования C. OpenSSL используется на UNIX и UNIX-like операционных системах: Linux, Solaris, macOS, QNX, BSD, а также ОС семейства Windows. Поддерживаемые аппаратные платформы: x32, x64, ARM и др.
В OpenSSL реализованы как симметричные, так и ассиметричные алгоритмы шифрования. Симметричные алгоритмы подразумевают, что используется один ключ для шифрования и дешифрования. В ассиметричных алгоритмах есть понятие открытого ключа (он передается по открытому каналу), который используется для проверки электронной подписи. Для подписания документов автором используется закрытый ключ.
Также в библиотеке OpenSSL предусмотрены Хеш-функции. Эти алгоритмы преобразуют данные различного размера в строку одинаковой длины по заданным алгоритмам. Такие действия применяются для хранения паролей в базах данных. Чтобы надежнее защитить данные, к паролю добавляется «соль». Таким образом, злоумышленники, имея таблицу хеш-сумм и зная алгоритм хеширования, не смогут получить изначальный пароль без криптографической соли.
Функции и особенности библиотеки OpenSSL для Windows:
- Поддержка основных алгоритмов шифрования и хеширования;
- Бесплатное распространение для коммерческого использования;
- Широкое распространение среди пользователей, благодаря чему быстро обнаруживаются и исправляются уязвимости;
- Применение в различных сферах: от ЭП до проверки корректности скачанного файла.
Официальный сайт: www.openssl.org
Скриншот
Скачать OpenSSL
Для полного комплекта мы рекомендуем вам также скачать Git for Windows (программа для контроля версий).
- Главная
- —
- Статьи 1С
- —
- Статьи и инструкции по 1С
- —
- Техподдержка
OpenSSL — инструмент разработки, который предназначен для реализации криптографических протоколов SSL и TLS в ваших проектах.
Что такое OpenSSL
OpenSSL — полноценная криптографическая библиотека с открытым исходным кодом, широко известна из-за расширения SSL/TLS, используемого в веб-протоколе HTTPS.
Поддерживает почти все низкоуровневые алгоритмы хеширования, шифрования и электронной подписи, а также реализует большинство популярных криптографических стандартов, в том числе: позволяет создавать ключи RSA, DH, DSA, сертификаты X.509, подписывать их, формировать CSR и CRT, шифровать данные и тестировать SSL/TLS соединения.
Доступна в виде пакетов для большинства UNIX-подобных операционных систем (включая Solaris/OpenSolaris, Linux, Mac OS X, QNX4[5], QNX6 и четырёх операционных систем BSD с открытым исходным кодом), а также для OpenVMS и Microsoft Windows.
Скачать OpenSSL для Windows
Выбирайте тот который соответствует разрядности вашей Windows.
Скачать надо EXE файл
Установка OpenSSL на Windows Server 2016
Запустите скачанный файл.
Укажите папку в которую установить приложение и запомните путь (в дальнейшем он еще понадобится)
Переменные среды
После установки приложения, необходимо прописать путь к нему в переменных среды Windows
Щелкните правой кнопкой по меню ПУСК и откройте окно Система
Откройте окно Переменные среды
Откройте переменную PATH
И добавьте два значения — Папку в которую установили приложение и ее подпапку BIN
Готово
Приложение установлено и готово к работе
Назад к списку статей