
openssl openssl-4.0.3
Универсальная библиотека TLS и криптографии
Добро пожаловать в проект OpenSSL
[![openssl logo]][www.openssl.org]
[![github actions ci badge]][github actions ci]
OpenSSL — это надёжный, коммерческого уровня, полнофункциональный набор инструментов с открытым исходным кодом для протоколов Transport Layer Security (TLS, ранее SSL), Datagram TLS (DTLS) и QUIC.
Реализации протоколов основаны на полноценной криптографической библиотеке общего назначения, которую также можно использовать отдельно. Также включён криптографический модуль, прошедший валидацию на соответствие стандартам FIPS.
OpenSSL происходит от библиотеки SSLeay, разработанной Эриком А. Янгом и Тимом Дж. Хадсоном.
Официальная домашняя страница проекта OpenSSL — [www.openssl.org].
Содержание
- Обзор
- Загрузка
- Сборка и установка
- Документация
- Лицензия
- Поддержка
- Участие в разработке
- Правовые аспекты
Обзор
Набор инструментов OpenSSL включает:
-
libssl реализацию всех версий протокола TLS вплоть до TLSv1.3 ([RFC 8446]), версий протокола DTLS вплоть до DTLSv1.3 ([RFC 9147]) и протокола QUIC версии 1 ([RFC 9000]).
-
libcrypto полноценную криптографическую библиотеку общего назначения. Она составляет основу реализации TLS, но также может использоваться независимо.
-
openssl инструмент командной строки OpenSSL — швейцарский армейский нож для криптографических задач, тестирования и анализа. Его можно использовать для
- создания параметров ключей
- создания сертификатов X.509, CSR и CRL
- вычисления дайджестов сообщений
- шифрования и дешифрования
- тестирования SSL/TLS/DTLS и клиентов и серверов
- тестирования клиента QUIC
- обработки подписанной или зашифрованной почты S/MIME
- и многого другого...
Загрузка
Для промышленного использования
Исходные архивы официальных выпусков можно загрузить с openssl-library.org/source/. Проект OpenSSL не распространяет набор инструментов в бинарном виде.
Однако для множества операционных систем доступны предкомпилированные версии набора инструментов OpenSSL. В частности, в Linux и других Unix-подобных операционных системах обычно рекомендуется компоноваться с предкомпилированными разделяемыми библиотеками, предоставляемыми дистрибьютором или поставщиком.
Мы также ведём список третьих сторон, выпускающих бинарные сборки OpenSSL для различных операционных систем (включая Windows), на странице [Binaries] в нашей вики.
Для тестирования и разработки
Хотя тестирование и разработку в теории можно также вести с использованием исходных архивов, наличие локальной копии 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-запросы на 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 Wiki], которая в настоящее время не очень активна.
Лицензия
OpenSSL лицензирован под Apache License 2.0, что означает, что вы можете свободно получать и использовать его в коммерческих и некоммерческих целях при условии соблюдения её условий.
Подробнее см. файл LICENSE.txt.
Поддержка
Существуют различные способы связаться с нами. Правильный канал зависит от ваших потребностей. Подробнее см. файл SUPPORT.
Участие в разработке
Если вы заинтересованы и готовы внести вклад в проект OpenSSL, пожалуйста, ознакомьтесь с файлом CONTRIBUTING.