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

# psktool(1)

GnuTLS PSK tool

## NAME

**psktool** - GnuTLS PSK tool

## SYNOPSIS

**psktool** \[**-flags**\] \[**-flag** \[*value*\]\] \[**--option-name**\[\[=\| \]*value*\]\]

All arguments must be options.

## DESCRIPTION

Program  that generates random keys for use with TLS-PSK. The keys are stored in hexadecimal format in a key file.

## OPTIONS

- **-d** *num*, **--debug**=*num*

  Enable debugging. This option takes an integer number as its argument. The value of *num* is constrained to being:

  ```
  in the range 0 through 9999
  ```

  Specifies the debug level.

- **-s** *num*, **--keysize**=*num*

  Specify the key size in bytes (default is 32-bytes or 256-bits). This option takes an integer number as its argument. The value of *num* is constrained to being:

  ```
  in the range 0 through 512
  ```

- **-u** *str*, **--username**=*str*

  Specify the username to use.

- **-p** *str*, **--pskfile**=*str*

  Specify a pre-shared key file.

  This option will specify the pre-shared key file to store the generated keys.

- **--passwd**

  This is an alias for the *--pskfile* option.

  **NOTE: THIS OPTION IS DEPRECATED**

- **-v** *arg*, **--version**=*arg*

  Output version of program and exit.  The default mode is \`v', a simple version.  The \`c' mode will print copyright information and \`n' will print the full copyright notice.

- **-h**, **--help**

  Display usage information and exit.

- **-!**, **--more-help**

  Pass the extended usage information through a pager.

## EXAMPLES

To add a user 'psk\_identity' in *keys.psk* for use with GnuTLS run:\

```
$ ./psktool -u psk_identity -p keys.psk
Generating a random key for user 'psk_identity'
Key stored to keys.psk
$ cat keys.psk
psk_identity:88f3824b3e5659f52d00e959bacab954b6540344
$
```

This command will create *keys.psk* if it does not exist and will add user 'psk\_identity'.

## EXIT STATUS

One of the following exit values will be returned:

- 0 (EXIT\_SUCCESS)

  Successful program execution.

- 1 (EXIT\_FAILURE)

  The operation failed or the command syntax was not valid.

## SEE ALSO

gnutls-cli-debug (1), gnutls-serv (1), srptool (1), certtool (1)

## AUTHORS

## COPYRIGHT

Copyright (C) 2020-2023 Free Software Foundation, and others all rights reserved. This program is released under the terms of the GNU General Public License, version 3 or later

## BUGS

Please send bug reports to: bugs@gnutls.org
