pkcs7署名検証に関するphp。解決

WBOY
リリース: 2016-06-13 13:19:30
オリジナル
1040 人が閲覧しました

pkcs7署名検証に関するphp。
// 受信者があなたが送信したものであることを確認できるように署名するメッセージ
//
$data = <<
あなたには夕食代として $10,000 を使う許可があります。

CEO
EOD;
// メッセージをファイルに保存
$fp = fopen("msg.txt" , "w");
fwrite($fp, $data);
fclose($fp);
// 暗号化します
if (openssl_pkcs7_sign("msg.txt", "signed. txt", "mycert.pem",
array("file://mycert.pem", "mypassphrase"),
array("To" => "joes@example.com", //キー付き構文
"From: HQ ", // インデックス付き構文
"Subject" => "目のみ")
)) {
// 署名されたメッセージ- 送信してください!
exec(ini_get("sendmail_path") . " < signed.txt");
}
?>
この関数を使用して署名を作成します。これには、読み取りと署名が含まれます。ファイルを書き込む場合、ファイルの同時実行性が高くなる可能性があります。PHP でこれに対処する良い方法はありますか?
具体的な点は、署名が必要な元のデータ $data を渡すだけでよく、この関数は毎回元のデータ $data をファイルに保存し、署名を行って、最後に文字列を保存する必要があるということです。 signed.txt への署名の後に生成されるため、実際にはファイル操作の問題が確実に発生します。

-----解決策---------
msg.txt と signed.txt のファイル名には、同じファイル名を使用しないでください。md5(uniqid) .".txt" を使用できます。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート