
openssl openssl-4.0.2
Универсальная библиотека TLS и криптографии
Добро пожаловать в проект OpenSSL
OpenSSL — это надёжный, промышленного уровня, полнофункциональный набор инструментов с открытым исходным кодом для протоколов Transport Layer Security (TLS, ранее SSL), Datagram TLS (DTLS) и QUIC.
Реализации протоколов основаны на мощной криптографической библиотеке общего назначения, которую можно использовать и самостоятельно. Также включён криптографический модуль, сертифицированный по стандартам FIPS.
OpenSSL произошёл от библиотеки SSLeay, разработанной Эриком А. Янгом (Eric A. Young) и Тимом Дж. Хадсоном (Tim J. Hudson).
Официальная домашняя страница проекта OpenSSL — www.openssl.org.
Содержание
Обзор
Набор инструментов OpenSSL включает:
-
libssl реализацию всех версий протокола TLS до TLSv1.3 (RFC 8446), протоколов DTLS до DTLSv1.2 (RFC 6347) и протокола QUIC версии 1 (RFC 9000).
-
libcrypto мощную криптографическую библиотеку общего назначения. Она составляет основу реализации TLS, но может использоваться и независимо.
-
openssl инструмент командной строки OpenSSL, швейцарский нож для криптографических задач, тестирования и анализа. Его можно использовать для:
- создания ключевых параметров
- создания сертификатов X.509, CSR и CRL
- вычисления дайджестов сообщений
- шифрования и расшифровки
- тестирования клиентов и серверов SSL/TLS/DTLS
- тестирования клиентов QUIC
- обработки подписанных или зашифрованных писем S/MIME
- и многое другое...
Загрузка
Для производственного использования
Исходные коды в виде tarball официальных версий можно загрузить с openssl-library.org/source/. Проект OpenSSL не распространяет набор инструментов в бинарном виде.
Однако для большого разнообразия операционных систем доступны предварительно скомпилированные версии набора инструментов OpenSSL. В частности, на Linux и других Unix-подобных операционных системах обычно рекомендуется компоноваться с предварительно скомпилированными общими библиотеками, предоставляемыми дистрибьютором или вендором.
Мы также ведём список сторонних организаций, которые создают двоичные сборки OpenSSL для различных операционных систем (включая Windows), на странице Binaries в нашей вики.
Для тестирования и разработки
Хотя в теории тестирование и разработку можно вести, используя исходные tarball’ы, наличие локальной копии git-репозитория со всей историей проекта даёт гораздо больше понимания кодовой базы.
Основной Git-репозиторий OpenSSL является закрытым. Существует публичное зеркало на GitHub по адресу github.com/openssl/openssl, которое автоматически обновляется из основного репозитория при каждом коммите.
Локальную копию Git-репозитория можно получить, клонировав её из зеркала на GitHub с помощью
git clone https://github.com/openssl/openssl.git
Если вы намерены внести вклад в OpenSSL — исправить ошибки или добавить новые возможности — вам необходимо сделать форк зеркала на GitHub и клонировать свой публичный форк.
git clone https://github.com/yourname/openssl.git
Это необходимо, потому что всё развитие OpenSSL в настоящее время осуществляется через pull request’ы на GitHub. Подробнее см. в разделе Участие.
Сборка и установка
После получения исходного кода ознакомьтесь с файлом INSTALL для получения подробных инструкций по сборке и установке OpenSSL. Для некоторых платформ инструкции по установке дополнены платформенно-специфичными документами.
- Заметки для платформ, подобных UNIX
- Заметки для платформ Android
- Заметки для платформ Windows
- Заметки для платформы DOS с DJGPP
- Заметки для платформы OpenVMS
- Заметки по Perl
- Заметки по Valgrind
Специфические заметки по обновлению до OpenSSL 3.x с предыдущих версий можно найти на странице руководства ossl-guide-migration(7ossl).
Документация
README файлы
В корневом каталоге исходного кода есть несколько файлов README.md, содержащих дополнительную информацию по конкретным темам.
- Информация о реализации протокола QUIC в OpenSSL
- Информация об архитектуре провайдеров OpenSSL
- Информация об использовании сертифицированного модуля FIPS в OpenSSL
Руководство OpenSSL
В рамках [Руководства OpenSSL] доступны некоторые учебные и вводные страницы по важным темам OpenSSL.
Страницы руководства
Страницы руководства для ветки master и всех текущих стабильных выпусков доступны онлайн.
Демонстрации
В подпапке demos есть множество демонстрационных исходных кодов для использования различных возможностей OpenSSL.
Вики
Существует GitHub Вики, которая в настоящее время не очень активна.
Лицензия
OpenSSL распространяется по лицензии Apache License 2.0, что означает, что вы можете свободно получать и использовать его в коммерческих и некоммерческих целях при соблюдении её условий.
Для получения дополнительных сведений см. файл LICENSE.txt.
Поддержка
Существуют различные способы связи. Правильный канал зависит от ваших потребностей. Дополнительную информацию см. в файле SUPPORT.
Участие
Если вы заинтересованы и готовы внести вклад в проект OpenSSL, ознакомьтесь с файлом CONTRIBUTING.
Юридические аспекты
Ряд стран ограничивает использование или экспорт криптографии. Если вы потенциально подпадаете под такие ограничения, вам следует обратиться за юридической консультацией, прежде чем разрабатывать или распространять криптографический код.
Авторские права
Copyright (c) 1998-2026 Авторы проекта OpenSSL
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
Все права защищены.