10秒目をつむったら…

もろもろ初心者です。

PHPを使ってセキュアなメールを送りたくて、openssl_pkcs7_encryptが使えるかなと思ってやってみたのですが、やり方がよく分かりません。

とりあえず、以下のように書いてみたら、失敗しました。

$key = file_get_contents("hoge.cer");
if(openssl_pkcs7_encrypt("hogehoge",realpath("enc.txt"),$key,array("To"=>"mailaddress","From"=>"HQ","Subject"=>"Eyes only"))){
echo"成功";
}else{
echo"失敗";
}

hoge.cerは、Comodo FREE Personal Secure Email CertificateのやつをBase 64 encoded X.509でエクスポートしたものです。

mailaddressの部分は実際はComodoで登録したメールアドレスと記述していますが、教えてgooではメールアドレスを記述すると質問が中々反映されないので、便宜上mailaddressとしました。

何がダメか原因を教えてください!

A 回答 (3件)

> コードではなく証明書の方に問題があるのでしょうか?


それが判断できないくらい情報が少ないです。

現状どんなコードになっているか不明です。
最初のコードではrealpathの部分は明らかに間違いですが。

ファイルが生成されないのもパーミッションの可能性もあるし、疑わしい原因を絞りこむ情報が明らかに不足しています。
    • good
    • 0
この回答へのお礼

ありがとうございます。
この件は、一旦、断念いたします。

お礼日時:2014/02/06 23:48

> エラーは出ませんでした。


エラーを表示する設定にしているのですか?
    • good
    • 0
この回答へのお礼

表示する設定にしています。
コードではなく証明書の方に問題があるのでしょうか?
そうであれば、質問カテゴリー違いですね。
すみません。

お礼日時:2013/07/28 14:51

http://php.net/manual/ja/function.openssl-pkcs7- …
公式リファレンスにれいが書かれているのだから、まずはその通りやってみては?
    • good
    • 0
この回答へのお礼

ありがとうございます。

やってみたところ、enc.txtが生成されませんでした。
(エラーは出ませんでした。)
なお、openssl_pkcs7_encrypt()はfalseが返りました。

お礼日時:2013/07/28 03:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!