1
0
mirror of https://github.com/php/doc-ja.git synced 2026-03-24 07:02:08 +01:00
Files
Yoshinari Takaoka 044db490a1 Updated EN-Revision only
skip-revcheck が効いてない。迷惑
2024-06-15 19:17:38 +09:00

341 lines
11 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 8bc832a464e33122e8129f5a623bd845b69fa7e0 Maintainer: takagi Status: ready -->
<!-- Credits: mumumu -->
<refentry xml:id="context.ssl" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" annotations="verify_info:false" role="stream_context_option">
<refnamediv>
<refname>SSL コンテキストオプション</refname>
<refpurpose>SSL コンテキストオプションの一覧</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<para>
<literal>ssl://</literal> および <literal>tls://</literal>
トランスポート用のコンテキストオプションです。
</para>
</refsect1>
<refsect1 role="options"><!-- {{{ -->
&reftitle.options;
<para>
<variablelist>
<varlistentry xml:id="context.ssl.peer-name">
<term>
<parameter>peer_name</parameter>
<type>string</type>
</term>
<listitem>
<para>
使用するピア名。省略した場合は、ストリームをオープンしたときに使ったホスト名をもとに、名前を推測します。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="context.ssl.verify-peer">
<term>
<parameter>verify_peer</parameter>
<type>bool</type>
</term>
<listitem>
<para>
SSL サーバー証明書の検証を要求するかどうか。
</para>
<para>
デフォルトは &true; です。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="context.ssl.verify-peer-name">
<term>
<parameter>verify_peer_name</parameter>
<type>bool</type>
</term>
<listitem>
<para>
ピア名の検証を要求するかどうか。
</para>
<para>
デフォルトは &true; です。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="context.ssl.allow-self-signed">
<term>
<parameter>allow_self_signed</parameter>
<type>bool</type>
</term>
<listitem>
<para>
自己証明の証明書を許可するかどうか。
<link linkend="context.ssl.verify-peer"><parameter>verify_peer</parameter></link>
が必要です。
</para>
<para>
デフォルトは &false; です。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="context.ssl.cafile">
<term>
<parameter>cafile</parameter>
<type>string</type>
</term>
<listitem>
<para>
ローカルファイルシステム上の証明書ファイルの場所。
<literal>verify_peer</literal> オプションでリモートサーバーとの
認証の際に使用する。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="context.ssl.capath">
<term>
<parameter>capath</parameter>
<type>string</type>
</term>
<listitem>
<para>
<literal>cafile</literal> が指定されていなかったりその場所にファイルが
見つからなかったりした場合、<literal>capath</literal> が指す
ディレクトリを検索して認証ファイルを探します。<literal>capath</literal>
は認証ファイルのディレクトリを正確に指している必要があります。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="context.ssl.local-cert">
<term>
<parameter>local_cert</parameter>
<type>string</type>
</term>
<listitem>
<para>
ファイルシステム上のローカル証明書ファイルのパス。
あなたの証明書とプライベートキーを含み、<acronym>PEM</acronym> エンコードされた
ファイルである必要があります。オプションで、発行者の
認証チェーンを含めることも可能です。
プライベートキーは、
<literal>local_pk</literal> で指定した別のファイルに含めることも可能です。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="context.ssl.local-pk">
<term>
<parameter>local_pk</parameter>
<type>string</type>
</term>
<listitem>
<para>
ローカルファイルシステム上のプライベートキーファイルの場所。
証明書 (<literal>local_cert</literal>) とプライベートキーを別のファイルに分けたい場合に用います。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="context.ssl.passphrase">
<term>
<parameter>passphrase</parameter>
<type>string</type>
</term>
<listitem>
<para>
<literal>local_cert</literal> ファイルをエンコードした際の
パスフレーズ。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="context.ssl.verify-depth">
<term>
<parameter>verify_depth</parameter>
<type>int</type>
</term>
<listitem>
<para>
証明書のチェインが深すぎる場合に終了するかどうか。
</para>
<para>
デフォルトでは検証を行いません。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="context.ssl.ciphers">
<term>
<parameter>ciphers</parameter>
<type>string</type>
</term>
<listitem>
<para>
使用可能な暗号化方式の一覧を設定します。設定できるフォーマットは
<link xlink:href="&url.openssl.ciphers;">ciphers(1)</link> の説明を参照ください。
</para>
<para>
デフォルトは <literal>DEFAULT</literal> です。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="context.ssl.capture-peer-cert">
<term>
<parameter>capture_peer_cert</parameter>
<type>bool</type>
</term>
<listitem>
<para>
&true; に設定すると、<literal>peer_certificate</literal>
コンテキストオプションがピア証明書を含んで作成されます。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="context.ssl.capture-peer-cert-chain">
<term>
<parameter>capture_peer_cert_chain</parameter>
<type>bool</type>
</term>
<listitem>
<para>
&true; に設定すると、<literal>peer_certificate_chain</literal>
コンテキストオプションが証明書チェインを含んで作成されます。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="context.ssl.sni-enabled">
<term>
<parameter>SNI_enabled</parameter>
<type>bool</type>
</term>
<listitem>
<para>
&true; に設定すると、サーバー名の表示 (SNI) が有効になります。
これを有効にすると、同じ IP アドレスで複数の証明書を使えるようになります。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="context.ssl.disable-compression">
<term>
<parameter>disable_compression</parameter>
<type>bool</type>
</term>
<listitem>
<para>
設定すると、TLS 圧縮を無効にします。これは、CRIME アタックベクターを軽減するのに役立ちます。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="context.ssl.peer-fingerprint">
<term>
<parameter>peer_fingerprint</parameter>
<type>string</type> | <type>array</type>
</term>
<listitem>
<para>
リモート証明書のダイジェストが指定したハッシュに一致しない場合に、異常終了させます。
</para>
<para>
<type>string</type> を指定する場合は、その長さでハッシュアルゴリズムを判断します。
"md5" (32) あるいは "sha1" (40) のいずれかです。
</para>
<para>
<type>array</type> を指定する場合は、キーがハッシュアルゴリズムで、
それに対応する値がダイジェストとなります。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="context.ssl.security-level">
<term>
<parameter>security_level</parameter>
<type>int</type>
</term>
<listitem>
<para>
セキュリティレベルを設定します。
指定されない場合、ライブラリのデフォルトのセキュリティレベルが使われます。
セキュリティレベルについては、
<link xlink:href="&url.openssl.security-level;">SSL_CTX_get_security_level(3)</link>
に説明があります。
</para>
<para>
PHP 7.2.0 および OpenSSL 1.1.0 以降が必要です。
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1><!-- }}} -->
<refsect1 role="changelog"><!-- {{{ -->
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>7.2.0</entry>
<entry>
<parameter>security_level</parameter> が追加されました。
OpenSSL &gt;= 1.1.0 が必要です。
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1><!-- }}} -->
<refsect1 role="notes">
&reftitle.notes;
<note>
<simpara>
<literal>ssl://</literal>
<link linkend="wrappers.http"><literal>https://</literal></link> および
<link linkend="wrappers.ftp"><literal>ftps://</literal></link> のラッパーの
基盤となるものなので、<literal>ssl://</literal> に適用可能なオプションは
<literal>https://</literal> および <literal>ftps://</literal> にも
適用可能です。
</simpara>
</note>
<note>
<simpara>
SNI (Server Name Indication) を使うには、PHP のコンパイル時に
OpenSSL 0.9.8j 以降を使わなければなりません。SNI をサポートしているかどうかは
<constant>OPENSSL_TLSEXT_SERVER_NAME</constant> で判定します。
</simpara>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><xref linkend="context.socket" /></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->