説明
bool
openssl_open ( string sealed_data, string open_data, string env_key, mixed priv_key_id)
è¦å‘Š |
ã“ã®é–¢æ•°ã¯ã€
実験的ãªã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã«ã‚りã¾ã™ã€‚ã“れã¯ã€ã“ã®é–¢æ•°ã®
動作ã€é–¢æ•°åã€ã“ã“ã§æ›¸ã‹ã‚Œã¦ã„ã‚‹ã“ã¨å…¨ã¦ãŒPHPã®å°†æ¥ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§äºˆå‘Š
ãªã変更ã•れるå¯èƒ½æ€§ãŒã‚ã‚‹ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚注æ„ã‚’å–šèµ·ã™ã‚‹ã¨ã¨ã‚‚ã«è‡ªåˆ†
ã®ãƒªã‚¹ã‚¯ã§ã“ã®é–¢æ•°ã‚’使用ã—ã¦ä¸‹ã•ã„。 |
æˆåŠŸæ™‚ã«TRUEã€ã‚¨ãƒ©ãƒ¼æ™‚ã«FALSEã‚’è¿”ã—ã¾ã™ã€‚æˆåŠŸã—ãŸå ´åˆã€ã‚ªãƒ¼ãƒ—ンã•
れãŸãƒ‡ãƒ¼ã‚¿ãŒ open_data ã«è¿”ã•れã¾ã™ã€‚
openssl_open() ã¯ã€ã‚ーID
priv_key_id ãŠã‚ˆã³ã‚¨ãƒ³ãƒ™ãƒãƒ¼ãƒ—ã‚ー
env_key ã«é–¢é€£ã™ã‚‹å…¬é–‹ã‚ーを使用ã—ã¦ã€
sealed_data をオープン(復å·åŒ–)ã—ã¾ã™ã€‚エン
ベãƒãƒ¼ãƒ—ã‚ーã¯ã€ãƒ‡ãƒ¼ã‚¿ãŒã‚·ãƒ¼ãƒ«(æš—å·åŒ–)ã•れãŸéš›ã«ç”Ÿæˆã•れã€ç‰¹å®šã®
一ã¤ã®å…¬é–‹ã‚ーã§ã®ã¿ä½¿ç”¨ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚è©³ç´°ãªæƒ…å ±ã«ã¤ã„ã¦ã¯ã€
openssl_seal() ã‚’å‚照下ã•ã„。
例 1openssl_open() ã®ä¾‹ // $sealed ãŠã‚ˆã³ $env_key ã«æš—å·åŒ–ã•れãŸãƒ‡ãƒ¼ã‚¿ãŠã‚ˆã³ã‚¨ãƒ³ãƒ™ãƒãƒ¼ãƒ—ã‚ー
// ãŒå«ã¾ã‚Œã¦ã„ã‚‹ã¨ä»®å®šã€‚å…±ã«ã‚·ãƒ¼ãƒ«å…ƒ(æš—å·åŒ–å´)ã‹ã‚‰ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
// ファイルã‹ã‚‰å…¬é–‹ã‚ーをå–å¾—ã—ã€ä½¿ç”¨å¯èƒ½ã¨ã™ã‚‹
$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);
// データを復å·åŒ–ã—ã€$open ã«ä¿å˜
if (openssl_open($sealed, $open, $env_key, $pkeyid))
echo "here is the opened data: ", $open;
else
echo "failed to open data";
// 公開ã‚ーをメモリã‹ã‚‰é–‹æ”¾
openssl_free_key($pkeyid); |
|
openssl_seal() ã‚‚å‚照下ã•ã„。