# OpenSSL

- はじめに
- インストール/設定
  - 要件
  - インストール手順
  - 実行時設定
  - リソース型
- 定義済み定数
  - 目的を調べるフラグ
  - 非対称暗号化のパディングフラグ
  - キーの型
  - PKCS7 フラグ/定数
  - 署名アルゴリズム
  - 暗号化方式
  - バージョン定数
  - Server Name Indication 定数
- キー/証明書パラメータ
- 証明書の認証
- OpenSSL 関数
  - openssl_cipher_iv_length — 暗号 iv の長さを取得
  - openssl_csr_export_to_file — CSR をファイルにエクスポートする
  - openssl_csr_export — CSR を文字列としてエクスポートする
  - openssl_csr_get_public_key — CERT の公開鍵を返す
  - openssl_csr_get_subject — CERT の 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 — Gets list of available curve names for ECC
  - openssl_get_md_methods — 利用可能なダイジェスト・メソッドを取得
  - openssl_get_privatekey — openssl_pkey_get_private のエイリアス
  - openssl_get_publickey — openssl_pkey_get_public のエイリアス
  - openssl_open — シール(暗号化)されたデータをオープン(復号)する
  - openssl_pbkdf2 — PKCS5 v2 の PBKDF2 文字列を生成する。デフォルトは SHA-1
  - openssl_pkcs12_export_to_file — PKCS#12 互換の証明書保存ファイルをエクスポートする
  - openssl_pkcs12_export — PKCS#12 互換の証明書保存ファイルを変数にエクスポートする
  - openssl_pkcs12_read — PKCS#12 認証ストアをパースして配列形式にする
  - openssl_pkcs7_decrypt — S/MIME 暗号化されたメッセージを復号する
  - openssl_pkcs7_encrypt — S/MIME メッセージを暗号化する
  - openssl_pkcs7_read — Export the PKCS7 file to an array of PEM certificates
  - openssl_pkcs7_sign — S/MIME メッセージに署名する
  - openssl_pkcs7_verify — S/MIME で署名されたメッセージの署名を検証する
  - openssl_pkey_export_to_file — エクスポート可能な形式で、キーをファイルに取得する
  - openssl_pkey_export — エクスポート可能な形式で、キーを文字列に取得する
  - 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_challenge — Exports the challenge assoicated with a signed public key and challenge
  - openssl_spki_export — Exports a valid PEM formatted public key signed public key and challenge
  - openssl_spki_new — 署名された公開鍵とチャレンジを新規に作成する
  - openssl_spki_verify — Verifies a signed public key and challenge
  - openssl_verify — 署名を検証する
  - openssl_x509_check_private_key — 秘密鍵が証明書に対応するかを確認する
  - openssl_x509_checkpurpose — 証明書が特定の目的に使用可能かどうか確認する
  - openssl_x509_export_to_file — 証明書をファイルにエクスポートする
  - openssl_x509_export — 証明書を文字列としてエクスポートする
  - openssl_x509_fingerprint — 与えられた X.509 証明書のフィンガープリントあるいはダイジェストを計算する
  - openssl_x509_free — 証明書リソースを開放する
  - openssl_x509_parse — X509 証明書をパースし、配列として情報を返す
  - openssl_x509_read — X.509 証明書をパースし、リソース ID を返す