# `Clir.Openssl.Pkcs8`

Conversión y lectura de llaves privadas en formato PKCS#8 / tradicional RSA (PEM/DER).

La contraseña se pasa como charlist a `:public_key.pem_entry_decode/2` cuando aplica.

# `from_pem`

```elixir
@spec from_pem(String.t(), String.t() | nil) :: {:ok, term()} | {:error, term()}
```

Extrae la llave privada decodificada desde PEM (tupla interna OTP, p. ej. `RSAPrivateKey` o `PrivateKeyInfo`).

# `get_data`

```elixir
@spec get_data(String.t(), String.t() | nil) :: {:ok, String.t()} | {:error, term()}
```

Lee un archivo de llave (PEM o DER), opcionalmente descifrado con `password`, y devuelve el PEM normalizado (sin cifrar).

# `to_pem`

```elixir
@spec to_pem(binary(), String.t() | nil) :: {:ok, String.t()} | {:error, term()}
```

Convierte una llave privada en DER a PEM (sin cifrar la salida).

Si `der_binary` es PKCS#8 cifrado, `password` descifra la entrada.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
