# CertificateToPem()

Converts a Java X509Certificate to PEM format.

**Requires Extension:** [Crypto Extension](https://download.lucee.org/#17AB52DE-B300-A94B-E058FC978BE4542D)

```
CertificateToPem( certificate=any );
```

**Returns:** string

# Arguments

| Argument | Type | Required | Description | Default |
|----------|------|----------|-------------|---------|
| certificate | any | Yes | Java X509Certificate object |  |

# Examples

```cfml
// Convert a Java X509Certificate object back to a PEM string
// Useful for storing or transmitting certificates
keyPair = GenerateKeyPair( "RSA-2048" );
certPem = GenerateSelfSignedCertificate(
	keyPair = keyPair,
	subject = "CN=localhost"
);

// Roundtrip: PEM -> Certificate object -> PEM
certObj = PemToCertificate( certPem );
newPem = CertificateToPem( certObj );
// newPem starts with "-----BEGIN CERTIFICATE-----"

// The certificate info is preserved through the roundtrip
info = CertificateInfo( newPem );
```







# Categories

[Cryptography](../../categories/crypto.md)

# See Also

[CertificateInfo()](certificateinfo.md), [GenerateSelfSignedCertificate()](generateselfsignedcertificate.md), [PemToCertificate()](pemtocertificate.md)