PHP 5.6+ ユーザー
これは、 PHP 5.6 OpenSSL の変更ページに記載されている新しい機能です。
これを書いている時点では、PHP5.6 は Beta1 であり、あまり役に立ちません。未来の人々 - 幸運を祈ります!
未来は私たちにかかっています。PHP 5.6 は問題であり、その使用を奨励する必要があります。mysql_* 関数などのかなり広く使用されているものは非推奨となるため、アップグレードの際は注意が必要です。
他のみんな
@toubsenは彼の答えで正しいです-これは直接可能ではありません。彼が提案した回避策について詳しく説明すると、サプライヤーの API サーバーが TLSv1.2 をサポートされている TLSv1.0 に正しくネゴシエートしなかった問題を回避するときに、暗号の小さなサブセットを送信すると、ネゴシエーションが正しく完了するように見えました。ストリーム コンテキスト コードは次のとおりです。
$context = stream_context_create(
[
'ssl' => [
'ciphers' => 'DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:KRB5-DES-CBC3-MD5:KRB5-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:DES-CBC3-SHA:DES-CBC3-MD5:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:AES128-SHA:RC2-CBC-MD5:KRB5-RC4-MD5:KRB5-RC4-SHA:RC4-SHA:RC4-MD5:RC4-MD5:KRB5-DES-CBC-MD5:KRB5-DES-CBC-SHA:EDH-RSA-DES-CBC-SHA:EDH-DSS-DES-CBC-SHA:DES-CBC-SHA:DES-CBC-MD5:EXP-KRB5-RC2-CBC-MD5:EXP-KRB5-DES-CBC-MD5:EXP-KRB5-RC2-CBC-SHA:EXP-KRB5-DES-CBC-SHA:EXP-EDH-RSA-DES-CBC-SHA:EXP-EDH-DSS-DES-CBC-SHA:EXP-DES-CBC-SHA:EXP-RC2-CBC-MD5:EXP-RC2-CBC-MD5:EXP-KRB5-RC4-MD5:EXP-KRB5-RC4-SHA:EXP-RC4-MD5:EXP-RC4-MD5',
],
]
);
SOAP ユーザー
PHP の SOAP クライアントは curl を使用していませんstream_context_set_default
。そのため、作成されたコンテキストは、次のように 2 番目のパラメーターで SOAPClient コンストラクターに渡す必要があります。
$soap_client = new SOAPClient('http://webservices.site.com/wsdlfile.wsdl', array('stream_context' => $context));
なぜそれらの暗号?
サーバーでコマンドopenssl ciphers
を実行すると、サポートされている暗号のリストが上記の形式で表示されます。実行openssl ciphers -v
すると、TLSv1.2 固有のものがわかります。上記のリストは、OpenSSL によって報告されたすべての非 TLSv1.2 暗号からコンパイルされました。
openssl ciphers -v | grep -v 'TLSv1.2' | cut -d ' ' -f 1 | tr "\n" ':'