Skip to content

Sign a certificate signing request

bartkdm edited this page Aug 1, 2017 · 3 revisions

Steps to sign a certificate signing request with a previous created certification authority.

Load the private key of your certificate authority

$caPrivateKey = PrivateKey::loadFromFileName('ca_privatekey.pem');

Load the certificate of your certificate authority

$caCertificate = Certificate::createFromFileName('ca_certificate.pem');

Create the signer

$signer = new CertificateSigningRequestSigner();
$signer->setPrivateKey($caPrivateKey);
$signer->setCertificate($caCertificate);
$signer->setLifetime(365);
// the section "usr_cert" set CA:false
$signer->setExtensions('usr_cert');

Load the certificate signing request

$content = file_get_contents('MyFirstCertificate.csr');
$csr = new CertificateSigningRequest($content);
$certificate = $signer->sign($csr);

Export the new certificate

$certificate->exportToFile('MyFirstCertificate.pem');