---
name: "libressl-EVP_PKEY_print_private"
section: "3"
platform: "linux"
package: "libressl"
version: "4.4.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/libressl-EVP_PKEY_print_private"
---

# libressl-EVP\_PKEY\_print\_private(3)

public key algorithm printing routines

## NAME

**EVP\_PKEY\_print\_public**, **EVP\_PKEY\_print\_private**, **EVP\_PKEY\_print\_params** – public key algorithm printing routines

## SYNOPSIS

Crypto Library (libcrypto, -lcrypto)

**#include \<openssl/evp.h\>**

*int*\

**EVP\_PKEY\_print\_public**(*BIO \*out*, *const EVP\_PKEY \*pkey*, *int indent*, *ASN1\_PCTX \*pctx*);

*int*\

**EVP\_PKEY\_print\_private**(*BIO \*out*, *const EVP\_PKEY \*pkey*, *int indent*, *ASN1\_PCTX \*pctx*);

*int*\

**EVP\_PKEY\_print\_params**(*BIO \*out*, *const EVP\_PKEY \*pkey*, *int indent*, *ASN1\_PCTX \*pctx*);

## DESCRIPTION

The functions **EVP\_PKEY\_print\_public**(), **EVP\_PKEY\_print\_private**(), and **EVP\_PKEY\_print\_params**() print out the public, private or parameter components of key *pkey*, respectively. The key is sent to *BIO* *out* in human readable form. The parameter *indent* indicates how far the printout should be indented.

The *pctx* parameter allows the print output to be finely tuned by using ASN.1 printing options. If *pctx* is set to NULL, then default values will be used. Currently, no public key algorithms include any options in the *pctx* parameter.

If the key does not include all the components indicated by the function, then only those contained in the key will be printed. For example, passing a public key to **EVP\_PKEY\_print\_private**() will only print the public components.

## RETURN VALUES

These functions all return 1 for success and 0 or a negative value for failure. In particular, a return value of -2 indicates the operation is not supported by the public key algorithm.

## SEE ALSO

EVP\_PKEY\_CTX\_new(3), EVP\_PKEY\_keygen(3), EVP\_PKEY\_new(3)

## HISTORY

These functions first appeared in OpenSSL 1.0.0 and have been available since OpenBSD 4.9.
