説明
bool
openssl_sign ( string data, string signature, int priv_key_id)
è¦å‘Š |
ã“ã®é–¢æ•°ã¯ã€
実験的ãªã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã«ã‚りã¾ã™ã€‚ã“れã¯ã€ã“ã®é–¢æ•°ã®
動作ã€é–¢æ•°åã€ã“ã“ã§æ›¸ã‹ã‚Œã¦ã„ã‚‹ã“ã¨å…¨ã¦ãŒPHPã®å°†æ¥ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§äºˆå‘Š
ãªã変更ã•れるå¯èƒ½æ€§ãŒã‚ã‚‹ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚注æ„ã‚’å–šèµ·ã™ã‚‹ã¨ã¨ã‚‚ã«è‡ªåˆ†
ã®ãƒªã‚¹ã‚¯ã§ã“ã®é–¢æ•°ã‚’使用ã—ã¦ä¸‹ã•ã„。 |
æˆåŠŸæ™‚ã«TRUEã€å¤±æ•—ã—ãŸå ´åˆã«FALSEã‚’è¿”ã—ã¾ã™ã€‚æˆåŠŸã—ãŸå ´åˆã€ç½²åãŒ
signature ã«è¿”ã•れã¾ã™ã€‚
openssl_sign() ã¯ã€æŒ‡å®šã—ãŸ
data ã«é–¢ã—ã¦ãƒãƒƒã‚·ãƒ¥è¨ˆç®—ã« SHA1 を使用ã—
ã¦ç½²åを計算ã—ã€ãã®å¾Œã€priv_key_id ã§æŒ‡å®š
ã—ãŸå…¬é–‹ã‚ーを使用ã—ã¦æš—å·åŒ–を行ã„ã¾ã™ã€‚data è‡ªä½“ã¯æš—å·åŒ–ã•れãªã„
ã“ã¨ã«æ³¨æ„ã—ã¦ä¸‹ã•ã„。
例 1openssl_sign() ã®ä¾‹ // $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() ã‚‚å‚照下ã•ã„。