psktool(1) User Commands psktool(1)

# [NAME](#NAME)

**psktool** - GnuTLS PSK tool

# [SYNOPSIS](#SYNOPSIS)

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

All arguments must be options.

# [DESCRIPTION](#DESCRIPTION)

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

# [OPTIONS](#OPTIONS)

[**-d** *num*, **--debug**=*num*](#d)

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*](#s)

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*](#u)

Specify the username to use.

[**-p** *str*, **--pskfile**=*str*](#p)

Specify a pre-shared key file.

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

[**--passwd**](#passwd)

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

**NOTE: THIS OPTION IS DEPRECATED**

[**-v** *arg*, **--version**=*arg*](#v)

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**](#h)

Display usage information and exit.

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

Pass the extended usage information through a pager.

# [EXAMPLES](#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](#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](#SEE_ALSO)

[gnutls-cli-debug (1)](/man/os/gnutls/gnutls-cli-debug.1), [gnutls-serv (1)](/man/os/gnutls/gnutls-serv.1), [srptool (1)](/man/os/gnutls/srptool.1), certtool (1)

# [AUTHORS](#AUTHORS)

# [COPYRIGHT](#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](#BUGS)

Please send bug reports to: bugs@gnutls.org

10 Oct 2026 3.8.13

---

Document: psktool(1) from gnutls 3.8.13-r3 (Chainguard OS)
Source: https://gitlab.com/gnutls/gnutls
