AutoGen Definitions options;
prog-name     = psktool;
prog-title    = "GnuTLS PSK tool";
prog-desc     = "Program to create PSK parameters.\n";
detail    = "Program  that generates random keys for use with TLS-PSK. The
keys are stored in hexadecimal format in a key file.";
short-usage   = "psktool [options]\npsktool --help for usage instructions.\n";
explain       = "";

#include args-std.def

flag = {
    name      = keysize;
    value     = s;
    arg-type  = number;
    arg-range = "0 -> 512";
    descrip   = "Specify the key size in bytes (default is 32-bytes or 256-bits)";
    doc = "";
};

flag = {
    name      = username;
    value     = u;
    arg-type  = string;
    descrip   = "Specify the username to use";
    doc = "";
};

flag = {
    name      = pskfile;
    value     = p;
    arg-type  = string;
    descrip   = "Specify a pre-shared key file";
    doc       = "This option will specify the pre-shared key file to store the generated keys.";
};

flag = {
    name      = passwd;
    aliases   = pskfile;
    descrip   = "Specify a pre-shared key file";
    deprecated;
};

doc-section = {
  ds-type = 'SEE ALSO';
  ds-format = 'texi';
  ds-text   = <<-_EOT_
    gnutls-cli-debug (1), gnutls-serv (1), srptool (1), certtool (1)
_EOT_;
};

doc-section = {
  ds-type = 'EXAMPLES';
  ds-format = 'texi';
  ds-text   = <<-_EOT_
To add a user 'psk_identity' in @file{keys.psk} for use with GnuTLS run:
@example
$ ./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
$
@end example

This command will create @file{keys.psk} if it does not exist
and will add user 'psk_identity'.
_EOT_;
};

