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

作成日: 更新日:

openssl_get_publickey関数は、証明書から公開鍵を取得、または公開鍵リソースを生成する関数です。具体的には、X.509証明書または公開鍵文字列から、対応する公開鍵リソースを取得するために使用されます。この関数は、暗号化操作において、証明書に含まれる公開鍵を利用したい場合に非常に重要となります。

引数には、X.509証明書のリソース、またはPEM形式の公開鍵文字列を指定します。成功した場合、関数は公開鍵リソースを返します。このリソースは、openssl_public_encrypt()、openssl_verify()といった他のOpenSSL関数で使用できます。もし失敗した場合、関数はfalseを返します。falseが返された場合、openssl_error_string()関数を使用してエラーの詳細情報を取得できます。

この関数を使用する際には、OpenSSL拡張機能がPHPにインストールされている必要があります。また、証明書または公開鍵文字列が正しい形式であることを確認する必要があります。誤った形式の証明書または公開鍵文字列を渡すと、関数は失敗し、falseを返します。公開鍵リソースの使用後は、openssl_free_key()関数を使用してリソースを解放することが推奨されます。これは、メモリリークを防ぐために重要です。openssl_get_publickey関数は、セキュアな通信やデータの検証において、公開鍵暗号を利用する上で不可欠な役割を果たします。

基本的な使い方

構文(syntax)

openssl_get_publickey(mixed $certificate): resource|false

引数(parameters)

mixed $public_key

  • mixed $public_key: 公開鍵を表すデータ。PEM形式の文字列、あるいはDER形式のバイナリデータ、もしくは既存のOpenSSL X.509証明書オブジェクトを指定できます。

戻り値(return)

OpenSSLAsymmetricKey|false

指定された公開鍵をPHPのOpenSSL拡張で扱える形式で返します。指定された公開鍵が無効な場合はfalseを返します。

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