<?php
// Başka bir sayfadaki bir textarea'ya aktarılmak üzere bir
// CSR alındığını varsayalım
$csrdata = $_POST["CSR"];
// Sertifikayı kendi "sertifika yetkilimizin sertifikası" ile
// imzalayacağız. İmzalamak için başka bir sertifika da kullanılabilirdi,
// fakat imzalama sertifikası yazılım/kulllanıcılar için güvenilir
// olmadıkça işlem işe yaramayacak ve yeni bir imzalı sertifika gerekecektir.
// Kendi CA sertifikamıza ve gizli anahtarımıza ihtiyacımız var
$cacert = "file://bir/yol/ca.crt";
$gizanh = array("file://bir/yol/ca.key", "gizanh_parolası");
$usercert = openssl_csr_sign($csrdata, $cacert, $privkey, 365, array('digest_alg'=>'sha256') );
// Üretilen sertifikayı gösterelim ki, kullanıcı onu kendi alanına
// kopyalayabilsin (örneğin SSL sunucusunun sertifikasının bulunduğu dosyaya)
openssl_x509_export($usercert, $certout);
echo $certout;
// Oluşan hata varsa gösterelim
while (($e = openssl_error_string()) !== false) {
echo $e . "\n";
}
?>