(PHP 4 >= 4.0.6, PHP 5, PHP 7)
openssl_pkcs7_encrypt — Bir S/MIME iletiyi şifreler
$girdi_dosyası
, string $çıktı_dosyası
, mixed $alıcı_sertifikaları
, array $başlıklar
[, int $seçenekler
= 0
[, int $şifre
= OPENSSL_CIPHER_RC2_40
]] ) : bool
Belirtilen alıcı_sertifikaları
ile okunabilir hale
getirmek üzere 40 bitlik bir RC2 şifresi kullanarak
girdi_dosyası
ile belirtilen içeriği şifreler ve
şifreli iletiyi çıktı_dosyası
'na kaydeder.
girdi_dosyası
çıktı_dosyası
alıcı_sertifikaları
Ya tek bir X.509 setifikasını içeren bir dizge ya da X.509 sertifikalarını içeren bir dizi olmalıdır.
başlıklar
İleti şifrelendikten sonra hazırlanan başlıkları içerecek dizi.
Dizi elemanların her biri ya tek bir başlık satırı içermeli ya da başlık ismini anahtar olarak alan bir ilişkisel dizi olmalıdır.
seçenekler
Kodlama işlemini etkileyen seçenekler; PKCS7 sabitlerine bakınız.
şifre
Kullanılacak şifre.
Başarı durumunda TRUE
, başarısızlık durumunda FALSE
döner.
Sürüm: | Açıklama |
---|---|
5.0.0 |
şifre değiştirgesi eklendi.
|
Örnek 1 - openssl_pkcs7_encrypt() örneği
<?php
// Bir iletiyi şifreleyip Atmaca kod adlı araştırma
// elemanınıza göndermek istediğinizi varsayalım.
// Sertifikası atmaca.pem dosyasında olsun.
$data = <<<EOD
Atmaca,
Çok gizli, kişiye özel!
8:30'da gizli yerimizde buluşalım.
Başkan
EOD;
// anahtarı yükleyelim
$key = file_get_contents("atmaca.pem");
// iletiyi dosyaya kaydedelim
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);
// encrypt it
if (openssl_pkcs7_encrypt("msg.txt", "enc.txt", $key,
array("To" => "[email protected]", // anahtarlı sözdizimi
"From: CEO <[email protected]>", // indisli sözdizimi
"Subject" => "Kişiye özel"))) {
// iletiyi şifreleyip gönderelim!
exec(ini_get("sendmail_path") . " < enc.txt");
}
?>