【PHP8.x】OPENSSL_TLSEXT_SERVER_NAME定数の使い方
OPENSSL_TLSEXT_SERVER_NAME定数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
OPENSSL_TLSEXT_SERVER_NAME定数は、インターネット上で安全な通信を行うための技術であるTLS(Transport Layer Security)における、SNI(Server Name Indication)拡張機能の存在や状態を表す定数です。
TLSは、ウェブサイトへのアクセスやデータの送受信において、通信内容が盗聴されたり改ざんされたりするのを防ぎ、データのプライバシーと完全性を保証するために広く利用されています。SNIは、一つのIPアドレスを持つサーバーが複数の異なるドメイン名(ウェブサイト)を運用している場合に非常に重要な役割を果たします。クライアント(例えばウェブブラウザやPHPスクリプト)がどのドメイン名のウェブサイトにアクセスしたいのかをTLSハンドシェイク時にサーバーに伝えることで、サーバーは正しいデジタル証明書を選択し、安全な接続を確立することが可能になります。
このOPENSSL_TLSEXT_SERVER_NAME定数自体は、SNI機能を直接有効化・無効化する設定値ではなく、OpenSSLライブラリがSNI拡張をサポートしていることを示す内部的な識別子、またはSNIに関連するコンテキストオプションの文脈で利用される可能性のあるフラグとして扱われます。PHPでstream_context_create関数などを用いてSSL/TLS接続を確立する際、'ssl'コンテキストオプションの中で、接続先のホスト名を指定することでSNI機能が自動的に活用されることが多いです。この定数を理解することは、そうした安全なネットワーク通信の仕組みを深く理解し、適切な設定を行う上で役立ちます。
構文(syntax)
1<?php 2echo OPENSSL_TLSEXT_SERVER_NAME; 3?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません