Skip to content

Certificate authority

Andreas Treichel edited this page Jan 1, 2017 · 3 revisions

How to create a private key and a ca certificate to sign certificate signing requests.

Create a private key

$generator = new KeyGenerator();
$generator->setBits(4096);
$privateKey = $generator->generate();
// Export the private key to use it later.
$privateKey->exportToFile('ca_privatekey.pem');

Create a subject

$subject = new Subject();
$subject['commonName'] = 'My little certificate authority';

Create a certificate signing request

$generator = new CertificateSigningRequestGenerator();
$generator->setPrivateKey($privateKey);
$generator->setSubject($subject);
$csr = $generator->generate();

Sign your certificate

$signer = new CertificateSigningRequestSigner();
$signer->setPrivateKey($privateKey);
$signer->setLifetime(3650);
$certificate = $signer->selfSign($csr);
// Export the private key to use it later.
$certificate->exportToFile('ca_certificate.pem');

Clone this wiki locally