# OpenSSL

# はじめに

この拡張モジュールは、対称鍵による暗号化、非対称鍵による暗号化や、 PBKDF2, PKCS7, PKCS12, X509 その他の暗号の操作を行う » OpenSSL ライブラリの機能をバインドしています。 それに加えて、TLS ストリームの実装も提供しています。

この拡張モジュールではまだサポートされていない機能が OpenSSL には多くあります。 それらのいくつかは将来的に追加される可能性があります。

- インストール/設定
  - 要件
  - インストール手順
  - 実行時設定
  - リソース型
- 定義済み定数
  - 目的を調べるフラグ
  - 非対称暗号化のパディングフラグ
  - キーの種類
  - PKCS7 フラグ/定数
  - CMS (暗号メッセージシンタックス) 関連のフラグ/定数
  - 署名アルゴリズム
  - 暗号化方式
  - バージョン定数
  - Server Name Indication 定数
  - その他の定数
- キー/証明書パラメータ
- 証明書の認証
- OpenSSL 関数
  - openssl_cipher_iv_length — 初期化ベクトル iv の長さを取得する
  - 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 の subject を返す
  - 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 — OpenSSL の Argon2 実装を使ってパスワードハッシュを作る
  - openssl_password_verify — OpenSSL の Argon2 実装を用いてパスワードをハッシュと照合する
  - 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 — エクスポート可能な形式で、キーを文字列に取得する
  - openssl_pkey_export_to_file — エクスポート可能な形式で、キーをファイルに取得する
  - 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