openssl_sign
(PHP 4 >= 4.0.4, PHP 5)
openssl_sign -- 署名を生成する
説明
bool
openssl_sign ( string data, string &signature, mixed priv_key_id [, int signature_alg] )
成功した場合に TRUE を、失敗した場合に FALSE を返します。
成功した場合、署名が signature に格納されます。
openssl_sign() は、指定した
data に関してハッシュ計算に SHA1 を使用して
署名を計算し、その後 priv_key_id で
指定した秘密鍵を使用して暗号化を行います。data 自体は
暗号化されないことに注意してください。
注意:
オプションの 4 番目のパラメータ
signature_alg は、バージョン
5.0.0 で追加されました。デフォルト値は
OPENSSL_ALGO_SHA1 です。
詳細な情報は、
署名アルゴリズム
の一覧を参照ください。
例 1. openssl_sign() の例
<?php // $data に署名するデータが含まれていると仮定
// ファイルから公開鍵を取得し、使用可能とする $fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r"); $priv_key = fread($fp, 8192); fclose($fp); $pkeyid = openssl_get_privatekey($priv_key);
// 署名を計算 openssl_sign($data, $signature, $pkeyid);
// メモリからキーを開放する openssl_free_key($pkeyid); ?>
|
|
openssl_verify() も参照ください。