【PHP8.x】openssl_x509_verify関数の使い方

作成日: 更新日:

openssl_x509_verify関数は、X.509形式のデジタル証明書が信頼できるものであるか、その正当性を検証する関数です。この関数は、インターネット上でのセキュアな通信や、デジタル署名の確認において、通信相手や情報の提供元が偽装されていないこと、またその証明書が改ざんされていないことを保証するために利用されます。

具体的には、与えられた証明書の署名が有効であるか、証明書の有効期限が切れていないか、そしてその証明書を発行した認証局(CA)が信頼できるものであるかを確認します。通常、検証したい証明書と、その証明書を発行したCAの証明書、または信頼する証明書が格納されたファイルやディレクトリのパスを引数として指定して呼び出します。

検証が成功した場合は整数値の1を返し、検証に失敗した場合は0を返します。何らかのシステムエラーや不正な引数が渡された場合には-1を返します。この関数は、例えばウェブサーバーがクライアント証明書を検証する際や、クライアントがサーバー証明書の信頼性を確認する際など、暗号化通信のセキュリティを確立するために不可欠な役割を担っています。システムエンジニアにとって、安全なアプリケーションを構築する上で、証明書の検証メカニズムを理解することは非常に重要です。

基本的な使い方

構文(syntax)

<?php
$is_verified = openssl_x509_verify(
    $certificate_string_or_OpenSSLCertificate,
    $signature_source_string,
    $public_key_string_or_OpenSSLAsymmetricKey_or_OpenSSLCertificate,
    $optional_algorithms_array
);
?>

引数(parameters)

OpenSSLCertificate|string $certificate, OpenSSLAsymmetricKey|OpenSSLCertificate|string $public_key

  • OpenSSLCertificate|string $certificate: 検証する証明書オブジェクトまたは証明書を表す文字列
  • OpenSSLAsymmetricKey|OpenSSLCertificate|string $public_key: 証明書を検証するための公開鍵オブジェクト、証明書オブジェクト、または公開鍵を表す文字列

戻り値(return)

int

openssl_x509_verify 関数は、指定された証明書が署名者によって検証されたかどうかを示す整数値を返します。返される値は、検証の成功、失敗、またはエラー状況を示します。

【PHP8.x】openssl_x509_verify関数の使い方 | いっしー@Webエンジニア