1
0
mirror of https://github.com/php/doc-ja.git synced 2026-04-27 01:48:12 +02:00
Files
archived-doc-ja/reference/openssl/configure.xml
T

154 lines
6.1 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: badd30777a8ce1e6ad58265e36dfa76452e90119 Maintainer: hirokawa Status: ready -->
<!-- CREDITS: takagi,mumumu -->
<section xml:id="openssl.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.install;
<para>
PHP の OpenSSL サポートを使用するには、<option
role="configure">--with-openssl</option> を指定して PHP を
コンパイルする必要があります。
</para>
<para>
OpenSSL ライブラリを動作させるためには、実行時にさらに必要なものがあります。
特に、OpenSSL から乱数 (あるいは疑似乱数) 生成器にアクセスできなければなりません。
たいていの Unix および Unix 系のプラットフォーム (Linux など) の場合、
<literal>/dev/urandom</literal> あるいは
<literal>/dev/random</literal> デバイスがこれにあたります。
</para>
<para>
configure オプション
<option role="configure">--with-system-ciphers</option> が利用できます。
これにより、PHP がハードコードされたデフォルトではなく、システムが持つ暗号リストを使うようになります。
</para>
<note>
<title>Win32 ユーザーへの注意</title>
<para>
&ext.windows.path.dll;
<filename>libeay32.dll</filename>,
または、OpenSSL 1.1 以降では <filename>libcrypto-*.dll</filename>
</para>
<para>
加えてキー生成およびサイン認証関数を使用する計画がある場合、
システムに 有効な <filename>openssl.cnf</filename> をインストールする
必要があります。
Win32 バイナリ配布版にサンプル設定ファイルを同梱することにしました。
<filename class="directory">extras/ssl</filename> ディレクトリにあります。
</para>
<para>
PHP は、
以下のロジックにより <filename>openssl.cnf</filename> を探します。
<itemizedlist>
<listitem>
<simpara>
環境変数 <literal>OPENSSL_CONF</literal> が設定された場合、
設定ファイルの(ファイル名を含む)パスとして使用されます。
</simpara>
</listitem>
<listitem>
<simpara>
環境変数 <literal>SSLEAY_CONF</literal> が設定された場合、
設定ファイルの(ファイル名を含む)パスとして使用されます。
</simpara>
</listitem>
<listitem>
<simpara>
ファイル <filename>openssl.cnf</filename> はデフォルトの認証エリアに
あることが仮定され、openssl DLL がコンパイルされた時間で設定されます。
これは通常、デフォルトのファイル名が
<filename>c:\usr\local\ssl\openssl.cnf</filename> (x64の場合),
または <filename>C:\Program Files (x86)\Common Files\SSL\openssl.cnf</filename> (x86の場合),
PHP 7.4.0 より前のバージョンでは <filename>C:\usr\local\ssl\openssl.cnf</filename>
であることを意味します。
</simpara>
</listitem>
</itemizedlist>
</para>
<simpara>
インストール時に、設定ファイルを
デフォルトのパス または
他の場所にインストールし、(例えば仮想ホスト毎に)環境変数に設定ファ
イルの場所を指定するかを選ぶ必要があります。
設定ファイルを必要とする関数の <parameter>options</parameter>
より、デフォルトのパスを上書きすることが可能であることに注意してください。
</simpara>
<caution>
<simpara>
権限がないユーザーに
<filename>openssl.cnf</filename> を変更させないようにしてください。
</simpara>
</caution>
<simpara>
Windows 版の PHP 8.2.0 以降でデフォルトとなっている OpenSSL 3.0.0 以降、
いくつかのアルゴリズムがレガシーとみなされるようになっています。
そうしたアルゴリズムは、暗号のコミュニティは使わなくなってきており、
かつセキュアでないと見なされてきているものです。
これらのアルゴリズムはレガシープロバイダ
(<filename>extras/ssl/legacy.dll</filename>)
で利用できます。その使い方は OpenSSL マニュアルの
<link xlink:href="&url.openssl.config;#Provider-Configuration">provider configuration</link> で説明されています。
</simpara>
</note>
<simplesect role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>7.4.0</entry>
<entry>
<option role="configure">--with-openssl[=DIR]</option>
は、ディレクトリ名を引数として受け入れなくなりました。
代わりに、pkg-config の変数 <envar>PKG_CONFIG_PATH</envar>
を OpenSSL のインストールパスに設定するか、
環境変数 <envar>OPENSSL_LIBS</envar>
<envar>OPENSSL_CFLAGS</envar> を設定するようにしてください。
</entry>
</row>
<row>
<entry>7.4.0</entry>
<entry>
OpenSSL のデフォルトの設定ファイルのパスが
<filename>C:\usr\local\ssl</filename> から
<filename>C:\Program Files\Common Files\SSL</filename>
<filename>C:\Program Files (x86)\Common Files\SSL</filename> にそれぞれ変更されました。
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</simplesect>
</section>
<!-- 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
-->