<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "OpenSSL",
  "identifier" : "/documentation/OpenSSL/RSA/PublicKey/pemData",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "OpenSSL"
    ],
    "preciseIdentifier" : "s:7OpenSSL3RSAO9PublicKeyV7pemData10Foundation0G0Vvp"
  },
  "title" : "pemData"
}
-->

# pemData

The original PEM bytes as supplied to [`init(pemRepresentation:)`](/documentation/OpenSSL/RSA/PublicKey/init(pemRepresentation:)).

```
var pemData: Data { get }
```

## Return Value

A `Data` containing the input PEM bytes in UTF-8.
Suitable for publishing, fingerprinting (e.g. via
[`hash(data:)`](/documentation/OpenSSL/SHA256/hash(data:))), and cross-process transport.

## Discussion

Public-key PEM is not secret and may be logged, published in
`.well-known/jwks.json` endpoints, or embedded in TLS
certificate pinning lists. The bytes returned here are the
UTF-8 encoding of the original input string verbatim — no
re-serialization is performed, which preserves vendor
annotations and whitespace around the SPKI frame.

> Note: Because this is the literal input, two `PublicKey`
> instances representing the same underlying key but parsed
> from differently-formatted PEM strings will produce
> different `pemData` values. If you need canonical equality,
> normalize by round-tripping through a DER decoder first
> — a future release will provide a canonical accessor.