---
name: "libressl-DSA_generate_key"
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-DSA_generate_key"
---

# libressl-DSA\_generate\_key(3)

generate DSA key pair

## NAME

**DSA\_generate\_key** – generate DSA key pair

## SYNOPSIS

Crypto Library (libcrypto, -lcrypto)

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

*int*\

**DSA\_generate\_key**(*DSA \*a*);

## DESCRIPTION

**DSA\_generate\_key**() expects *a* to contain DSA parameters. It generates a new key pair and stores it in *a-\>pub\_key* and *a-\>priv\_key*.

## RETURN VALUES

**DSA\_generate\_key**() returns 1 on success or 0 otherwise. The error codes can be obtained by ERR\_get\_error(3).

## SEE ALSO

DSA\_generate\_parameters\_ex(3), DSA\_get0\_key(3), DSA\_new(3)

## HISTORY

**DSA\_generate\_key**() first appeared in SSLeay 0.6.0 and has been available since OpenBSD 2.4.
