openssl_private_encrypt

秘密鍵でデータを暗号化する

説明

bool openssl_private_encrypt(
    #[\SensitiveParameter]string $data,
    string &$encrypted_data,
    #[\SensitiveParameter]OpenSSLAsymmetricKeyOpenSSLCertificatearraystring $private_key,
    int $padding = OPENSSL_PKCS1_PADDING
)

openssl_private_encrypt は、data を秘密鍵 private_key で暗号化し、それを encrypted_data に格納します。暗号化されたデータは、 openssl_public_decrypt を用いて復号可能です。

この関数を使用するのは、例えばデータ(あるいはその一部)に署名をし、 それが他人によって書かれたものでないことを証明する場合です。

パラメータ

data

encrypted_data

private_key

private_key は、 データの復号に使われる公開鍵と対になる秘密鍵である必要があります。

padding

padding には OPENSSL_PKCS1_PADDING あるいは OPENSSL_NO_PADDING が指定可能です。

戻り値

成功した場合に true を、失敗した場合に false を返します。

変更履歴

バージョン 説明
8.0.0 private_key は、 OpenSSLAsymmetricKey または OpenSSLCertificate クラスのインスタンスを受け入れるようになりました。 これより前のバージョンでは、 OpenSSL key または OpenSSL X.509 型のリソースを受け入れていました。

参考

  • openssl_public_encrypt
  • openssl_public_decrypt