openssl_pkcs7_encrypt

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

openssl_pkcs7_encryptBir S/MIME iletiyi şifreler

Açıklama

openssl_pkcs7_encrypt ( string $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.

Değiştirgeler

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.

Dönen Değerler

Başarı durumunda TRUE, başarısızlık durumunda FALSE döner.

Sürüm Bilgisi

Sürüm: Açıklama
5.0.0 şifre değiştirgesi eklendi.

Örnekler

Ö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");
}
?>