(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
]] )
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çeneklerKodlama işlemini etkileyen seçenekler; PKCS7 sabitlerine bakınız.
şifreKullanı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" => "atmaca@example.com", // anahtarlı sözdizimi
"From: CEO <ceo@example.com>", // indisli sözdizimi
"Subject" => "Kişiye özel"))) {
// iletiyi şifreleyip gönderelim!
exec(ini_get("sendmail_path") . " < enc.txt");
}
?>