OpenSSL の設定ファイルの各設定項目に対応する API 一覧表

OpenSSL には設定ファイルによってライブラリの挙動を設定する機能があるが[^SSL_CONF_cmd] [^CONF_modules_load_file] [^SSL_CTX_config]，設定ファイル中の各 **cmd** コマンドによる設定項目が OpenSSL のどの API 呼び出しにおおよそ対応するのかを表としてまとめるという，私以外の誰も得をしないことが決定的に明らかであるばかりか書いた本人すら役に立つかどうかを疑っているエントリ．

<table>
  <thead>
    <tr><th>CONF</th><th>SSL_CTX</th><th>SSL</th></tr>
  </thead>
  <tbody>
    <tr>
      <td>CipherString</td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set_cipher_list.html">SSL_CTX_set_cipher_list</a></td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_set_cipher_list.html">SSL_set_cipher_list</a></td>
    </tr>
    <tr>
      <td>Certificate</td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_CTX_use_certificate_chain_file.html">SSL_CTX_use_certificate_chain_file</a></td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_use_certificate_file.html">SSL_use_certificate_file</a></td>
    </tr>
    <tr>
      <td>PrivateKey</td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_CTX_use_PrivateKey_file.html">SSL_CTX_use_PrivateKey_file</a></td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_use_PrivateKey_file.html">SSL_use_PrivateKey_file</a></td>
    </tr>
    <tr>
      <td>ChainCAFile</td>
      <td>?</td>
      <td>?</td>
    </tr>
    <tr>
      <td>ChainCAPath</td>
      <td>?</td>
      <td>?</td>
    </tr>
    <tr>
      <td>VerifyCAFile</td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_CTX_load_verify_locations.html">SSL_CTX_load_verify_locations</a></td>
      <td>?</td>
    </tr>
    <tr>
      <td>VerifyCAPath</td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_CTX_load_verify_locations.html">SSL_CTX_load_verify_locations</a></td>
      <td>?</td>
    </tr>
    <tr>
      <td>ServerInfoFile</td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_CTX_use_serverinfo_file.html">SSL_CTX_use_serverinfo_file</a></td>
      <td>?</td>
    </tr>
    <tr>
      <td>DHParameters</td>
      <td>(未調査)</td>
      <td>(未調査)</td>
    </tr>
    <tr>
      <td>NoRenegotiation</td>
      <td>?</td>
      <td>?</td>
    </tr>
    <tr>
      <td>SignatureAlgorithms</td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set1_sigalgs_list.html">SSL_CTX_set1_sigalgs_list</a></td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_set1_sigalgs_list.html">SSL_set1_sigalgs_list</a></td>
    </tr>
    <tr>
      <td>ClientSignatureAlgorithms</td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set1_client_sigalgs_list.html">SSL_CTX_set1_client_sigalgs_list</a></td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_set1_client_sigalgs_list.html">SSL_set1_client_sigalgs_list</a></td>
    </tr>
    <tr>
      <td>Curves</td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set1_curves_list.html">SSL_CTX_set1_curves_list</a></td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_set1_curves_list.html">SSL_set1_curves_list</a></td>
    </tr>
    <tr>
      <td>MinProtocol</td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set_min_proto_version.html">SSL_CTX_set_min_proto_version</a></td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_set_min_proto_version.html">SSL_set_min_proto_version</a></td>
    </tr>
    <tr>
      <td>MaxProtocol</td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set_max_proto_version.html">SSL_CTX_set_max_proto_version</a></td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_set_max_proto_version.html">SSL_set_max_proto_version</a></td>
    </tr>
    <tr>
      <td>Options</td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set_options.html">SSL_CTX_set_options</a></td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_set_options.html">SSL_set_options</a></td>
    </tr>
    <tr>
      <td>VerifyMode</td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set_verify.html">SSL_CTX_set_verify</a></td>
      <td><a href="https://www.openssl.org/docs/manmaster/man3/SSL_set_verify.html">SSL_set_verify</a></td>
    </tr>
    <tr>
      <td>ClientCAFile</td>
      <td>?</td>
      <td>?</td>
    </tr>
    <tr>
      <td>ClientCAPath</td>
      <td>?</td>
      <td>?</td>
    </tr>
  </tbody>
</table>

[^SSL_CONF_cmd]: [SSL_CONF_cmd](https://www.openssl.org/docs/manmaster/man3/SSL_CONF_cmd.html "SSL_CONF_cmd")
[^CONF_modules_load_file]: [CONF_modules_load_file](https://www.openssl.org/docs/manmaster/man3/CONF_modules_load_file.html)
[^SSL_CTX_config]: [SSL_CTX_config](https://www.openssl.org/docs/manmaster/man3/SSL_CTX_config.html)