openssl_pkcs7_sign

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

openssl_pkcs7_signBir S/MIME iletiyi imzalar

Açıklama

openssl_pkcs7_sign ( string $girdi_dosyası , string $çıktı_dosyası , mixed $imza_sertifikası , mixed $gizli_anahtar , array $başlıklar [, int $seçenekler = PKCS7_DETACHED [, string $ek_sertifikalar ]] ) : bool

İleti girdi_dosyası'ndan okunur, imza_sertifikası ve bununla ilgili gizli_anahtar kullanılarak imzalanır, elde edilen imzalı ileti çıktı_dosyası'na kaydedilir.

Değiştirgeler

girdi_dosyası

çıktı_dosyası

imza_sertifikası

gizli_anahtar

başlıklar

İleti imzalandıktan sonra hazırlanan başlıkları içeren bir dizidir. Bu değiştirge ile ilgili ayrıntılı bilgi için openssl_pkcs7_encrypt()işlevine bakınız.

seçenekler

Çıktıda değişiklik yapmak için kullanılır. PKCS7 sabitlerine bakınız. Belirtilmezse PKCS7_DETACHED öntanımlıdır.

ek_sertifikalar

Alıcının imzayı doğrulamasına yardımcı olması için imzaya eklenecek sertifikaları içeren dosyanın yolu.

Dönen Değerler

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

Örnekler

Örnek 1 - openssl_pkcs7_sign() örneği

<?php
// Alıcının, iletinin sizden geldiğinden emin olması için
// iletiyi imzalamak istediğinizi varsayalım.
$data = <<<EOD

Ağırlama giderleri için sana 10.000 TL harcama yetkisi veriyorum.

Başkan
EOD;

// İletiyi dosyaya kaydedelim
$fp fopen("msg.txt""w");
fwrite($fp$data);
fclose($fp);

// şifreleyelim
if (openssl_pkcs7_sign("msg.txt""signed.txt""mycert.pem",
    array(
"file://mycert.pem""mypassphrase"),
    array(
"To" => "[email protected]",   // anahtarlı sözdizimi
          
"From: HQ <[email protected]>"// indisli sözdizimi
          
"Subject" => "Kişiye özel")
    )) {
    
// ileti imzalandığına göre gönderebiliriz!
    
exec(ini_get("sendmail_path") . " < signed.txt");
}
?>