{"id":735,"date":"2007-04-26T03:00:00","date_gmt":"2007-04-25T18:00:00","guid":{"rendered":"https:\/\/ecoop.net\/memo\/2007-04-26-3.html"},"modified":"2007-04-26T03:00:00","modified_gmt":"2007-04-25T18:00:00","slug":"2007-04-26-3","status":"publish","type":"post","link":"https:\/\/www.ecoop.net\/memo\/archives\/2007-04-26-3.html","title":{"rendered":"PHP \u3067 OpenSSL"},"content":{"rendered":"<p>\nPHP \u3067 OpenSSL \u95a2\u6570\u3092\u4f7f\u3063\u3066\u307f\u305f\u306e\u3067\u3001\u5b9a\u756a\u306e\u30cf\u30ed\u30fc\u30ef\u30fc\u30eb\u30c9\u3092\u7f6e\u3044\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<div class=\"readmore\"><\/p>\n<hr \/>\n<p>\nOpenSSL \u95a2\u6570\u3067\u6697\u53f7\u5316\u3001\u5fa9\u53f7\u5316\u3092\u884c\u3046\u306b\u306f\u3001<br \/>\n\u6697\u53f7\u5316\u3001\u5fa9\u53f7\u5316\u306b\u5fc5\u8981\u306a\u9375\u306e\u30da\u30a2\u3092 PEM \u5f62\u5f0f\u3067\u751f\u6210\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<br \/>\n1. \u30d1\u30b9\u30ef\u30fc\u30c9\u4ed8\u304d\u79d8\u5bc6\u9375 private_password.pem \u3092\u751f\u6210\n<\/p>\n<blockquote><p>$ openssl genrsa private_password.pem -des3 1024\n<\/p><\/blockquote>\n<p>2. (1)\u304b\u3089\u30d1\u30b9\u30ef\u30fc\u30c9\u306e\u306a\u3044\u79d8\u5bc6\u9375 private.pem \u3092\u751f\u6210\n<\/p>\n<blockquote><p>$ openssl rsa -in private_password.pem -out private.pem\n<\/p><\/blockquote>\n<p>3. (1)\u3092\u524a\u9664\n<\/p>\n<blockquote><p>$ rm private_password.pem\n<\/p><\/blockquote>\n<p>4. (2)\u304b\u3089\u516c\u958b\u9375 public.pem \u3092\u751f\u6210\n<\/p>\n<blockquote><p>$ openssl rsa -in private.pem -pubout -out public.pem\n<\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<hr \/>\n<p>\nopenssl_public_encrypt(), openssl_private<br \/>\n\u2026\u516c\u958b\u9375\u3067\u6697\u53f7\u5316\u3057\u3001\u79d8\u5bc6\u9375\u3067\u5fa9\u53f7\u5316\u3057\u307e\u3059\u3002<br \/>\n\u3064\u307e\u308a\u3001\u8ab0\u304b\u3089\u3067\u3082\u6697\u53f7\u5316\u3057\u3066\u9001\u308c\u308b\u304c\u3001\u5185\u5bb9\u3092\u8aad\u3081\u308b\u306e\u306f\u79d8\u5bc6\u9375\u3092\u6301\u3063\u3066\u3044\u308b\u4eba\u3060\u3051\u306b\u306a\u308b\u305f\u3081\u3001\u901a\u4fe1\u7d4c\u8def\u3067\u306e\u508d\u53d7\u304c\u4e0d\u53ef\u80fd\u306b\u306a\u308a\u3001\u5185\u5bb9\u304c\u5916\u90e8\u306b\u6d29\u308c\u308b\u5fc3\u914d\u304c\u306a\u3044\u306e\u3067\u6a5f\u5bc6\u6027\u304c\u9ad8\u304f\u306a\u308a\u307e\u3059\u3002<br \/>\n\u305f\u3060\u3057\u8ab0\u3067\u3082\u6697\u53f7\u5316\u3067\u304d\u308b\u306e\u3067\u5168\u304f\u5225\u306e\u5185\u5bb9\u3078\u306e\u304b\u3044\u3056\u3093\u306f\u53ef\u80fd\u3067\u3042\u308a\u3001\u5fc5\u305a\u3057\u3082\u4fe1\u983c\u6027\u306f\u3042\u308a\u307e\u305b\u3093\u3002<br \/>\n&nbsp;\n<\/p>\n<blockquote><p>\/\/ \u6697\u53f7\u5316\u306b\u4f7f\u3046\u516c\u958b\u9375<br \/>\n$public_key = file_get_contents(&#8220;public.pem&#8221;);<br \/>\n&nbsp;<br \/>\n\/\/ \u6697\u53f7\u5316\u3059\u308b\u6587\u5b57\u5217<br \/>\n$message = &#8220;Hello, world!!&#8221;;<br \/>\n&nbsp;<br \/>\n\/\/ \u6697\u53f7\u5316\u30c7\u30fc\u30bf\u306e\u7d50\u679c\u683c\u7d0d\u5148<br \/>\n$encrypted = &#8220;&#8221;;<br \/>\n&nbsp;<br \/>\n\/\/ \u6697\u53f7\u5316\u5b9f\u884c<br \/>\nif(!openssl_public_encrypt($message, $encrypted, $public_key)){<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;echo &#8220;\u6697\u53f7\u5316\u306b\u5931\u6557\\n&#8221;;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;die;<br \/>\n}<br \/>\n&nbsp;<br \/>\n\/\/ \u6697\u53f7\u5316\u7d50\u679c\u3092\u8868\u793a(\u305d\u306e\u307e\u307e\u3067\u306f\u8868\u793a\u3067\u304d\u306a\u3044\u306e\u3067BASE64\u30a8\u30f3\u30b3\u30fc\u30c9\u3059\u308b)<br \/>\necho &#8220;\u6697\u53f7\u5316\u30c7\u30fc\u30bf: \\n &#8220;.base64_encode($encrypted) . &#8220;\\n&#8221;;<br \/>\n&nbsp;<br \/>\n$message = null;<br \/>\n\/\/ &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n\/\/ \u5fa9\u53f7\u5316<br \/>\n\/\/ &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n\/\/ \u6697\u53f7\u5316\u306b\u4f7f\u3063\u305f\u516c\u958b\u9375\u306b\u5bfe\u5fdc\u3059\u308b\u79d8\u5bc6\u9375<br \/>\n$private_key = file_get_contents(&#8220;private.pem&#8221;);<br \/>\n&nbsp;<br \/>\n\/\/ \u5fa9\u53f7\u5316\u7d50\u679c\u683c\u7d0d\u5148<br \/>\n$result = &#8220;&#8221;;<br \/>\n&nbsp;<br \/>\n\/\/ \u5fa9\u53f7\u5316\u5b9f\u884c<br \/>\nif(!openssl_private_decrypt($encrypted, $result, $private_key)){<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;echo &#8220;\u5fa9\u53f7\u5316\u306b\u5931\u6557\\n&#8221;;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;die;<br \/>\n}<br \/>\n&nbsp;<br \/>\n\/\/ \u7d50\u679c\u51fa\u529b<br \/>\necho &#8220;\u5fa9\u53f7\u5316\u7d50\u679c: \\n &#8221; . $result . &#8220;\\n&#8221;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8220;BASE64:\\n&#8221; . base64_encode($result).&#8221;\\n&#8221;;  \/\/ \u6bd4\u8f03\u7528\n<\/p><\/blockquote>\n<p>\u7d50\u679c:\n<\/p>\n<blockquote><p>\u6697\u53f7\u5316\u30c7\u30fc\u30bf:<br \/>\nFmPaJ9jOmjl\/mK249NqUPzYjPUHsmFkSuNyp0SMlgW1c9RRzmKXBjcRhXH\/5fwTxItAcE8\/<br \/>\nAlZkjYo27XvGR7a3hdXxgaXbk4VORdRRk8LJXKB+xlVzF48OlHJ5lKUrXUdfr2BFtx53\/IH<br \/>\n431mBlYWDhf+KyW608eKAA0T34qRY=<br \/>\n\u5fa9\u53f7\u5316\u7d50\u679c:<br \/>\nHello, world!!<br \/>\nBASE64:<br \/>\nSGVsbG8sIHdvcmxkZmc=\n<\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<hr \/>\n<p>\nopenssl_private_encrypt(), openssl_public_decrypt() \u306e\u4f8b:<br \/>\n\u2026\u79d8\u5bc6\u9375\u3067\u6697\u53f7\u5316\u3057\u3001\u516c\u958b\u9375\u3067\u5fa9\u53f7\u5316\u3057\u307e\u3059\u3002<br \/>\n\u3064\u307e\u308a\u3001\u9375\u306e\u6240\u6709\u8005\u3057\u304b\u6697\u53f7\u5316\u3067\u304d\u306a\u3044\u306e\u3067\u4e2d\u8eab\u306e\u304b\u3044\u3056\u3093\u3082\u3001\u7d4c\u8def\u3067\u306e\u5dee\u3057\u66ff\u3048\u3082\u4e0d\u53ef\u80fd\u306b\u306a\u308a\u3001\u5185\u5bb9\u306b\u3064\u3044\u3066\u306e\u4fe1\u983c\u6027\u304c\u9ad8\u304f\u306a\u308a\u307e\u3059\u3002<br \/>\n\u305f\u3060\u3057\u8ab0\u3067\u3082\u8aad\u3081\u308b\u305f\u3081\u3001\u5185\u5bb9\u306e\u6a5f\u5bc6\u6027\u306f\u3042\u308a\u307e\u305b\u3093\u3002<br \/>\n&nbsp;<br \/>\n\u79d8\u5bc6\u9375\u3001\u516c\u958b\u9375\u306e\u4f7f\u3044\u65b9\u3092\u9006\u306b\u3059\u308b\u4ee5\u5916\u306f\u4e0a\u306e\u4f8b\u3068\u5168\u304f\u540c\u3058\u3067\u3059\u3002\n<\/p>\n<blockquote><p>\/\/ \u6697\u53f7\u5316\u306b\u4f7f\u3046\u79d8\u5bc6\u9375<br \/>\n$private_key = file_get_contents(&#8220;private.pem&#8221;);<br \/>\n&nbsp;<br \/>\n\/\/ \u6697\u53f7\u5316\u3059\u308b\u6587\u5b57\u5217<br \/>\n$message = &#8220;Hello, world!!&#8221;;<br \/>\n&nbsp;<br \/>\n\/\/ \u6697\u53f7\u5316\u30c7\u30fc\u30bf\u306e\u7d50\u679c\u683c\u7d0d\u5148<br \/>\n$encrypted = &#8220;&#8221;;<br \/>\n&nbsp;<br \/>\n\/\/ \u6697\u53f7\u5316\u5b9f\u884c<br \/>\nif(!openssl_private_encrypt($message, $encrypted, $private_key)){<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;echo &#8220;\u6697\u53f7\u5316\u306b\u5931\u6557\\n&#8221;;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;die;<br \/>\n}<br \/>\n&nbsp;<br \/>\n\/\/ \u6697\u53f7\u5316\u7d50\u679c\u3092\u8868\u793a(\u305d\u306e\u307e\u307e\u3067\u306f\u8868\u793a\u3067\u304d\u306a\u3044\u306e\u3067BASE64\u30a8\u30f3\u30b3\u30fc\u30c9\u3059\u308b)<br \/>\necho &#8220;\u6697\u53f7\u5316\u30c7\u30fc\u30bf: \\n &#8220;.base64_encode($encrypted) . &#8220;\\n&#8221;;<br \/>\n&nbsp;<br \/>\n$message = null;<br \/>\n\/\/ &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n\/\/ \u5fa9\u53f7\u5316<br \/>\n\/\/ &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n\/\/ \u6697\u53f7\u5316\u306b\u4f7f\u3063\u305f\u79d8\u5bc6\u9375\u304b\u3089\u4f5c\u3089\u308c\u305f\u516c\u958b\u9375<br \/>\n$public_key = file_get_contents(&#8220;public.pem&#8221;);<br \/>\n&nbsp;<br \/>\n\/\/ \u5fa9\u53f7\u5316\u7d50\u679c\u683c\u7d0d\u5148<br \/>\n$result = &#8220;&#8221;;<br \/>\n&nbsp;<br \/>\n\/\/ \u5fa9\u53f7\u5316\u5b9f\u884c<br \/>\nif(!openssl_public_decrypt($encrypted, $result, $public_key)){<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;echo &#8220;\u5fa9\u53f7\u5316\u306b\u5931\u6557\\n&#8221;;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;die;<br \/>\n}<br \/>\n&nbsp;<br \/>\n\/\/ \u7d50\u679c\u51fa\u529b<br \/>\necho &#8220;\u5fa9\u53f7\u5316\u7d50\u679c: \\n &#8221; . $result . &#8220;\\n&#8221;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8220;BASE64:\\n&#8221; . base64_encode($result).&#8221;\\n&#8221;;  \/\/ \u6bd4\u8f03\u7528\n<\/p><\/blockquote>\n<p>\u7d50\u679c:\n<\/p>\n<blockquote><p>\u6697\u53f7\u5316\u30c7\u30fc\u30bf:<br \/>\nCII4EW6LQBq0faVJxshUfk9VCdFsE66DnQPVdsLbvfq7tNCMzAIZbZA3GBxHu4cG2TqvOnn<br \/>\nxN9C9S9IgBIbulfj4c90IkrYtHQGt3RHAJBYiAgfmzCKbMr2cPJhZwkMUkjczXeaOD1htFJ<br \/>\nTL9e2RKsrWBVFIaiG1JgFk2Jyd928=<br \/>\n\u5fa9\u53f7\u5316\u7d50\u679c:<br \/>\nHello, world!!<br \/>\nBASE64:<br \/>\nSGVsbG8sIHdvcmxkZmc=\n<\/p><\/blockquote>\n<hr \/>\n<p>\nopenssl_open(), openssl_seal() \u306e\u4f8b:<br \/>\n\u2026\u540c\u5831\u30e1\u30fc\u30eb\u306e\u3088\u3046\u306b\u3001\u5225\u3005\u306e\u516c\u958b\u9375\u3092\u6301\u3064\u8907\u6570\u306e\u76f8\u624b\u306b\u5bfe\u3057\u3066\u540c\u3058\u30c7\u30fc\u30bf\u3092\u6697\u53f7\u5316\u3057\u3066\u9001\u308b\u5834\u5408\u306b\u4f7f\u3044\u307e\u3059<br \/>\n&nbsp;<br \/>\n&#8211; \u9001\u4fe1\u5074(\u9001\u4fe1\u5148\uff11\u306e\u516c\u958b\u9375 user1_public.pem \u3068\u9001\u4fe1\u5148\uff12\u306e\u516c\u958b\u9375 user2_public.pem \u3092\u6301\u3063\u3066\u3044\u308b\u3068\u3059\u308b. \u81ea\u5206\u306e\u9375\u306f\u5fc5\u8981\u3068\u3057\u306a\u3044)\n<\/p>\n<blockquote><p>\/\/ \u9001\u308a\u5148\u306e\u516c\u958b\u9375\u4e00\u89a7\u3002<br \/>\n$pubkeys = array(<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file_get_contents(&#8220;user1_public.pem&#8221;),<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file_get_contents(&#8220;user2_public.pem&#8221;),<br \/>\n&nbsp;&nbsp;&nbsp;);<br \/>\n&nbsp;<br \/>\n\/\/ \u9001\u308b\u5185\u5bb9<br \/>\n$real_message = &#8220;Hello, world!!&#8221;;<br \/>\n&nbsp;<br \/>\n\/\/ \u6697\u53f7\u5316\u30c7\u30fc\u30bf\u306e\u7d50\u679c\u683c\u7d0d\u5148<br \/>\n$encrypted = &#8220;&#8221;;<br \/>\n\/\/ \u5fa9\u53f7\u5316\u306b\u5fc5\u8981\u306a\u30a8\u30f3\u30d9\u30ed\u30fc\u30d7\u30ad\u30fc\u306e\u683c\u7d0d\u5148\u3002$pubkeys \u306e\u6570\u3060\u3051\u683c\u7d0d\u3055\u308c\u308b\u3002<br \/>\n$ekeys = array();<br \/>\n&nbsp;<br \/>\nif(!openssl_seal($real_message, $encrypted, $ekeys, $pubkeys)){<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;echo &#8220;\u6697\u53f7\u5316\u306b\u5931\u6557\u3057\u307e\u3057\u305f\\n&#8221;; <br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;die;<br \/>\n}<br \/>\n&nbsp;<br \/>\n\/\/ \u51fa\u529b. \u30a8\u30f3\u30d9\u30ed\u30fc\u30d7\u30ad\u30fc\u3068\u6697\u53f7\u5316\u30c7\u30fc\u30bf\u306b\u3064\u3044\u3066\u306f\u30d0\u30a4\u30c8\u30b3\u30fc\u30c9\u306a\u306e\u3067\u3001\u8868\u793a\u306e\u305f\u3081\u306b BASE64 \u30a8\u30f3\u30b3\u30fc\u30c9\u3057\u3066\u3044\u307e\u3059\u3002<br \/>\nfor($i = 0; $i < count($pubkeys); $i++){<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;echo &#8220;\u9001\u308a\u5148\u756a\u53f7: $i\\n&#8221; .<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8220;\u4f7f\u3063\u305f\u516c\u958b\u9375: \\n&#8221; . <br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$pubkeys[$i] .&#8221;\\n&#8221; .<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8220;\u5bfe\u5fdc\u3059\u308b\u30a8\u30f3\u30d9\u30ed\u30fc\u30d7\u30ad\u30fc: \\n&#8221; . <br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;base64_encode($ekeys[$i]) .&#8221;\\n&#8221; .<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8220;\u6697\u53f7\u5316\u3055\u308c\u305f\u30c7\u30fc\u30bf: \\n&#8221; . <br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;base64_decode($encrypted);<br \/>\n}\n<\/p><\/blockquote>\n<p>&nbsp;<br \/>\n\u53d7\u4fe1\u5074(\u9001\u4fe1\u5074\u304b\u3089\u30a8\u30f3\u30d9\u30ed\u30fc\u30d7\u30ad\u30fc $ekey \u3068\u6697\u53f7\u5316\u30c7\u30fc\u30bf $encrypted \u3092\u53d7\u3051\u53d6\u3063\u3066\u3044\u308b\u3068\u3059\u308b):\n<\/p>\n<blockquote><p>\/\/ \u9001\u4fe1\u5074\u304c\u6697\u53f7\u5316\u306b\u4f7f\u3063\u305f\u516c\u958b\u9375(user1_public.pem)\u306b\u5bfe\u5fdc\u3059\u308b\u79d8\u5bc6\u9375<br \/>\n$private_key = file_get_contents(&#8220;user1_private.pem&#8221;);<br \/>\n&nbsp;<br \/>\n\/\/ \u7d50\u679c\u683c\u7d0d\u5148\u3002\u5fa9\u53f7\u5316\u3057\u305f\u6587\u5b57\u5217\u304c\u5165\u308b<br \/>\n$message = &#8220;&#8221;;<br \/>\n&nbsp;<br \/>\nif(!openssl_open($encrypted, $message, $ekey, $private_key)){<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;echo &#8220;\u5fa9\u53f7\u5316\u306b\u5931\u6557\u3057\u307e\u3057\u305f\\n&#8221;;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;die;<br \/>\n}<br \/>\n&nbsp;<br \/>\n\/\/ \u7d50\u679c\u8868\u793a<br \/>\necho $message . &#8220;\\n&#8221;;\n<\/p><\/blockquote>\n<p>&nbsp;<br \/>\n\u9001\u4fe1\u5074\u7d50\u679c\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\n<\/p>\n<blockquote>\n<hr \/>\n<p>\n\u9001\u308a\u5148\u756a\u53f7: 0<br \/>\n\u4f7f\u3063\u305f\u516c\u958b\u9375:<\/p>\n<hr \/>\n<p>-BEGIN PUBLIC KEY&#8212;&#8211;<br \/>\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCzZFcKoXbuWzGvlv++7Y05\/jBh<br \/>\nnYC+PM67v3H2I5pYV8tUz\/6GqsG5afFgLJYoWPEd3KYXHb46B0GxEOydOTuTLEcv<br \/>\n+gVr6v4khgOgjxOcM1hlv+EvAThm1lIY1Y5lbTv+MEUyrGm7SDk8iUaHF6OBcQp3<br \/>\nNzkO6j3+YrsC8znXPwIDAQAB<\/p>\n<hr \/>\n<p>-END PUBLIC KEY&#8212;&#8211;<br \/>\n\u5bfe\u5fdc\u3059\u308b\u30a8\u30f3\u30d9\u30ed\u30fc\u30d7\u30ad\u30fc: <br \/>\nlu4ON1xW2hrrS1jXfav6mjWD32+Iuz1Jk20vhDRmSsfEp3vXuij7Z0R\/ClhpgE9MxDJADiU<br \/>\nLS\/CCUPuiZ3wUDErccfUFGGgcBKFsoXOgcX\/vSfhi8yCYu3BOD+h5fOMmg\/ZVe6NMjCVq50<br \/>\nD8yce5gPoypg2LHijse+0R1bPil8o=<br \/>\n\u6697\u53f7\u5316\u3055\u308c\u305f\u30c7\u30fc\u30bf: <br \/>\n0qf1eWjjaHkiqRFKijam<\/p>\n<hr \/>\n<p>\n\u9001\u308a\u5148\u756a\u53f7: 1<br \/>\n\u4f7f\u3063\u305f\u516c\u958b\u9375:<\/p>\n<hr \/>\n<p>-BEGIN PUBLIC KEY&#8212;&#8211;<br \/>\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCzZFcKoXbuWzGvlv++7Y05\/jBh<br \/>\nnYC+PM67v3H2I5pYV8tUz\/6GqsG5afFgLJYoWPEd3KYXHb46B0GxEOydOTuTLEcv<br \/>\n+gVr6v4khgOgjxOcM1hlv+EvAThm1lIY1Y5lbTv+MEUyrGm7SDk8iUaHF6OBcQp3<br \/>\nNzkO6j3+YrsC8znXPwIDAQAB<\/p>\n<hr \/>\n<p>-END PUBLIC KEY&#8212;&#8211;<br \/>\n\u5bfe\u5fdc\u3059\u308b\u30a8\u30f3\u30d9\u30ed\u30fc\u30d7\u30ad\u30fc:<br \/>\nHpv4sE4M4RGnbEAPMqFKxOOPDJG0hpWBoIXCe8xUaIzx\/dskUQ\/a+T4jYyw+RRGh11wlzZt<br \/>\nCJOjzkP3pbafc0ymElAzS8RFAne7bVuCJh44UF55thAUo0nZVo1\/2Wz9HuTDL23AYwc+jyh<br \/>\nU\/k24bpGh81VJl5I7IkItoDeiS70Y=<br \/>\n\u6697\u53f7\u5316\u3055\u308c\u305f\u30c7\u30fc\u30bf:<br \/>\n0qf1eWjjaHkiqRFKijam\n<\/p><\/blockquote>\n<p>\u53d7\u4fe1\u5074\u7d50\u679c:\n<\/p>\n<blockquote><p>Hello, world!!\n<\/p><\/blockquote>\n<p>&nbsp;<br \/>\n\u53c2\u8003:<br \/>\n&#8211; <a href=\"http:\/\/jp.php.net\/manual\/ja\/ref.openssl.php\">OpenSSL \u95a2\u6570<\/a>(php.net)<br \/>\n&nbsp;PHP \u30de\u30cb\u30e5\u30a2\u30eb\u306e OpenSSL \u95a2\u6570\u306b\u3064\u3044\u3066\u306e\u9805\u76ee\u3002<br \/>\n&#8211; <a href=\"http:\/\/www.infoscience.co.jp\/technical\/openssl\/\">OpenSSL \u516c\u5f0f\u30b5\u30a4\u30c8\u306e\u65e5\u672c\u8a9e\u8a33\u30b5\u30a4\u30c8<\/a><br \/>\n\u66f4\u65b0\u306f\u4e0d\u5b9a\u671f\u306e\u3088\u3046\u3067\u3059\u304c\u3001openssl \u306e\u30de\u30cb\u30e5\u30a2\u30eb\u304c\u53c2\u8003\u306b\u306a\u308a\u307e\u3059\u3002<br \/>\n\u516c\u5f0f\u306f<a href=\"http:\/\/www.openssl.org\/\">\u3053\u3061\u3089<\/a>\u3067\u3059\u3002\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>PHP \u3067 OpenSSL \u95a2\u6570\u3092\u4f7f\u3063\u3066\u307f\u305f\u306e\u3067\u3001\u5b9a\u756a\u306e\u30cf\u30ed\u30fc\u30ef\u30fc\u30eb\u30c9\u3092\u7f6e\u3044\u3066\u304a\u304d\u307e\u3059\u3002 OpenSSL \u95a2\u6570\u3067\u6697\u53f7\u5316\u3001\u5fa9\u53f7\u5316\u3092\u884c\u3046\u306b\u306f\u3001 \u6697\u53f7\u5316\u3001\u5fa9\u53f7\u5316\u306b\u5fc5\u8981\u306a\u9375\u306e\u30da\u30a2\u3092 PEM \u5f62\u5f0f\u3067\u751f\u6210\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 1.  &hellip; <a href=\"https:\/\/www.ecoop.net\/memo\/archives\/2007-04-26-3.html\" class=\"more-link\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"screen-reader-text\">PHP \u3067 OpenSSL<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[32,12],"class_list":["post-735","post","type-post","status-publish","format-standard","hentry","tag-php","tag-security"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/posts\/735","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/comments?post=735"}],"version-history":[{"count":0,"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/posts\/735\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/media?parent=735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/categories?post=735"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/tags?post=735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}