
Надёжный набор инструментов с открытым исходным кодом, реализующий протоколы TLS, DTLS и QUIC с полноценной криптографической библиотекой, а также инструмент командной строки для генерации ключей, сертификатов, шифрования и тестирования.
OpenSSL — это надёжный, коммерческого уровня, полнофункциональный набор инструментов с открытым исходным кодом для протоколов TLS (ранее SSL), DTLS и QUIC (в настоящее время только на стороне клиента).
Реализации протоколов основаны на полноценной криптографической библиотеке общего назначения, которую также можно использовать отдельно. Также включён криптографический модуль, сертифицированный на соответствие стандартам FIPS.
OpenSSL происходит от библиотеки SSLeay, разработанной Эриком А. Янгом и Тимом Дж. Хадсоном.
Официальная домашняя страница проекта OpenSSL — www.openssl.org.
Набор инструментов OpenSSL включает:
libssl реализацию всех версий протокола TLS вплоть до TLSv1.3 (RFC 8446), версий протокола DTLS вплоть до DTLSv1.2 (RFC 6347) и версии 1 протокола QUIC (в настоящее время только на стороне клиента) (RFC 9000).
libcrypto полноценную криптографическую библиотеку общего назначения. Она составляет основу реализации TLS, но также может использоваться независимо.
openssl инструмент командной строки OpenSSL — швейцарский нож для криптографических задач, тестирования и анализа. Его можно использовать для
Исходные архивы официальных релизов можно загрузить с www.openssl.org/source. Проект OpenSSL не распространяет набор инструментов в бинарном виде.
Однако для большого количества операционных систем доступны предварительно скомпилированные версии набора инструментов OpenSSL. В частности, в Linux и других Unix-подобных операционных системах обычно рекомендуется связываться с предварительно скомпилированными разделяемыми библиотеками, предоставляемыми дистрибьютором или поставщиком.
Мы также ведём список третьих сторон, которые создают бинарные сборки OpenSSL для различных операционных систем (включая Windows), на странице Binaries в нашей вики.
Хотя тестирование и разработку теоретически можно выполнять и с помощью исходных архивов, наличие локальной копии git-репозитория со всей историей проекта даёт гораздо больше понимания кодовой базы.
Официальный git-репозиторий OpenSSL расположен на git.openssl.org. Существует зеркало репозитория на GitHub по адресу github.com/openssl/openssl, которое автоматически обновляется из первого при каждом коммите.
Локальную копию git-репозитория можно получить, клонировав её из оригинального репозитория OpenSSL с помощью
git clone git://git.openssl.org/openssl.git
или из зеркала на GitHub с помощью
git clone https://github.com/openssl/openssl.git
Если вы намерены внести вклад в OpenSSL — исправить ошибки или добавить новые функции — вам необходимо сделать форк репозитория openssl/openssl на GitHub и клонировать вместо этого свой публичный форк.
git clone https://github.com/yourname/openssl.git
Это необходимо, потому что вся разработка OpenSSL в наши дни ведётся через pull request'ы на GitHub. Более подробную информацию см. в разделе Участие в разработке.
После получения исходного кода ознакомьтесь с файлом INSTALL для получения подробных инструкций по сборке и установке OpenSSL. Для некоторых платформ инструкции по установке дополняются документом, специфичным для конкретной платформы.
Специфические примечания по обновлению до OpenSSL 3.x с предыдущих версий можно найти на странице руководства ossl-guide-migration(7ossl).
В верхнем уровне дистрибутива исходного кода есть несколько файлов README.md, содержащих дополнительную информацию по конкретным темам.
Существует несколько учебных и вводных страниц по некоторым важным темам OpenSSL в [Руководстве по OpenSSL].
Справочные страницы для ветки master и всех текущих стабильных релизов доступны онлайн.
В подпапке demos находится множество примеров исходного кода для использования различных возможностей OpenSSL.
Существует вики на wiki.openssl.org, которая в настоящее время не очень активна. Она содержит много полезной информации, хотя не вся она актуальна.
OpenSSL распространяется под лицензией Apache License 2.0, что означает, что вы можете свободно получать и использовать его в коммерческих и некоммерческих целях при условии соблюдения её условий.
Подробнее см. в файле LICENSE.txt.
Существуют различные способы связаться с нами. Правильный канал зависит от ваших потребностей. Подробнее см. в файле SUPPORT.
Если вы заинтересованы и готовы внести вклад в проект OpenSSL, пожалуйста, ознакомьтесь с файлом CONTRIBUTING.
Ряд стран ограничивает использование или экспорт криптографии. Если вы потенциально подпадаете под такие ограничения, вам следует обратиться за юридической консультацией, прежде чем пытаться разрабатывать или распространять криптографический код.
Copyright (c) 1998-2023 The OpenSSL Project Authors
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
Все права защищены.