AcmePhp\Ssl\Signer\CertificateRequestSigner::signCertificateRequest PHP Method

signCertificateRequest() public method

Generate a CSR from the given distinguishedName and keyPair.
public signCertificateRequest ( CertificateRequest $certificateRequest ) : string
$certificateRequest AcmePhp\Ssl\CertificateRequest
return string
    public function signCertificateRequest(CertificateRequest $certificateRequest)
    {
        $csrObject = $this->createCsrWithSANsObject($certificateRequest);
        if (!$csrObject || !openssl_csr_export($csrObject, $csrExport)) {
            throw new CSRSigningException(sprintf('OpenSSL CSR signing failed with error: %s', openssl_error_string()));
        }
        return $csrExport;
    }

Usage Example

 public function test signCertificateRequest with subject alternative names()
 {
     $dummyDistinguishedName = new DistinguishedName('acmephp.com', 'FR', 'france', 'Paris', 'acme', 'IT', '*****@*****.**', ['www.acmephp.com']);
     $dummyKeyPair = (new KeyPairGenerator())->generateKeyPair(1024);
     $result = $this->service->signCertificateRequest(new CertificateRequest($dummyDistinguishedName, $dummyKeyPair));
     $this->assertInternalType('string', $result);
     $this->assertContains('-----BEGIN CERTIFICATE REQUEST-----', $result);
     $csrResult = openssl_csr_get_subject($result, false);
     $this->assertSame(['commonName' => 'acmephp.com', 'countryName' => 'FR', 'stateOrProvinceName' => 'france', 'localityName' => 'Paris', 'organizationName' => 'acme', 'organizationalUnitName' => 'IT', 'emailAddress' => '*****@*****.**'], $csrResult);
 }
All Usage Examples Of AcmePhp\Ssl\Signer\CertificateRequestSigner::signCertificateRequest