array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'tr', ), 'this' => array ( 0 => 'function.openssl-pkcs7-sign.php', 1 => 'openssl_pkcs7_sign', ), 'up' => array ( 0 => 'ref.openssl.php', 1 => 'OpenSSL İşlevleri', ), 'prev' => array ( 0 => 'function.openssl-pkcs7-read.php', 1 => 'openssl_pkcs7_read', ), 'next' => array ( 0 => 'function.openssl-pkcs7-verify.php', 1 => 'openssl_pkcs7_verify', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'tr', 'path' => 'reference/openssl/functions/openssl-pkcs7-sign.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
openssl_pkcs7_sign — Bir S/MIME iletiyi imzalar
$girdi_dosyası
,$çıktı_dosyası
,$sertifika
,$gizli_anahtar
,$başlıklar
,$seçenekler
= PKCS7_DETACHED
,$güvenilmez_sertifikalar_dosyası
= null
İleti girdi_dosyası
'ndan okunur,
sertifika
ve bununla ilgili
gizli_anahtar
kullanılarak imzalanır, elde edilen
imzalı ileti çıktı_dosyası
'na kaydedilir.
girdi_dosyası
İmzalanacak girdiyi içeren dosya.
çıktı_dosyası
İmzalanan girdinin kaydedileceği dosya.
sertifika
girdi_dosyası
nı imzalamakta kullanılacak
X.509 sertifikası. Geçerli değerler için bkz: Anahtar/Sertifika bağımsız değişkenleri
gizli_anahtar
sertifika
ile ilişkili gizli anahtar. Geçerli
değerler için bkz: Gizli/Genel
Anahtar bağımsız değişkenleri
başlıklar
İleti imzalandıktan sonra hazırlanan başlıkları içeren bir dizidir. Bu bağımsız değişken 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. Bkz: PKCS7 sabitleri.
güvenilmez_sertifikalar_dosyası
Alıcının imzayı doğrulamasına yardımcı olması için imzaya eklenecek sertifikaları içeren dosyanın yolu.
Sürüm: | Açıklama |
---|---|
8.0.0 |
sertifika artık
OpenSSLCertificate örneği kabul ediyor;
evvelce, OpenSSL X.509 CSR özkaynağı kabul edilirdi.
|
8.0.0 |
gizli_anahtar artık
OpenSSLAsymmetricKey veya
OpenSSLCertificate örneği kabul ediyor;
evvelce, OpenSSL key veya OpenSSL X.509
CSR özkaynağı kabul edilirdi.
was accepted.
|
Ö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", "file://mycert.pem",
array("file://mycert.pem", "mypassphrase"),
array("To" => "joes@example.com", // ilişkisel
"From: HQ <ceo@example.com>", // indisli
"Subject" => "Kişiye özel")
)) {
// ileti imzalandığına göre gönderebiliriz!
exec(ini_get("sendmail_path") . " < signed.txt");
}
?>