# OpenSSL

# Введение

Модуль связывает функции библиотеки » OpenSSL для симметричного и асимметричного шифрования и дешифрования, поддерживает операции по правилам стандартов PBKDF2, PKCS7, PKCS12, X509 и другие криптографические операции. Модуль также реализует потоки TLS.

Библиотека OpenSSL предлагает функции, которые модуль пока не поддерживает. Отдельные функций, если потребуется, добавят в будущем.

- Установка и настройка
  - Требования
  - Установка
  - Настройка во время выполнения
  - Типы ресурсов
- Предопределённые константы
  - Флаги проверки
  - Флаги заполнения для ассиметричного шифрования
  - Типы ключей
  - Константы-флаги структур PKCS7
  - Константы-флаги стуктур CMS
  - Алгоритмы подписи
  - Алгоритмы шифрования
  - Константы версий
  - Константа SNI (Server Name Indication)
  - Другие константы
- Параметры ключа и сертификата
- Проверка сертификата
- Функции OpenSSL
  - openssl_cipher_iv_length — Получает длину инициализирующего вектора шифра
  - openssl_cipher_key_length — Получает длину ключа шифрования
  - openssl_cms_decrypt — Расшифровывает CMS-сообщение
  - openssl_cms_encrypt — Зашифровывает CMS-сообщение
  - openssl_cms_read — Экспортирует файл CMS в массив сертификатов PEM
  - openssl_cms_sign — Подписывает файл
  - openssl_cms_verify — Проверяет подпись CMS
  - openssl_csr_export — Экспортирует CSR в виде строки
  - openssl_csr_export_to_file — Экспортирует CSR в файл
  - openssl_csr_get_public_key — Возвращает открытый ключ CSR
  - openssl_csr_get_subject — Возвращает субъект CSR
  - openssl_csr_new — Генерирует CSR
  - openssl_csr_sign — Подписывает CSR через другой сертификат (или им же) и создаёт сертификат
  - openssl_decrypt — Расшифровывает данные
  - openssl_dh_compute_key — Вычисляет общий секретный ключ для значения удалённого открытого ключа DH и локального ключа DH
  - openssl_digest — Вычисляет дайджест
  - openssl_encrypt — Шифрует данные
  - openssl_error_string — Возвращает сообщение об ошибке openSSL
  - openssl_free_key — Высвобождает ресурс ключа
  - openssl_get_cert_locations — Получает доступные месторасположения сертификатов
  - openssl_get_cipher_methods — Получает список доступных алгоритмов шифрования
  - openssl_get_curve_names — Получает список доступных имён кривых для ECC-шифрования
  - openssl_get_md_methods — Получает список доступных методов хеширования
  - openssl_get_privatekey — Псевдоним openssl_pkey_get_private
  - openssl_get_publickey — Псевдоним openssl_pkey_get_public
  - openssl_open — Открывает запечатанные данные
  - openssl_password_hash — Создаёт хеш пароля при помощи Argon2 из OpenSSL
  - openssl_password_verify — Проверяет соответствие пароля хешу при помощи Argon2 из OpenSSL
  - openssl_pbkdf2 — Генерирует строки PKCS5 v2 PBKDF2
  - openssl_pkcs12_export — Экспортирует совместимый с PKCS#12 файл хранилища сертификатов в переменную
  - openssl_pkcs12_export_to_file — Экспортирует в совместимый с PKCS#12 файл хранилища сертификатов
  - openssl_pkcs12_read — Разбирает хранилище сертификатов PKCS#12 в массив
  - openssl_pkcs7_decrypt — Расшифровывает S/MIME-сообщение
  - openssl_pkcs7_encrypt — Шифрует сообщение по стандарту S/MIME
  - openssl_pkcs7_read — Экспортирует PKCS7-файл в массив PEM-сертификатов
  - openssl_pkcs7_sign — Подписывает сообщение S/MIME
  - openssl_pkcs7_verify — Проверяет подпись S/MIME-сообщения
  - openssl_pkey_derive — Вычисляет общий секрет для открытого значения удалённого и локального ключа DH или ECDH
  - openssl_pkey_export — Получает строку с ключом в формате PEM
  - openssl_pkey_export_to_file — Записывает в файл ключ в формате PEM
  - openssl_pkey_free — Освобождает ресурс закрытого ключа
  - openssl_pkey_get_details — Получает массив с детальной информацией о ключе
  - openssl_pkey_get_private — Получает закрытый ключ
  - openssl_pkey_get_public — Извлекает открытый ключ из сертификата и подготавливает его к использованию
  - openssl_pkey_new — Генерирует новый закрытый ключ
  - openssl_private_decrypt — Расшифровывает данные закрытым ключом
  - openssl_private_encrypt — Шифрует данные секретным ключом
  - openssl_public_decrypt — Расшифровывает данные открытым ключом
  - openssl_public_encrypt — Шифрует данные открытым ключом
  - openssl_random_pseudo_bytes — Генерирует псевдослучайную последовательность байт
  - openssl_seal — Запечатывает, или зашифровывает, данные
  - openssl_sign — Генерирует подписи
  - openssl_spki_export — Экспортирует открытый ключ в формате PEM из подписанного открытого ключа с вызовом
  - openssl_spki_export_challenge — Экспортирует вызов, который связан с подписанным ключом и вызовом
  - openssl_spki_new — Создаёт подписанный открытый ключ с вызовом
  - openssl_spki_verify — Проверяет подписанный открытый ключ и вызов
  - openssl_verify — Проверяет подпись
  - openssl_x509_check_private_key — Проверяет, относится ли закрытый ключ к сертификату
  - openssl_x509_checkpurpose — Проверяет, можно ли использовать сертификат для конкретных задач
  - openssl_x509_export — Экспортирует сертификат в строку
  - openssl_x509_export_to_file — Экспортирует сертификат в файл
  - openssl_x509_fingerprint — Вычисляет отпечаток или дайджест, заданный сертификатом X.509
  - openssl_x509_free — Высвобождает ресурс сертификата
  - openssl_x509_parse — Разбирает сертификат X509 и получает массив с данными о нём
  - openssl_x509_read — Разбирает сертификат X.509 и возвращает для него объект
  - openssl_x509_verify — Проверяет цифровую подпись сертификата x509 публичным ключом
- OpenSSLCertificate — Класс OpenSSLCertificate
- OpenSSLCertificateSigningRequest — Класс OpenSSLCertificateSigningRequest
- OpenSSLAsymmetricKey — Класс OpenSSLAsymmetricKey

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open