Blame src/p11tool-args.def

Packit Service 4684c1
AutoGen Definitions options;
Packit Service 4684c1
prog-name     = p11tool;
Packit Service 4684c1
prog-title    = "GnuTLS PKCS #11 tool";
Packit Service 4684c1
prog-desc     = "Program to handle PKCS #11 smart cards and security modules.\n";
Packit Service 4684c1
detail    = "Program that allows operations on PKCS #11 smart cards
Packit Service 4684c1
and security modules. 
Packit Service 4684c1
Packit Service 4684c1
To use PKCS #11 tokens with GnuTLS the p11-kit configuration files need to be setup.
Packit Service 4684c1
That is create a .module file in /etc/pkcs11/modules with the contents 'module: /path/to/pkcs11.so'.
Packit Service 4684c1
Alternatively the configuration file /etc/gnutls/pkcs11.conf has to exist and contain a number
Packit Service 4684c1
of lines of the form 'load=/usr/lib/opensc-pkcs11.so'.
Packit Service 4684c1
Packit Service 4684c1
You can provide the PIN to be used for the PKCS #11 operations with the environment variables
Packit Service 4684c1
GNUTLS_PIN and GNUTLS_SO_PIN.
Packit Service 4684c1
";
Packit Service 4684c1
Packit Service 4684c1
short-usage   = "p11tool [options] [url]\np11tool --help for usage instructions.\n";
Packit Service 4684c1
explain       = "";
Packit Service 4684c1
reorder-args;
Packit Service 4684c1
argument = "[url]";
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name = token_related_options;
Packit Service 4684c1
    documentation;
Packit Service 4684c1
    descrip = "Tokens";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = list-tokens;
Packit Service 4684c1
    descrip   = "List all available tokens";
Packit Service 4684c1
    doc = "";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = list-token-urls;
Packit Service 4684c1
    descrip   = "List the URLs available tokens";
Packit Service 4684c1
    doc = "This is a more compact version of --list-tokens.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = list-mechanisms;
Packit Service 4684c1
    descrip   = "List all available mechanisms in a token";
Packit Service 4684c1
    doc = "";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = initialize;
Packit Service 4684c1
    descrip   = "Initializes a PKCS #11 token";
Packit Service 4684c1
    doc = "";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = initialize-pin;
Packit Service 4684c1
    descrip   = "Initializes/Resets a PKCS #11 token user PIN";
Packit Service 4684c1
    doc = "";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = initialize-so-pin;
Packit Service 4684c1
    descrip   = "Initializes/Resets a PKCS #11 token security officer PIN.";
Packit Service 4684c1
    doc = "This initializes the security officer's PIN. When used non-interactively use the GNUTLS_NEW_SO_PIN
Packit Service 4684c1
environment variables to initialize SO's PIN.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = set-pin;
Packit Service 4684c1
    arg-type  = string;
Packit Service 4684c1
    descrip   = "Specify the PIN to use on token operations";
Packit Service 4684c1
    doc      = "Alternatively the GNUTLS_PIN environment variable may be used.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = set-so-pin;
Packit Service 4684c1
    arg-type  = string;
Packit Service 4684c1
    descrip   = "Specify the Security Officer's PIN to use on token initialization";
Packit Service 4684c1
    doc      = "Alternatively the GNUTLS_SO_PIN environment variable may be used.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name = object_list_related_options;
Packit Service 4684c1
    documentation;
Packit Service 4684c1
    descrip = "Object listing";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = list-all;
Packit Service 4684c1
    descrip   = "List all available objects in a token";
Packit Service 4684c1
    doc = "All objects available in the token will be listed. That includes
Packit Service 4684c1
objects which are potentially unaccessible using this tool.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = list-all-certs;
Packit Service 4684c1
    descrip   = "List all available certificates in a token";
Packit Service 4684c1
    doc = "That option will also provide more information on the
Packit Service 4684c1
certificates, for example, expand the attached extensions in a trust
Packit Service 4684c1
token (like p11-kit-trust).";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = list-certs;
Packit Service 4684c1
    descrip   = "List all certificates that have an associated private key";
Packit Service 4684c1
    doc = "That option will only display certificates which have a private
Packit Service 4684c1
key associated with them (share the same ID).";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = list-all-privkeys;
Packit Service 4684c1
    descrip   = "List all available private keys in a token";
Packit Service 4684c1
    doc = "Lists all the private keys in a token that match the specified URL.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = list-privkeys;
Packit Service 4684c1
    aliases   = list-all-privkeys;
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = list-keys;
Packit Service 4684c1
    aliases   = list-all-privkeys;
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = list-all-trusted;
Packit Service 4684c1
    descrip   = "List all available certificates marked as trusted";
Packit Service 4684c1
    doc = "";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = export;
Packit Service 4684c1
    descrip   = "Export the object specified by the URL";
Packit Service 4684c1
    doc = "";
Packit Service 4684c1
    flags-cant = export-stapled;
Packit Service 4684c1
    flags-cant = export-chain;
Packit Service 4684c1
    flags-cant = export-pubkey;
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = export-stapled;
Packit Service 4684c1
    descrip   = "Export the certificate object specified by the URL";
Packit Service 4684c1
    doc = "Exports the certificate specified by the URL while including any attached extensions to it.
Packit Service 4684c1
Since attached extensions are a p11-kit extension, this option is only
Packit Service 4684c1
available on p11-kit registered trust modules.";
Packit Service 4684c1
    flags-cant = export;
Packit Service 4684c1
    flags-cant = export-chain;
Packit Service 4684c1
    flags-cant = export-pubkey;
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = export-chain;
Packit Service 4684c1
    descrip   = "Export the certificate specified by the URL and its chain of trust";
Packit Service 4684c1
    doc = "Exports the certificate specified by the URL and generates its chain of trust based on the stored certificates in the module.";
Packit Service 4684c1
    flags-cant = export-stapled;
Packit Service 4684c1
    flags-cant = export;
Packit Service 4684c1
    flags-cant = export-pubkey;
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = export-pubkey;
Packit Service 4684c1
    descrip   = "Export the public key for a private key";
Packit Service 4684c1
    doc = "Exports the public key for the specified private key";
Packit Service 4684c1
    flags-cant = export-stapled;
Packit Service 4684c1
    flags-cant = export;
Packit Service 4684c1
    flags-cant = export-chain;
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = info;
Packit Service 4684c1
    descrip   = "List information on an available object in a token";
Packit Service 4684c1
    doc = "";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = trusted;
Packit Service 4684c1
    aliases   = mark-trusted;
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = distrusted;
Packit Service 4684c1
    aliases   = mark-distrusted;
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name = keygen_related_options;
Packit Service 4684c1
    documentation;
Packit Service 4684c1
    descrip = "Key generation";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = generate-privkey;
Packit Service 4684c1
    arg-type  = string;
Packit Service 4684c1
    descrip   = "Generate private-public key pair of given type";
Packit Service 4684c1
    doc = "Generates a private-public key pair in the specified token.
Packit Service 4684c1
Acceptable types are RSA, ECDSA, Ed25519, and DSA. Should be combined with --sec-param or --bits.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = generate-rsa;
Packit Service 4684c1
    descrip   = "Generate an RSA private-public key pair";
Packit Service 4684c1
    doc = "Generates an RSA private-public key pair on the specified token.
Packit Service 4684c1
Should be combined with --sec-param or --bits.";
Packit Service 4684c1
    deprecated;
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = generate-dsa;
Packit Service 4684c1
    descrip   = "Generate a DSA private-public key pair";
Packit Service 4684c1
    doc = "Generates a DSA private-public key pair on the specified token.
Packit Service 4684c1
Should be combined with --sec-param or --bits.";
Packit Service 4684c1
    deprecated;
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = generate-ecc;
Packit Service 4684c1
    descrip   = "Generate an ECDSA private-public key pair";
Packit Service 4684c1
    doc = "Generates an ECDSA private-public key pair on the specified token.
Packit Service 4684c1
Should be combined with --curve, --sec-param or --bits.";
Packit Service 4684c1
    deprecated;
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = bits;
Packit Service 4684c1
    arg-type  = number;
Packit Service 4684c1
    descrip   = "Specify the number of bits for the key generate";
Packit Service 4684c1
    doc      = "For applications which have no key-size restrictions the
Packit Service 4684c1
--sec-param option is recommended, as the sec-param levels will adapt
Packit Service 4684c1
to the acceptable security levels with the new versions of gnutls.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = curve;
Packit Service 4684c1
    arg-type  = string;
Packit Service 4684c1
    descrip   = "Specify the curve used for EC key generation";
Packit Service 4684c1
    doc      = "Supported values are secp192r1, secp224r1, secp256r1, secp384r1 and secp521r1.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = sec-param;
Packit Service 4684c1
    arg-type  = string;
Packit Service 4684c1
    arg-name  = "Security parameter";
Packit Service 4684c1
    descrip   = "Specify the security level";
Packit Service 4684c1
    doc      = "This is alternative to the bits option. Available options are [low, legacy, medium, high, ultra].";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name = write_object_related_options;
Packit Service 4684c1
    documentation;
Packit Service 4684c1
    descrip = "Writing objects";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = set-id;
Packit Service 4684c1
    descrip   = "Set the CKA_ID (in hex) for the specified by the URL object";
Packit Service 4684c1
    doc = "Modifies or sets the CKA_ID in the specified by the URL object. The ID should be specified in hexadecimal format without a '0x' prefix.";
Packit Service 4684c1
    arg-type  = string;
Packit Service 4684c1
    flags_cant = write;
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = set-label;
Packit Service 4684c1
    descrip   = "Set the CKA_LABEL for the specified by the URL object";
Packit Service 4684c1
    doc = "Modifies or sets the CKA_LABEL in the specified by the URL object";
Packit Service 4684c1
    arg-type  = string;
Packit Service 4684c1
    flags_cant = write;
Packit Service 4684c1
    flags_cant = set-id;
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = write;
Packit Service 4684c1
    descrip   = "Writes the loaded objects to a PKCS #11 token";
Packit Service 4684c1
    doc = "It can be used to write private, public keys, certificates or secret keys to a token. Must be combined with
Packit Service 4684c1
    one of --load-privkey, --load-pubkey, --load-certificate option.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = delete;
Packit Service 4684c1
    descrip   = "Deletes the objects matching the given PKCS #11 URL";
Packit Service 4684c1
    doc = "";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = label;
Packit Service 4684c1
    arg-type  = string;
Packit Service 4684c1
    descrip   = "Sets a label for the write operation";
Packit Service 4684c1
    doc       = "";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = id;
Packit Service 4684c1
    arg-type  = string;
Packit Service 4684c1
    descrip   = "Sets an ID for the write operation";
Packit Service 4684c1
    doc       = "Sets the CKA_ID to be set by the write operation. The ID should be specified in hexadecimal format without a '0x' prefix.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = mark-wrap;
Packit Service 4684c1
    disable   = "no";
Packit Service 4684c1
    disabled;
Packit Service 4684c1
    descrip   = "Marks the generated key to be a wrapping key";
Packit Service 4684c1
    doc = "Marks the generated key with the CKA_WRAP flag.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = mark-trusted;
Packit Service 4684c1
    disable   = "no";
Packit Service 4684c1
    disabled;
Packit Service 4684c1
    descrip   = "Marks the object to be written as trusted";
Packit Service 4684c1
    doc = "Marks the object to be generated/written with the CKA_TRUST flag.";
Packit Service 4684c1
    flags_cant = mark-distrusted;
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = mark-distrusted;
Packit Service 4684c1
    descrip   = "When retrieving objects, it requires the objects to be distrusted (blacklisted)";
Packit Service 4684c1
    doc = "Ensures that the objects retrieved have the CKA_X_TRUST flag.
Packit Service 4684c1
This is p11-kit trust module extension, thus this flag is only valid with
Packit Service 4684c1
p11-kit registered trust modules.";
Packit Service 4684c1
    flags_cant = mark-trusted;
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = mark-decrypt;
Packit Service 4684c1
    disable   = "no";
Packit Service 4684c1
    disabled;
Packit Service 4684c1
    descrip   = "Marks the object to be written for decryption";
Packit Service 4684c1
    doc = "Marks the object to be generated/written with the CKA_DECRYPT flag set to true.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = mark-sign;
Packit Service 4684c1
    disable   = "no";
Packit Service 4684c1
    disabled;
Packit Service 4684c1
    descrip   = "Marks the object to be written for signature generation";
Packit Service 4684c1
    doc = "Marks the object to be generated/written with the CKA_SIGN flag set to true.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = mark-ca;
Packit Service 4684c1
    disable   = "no";
Packit Service 4684c1
    disabled;
Packit Service 4684c1
    descrip   = "Marks the object to be written as a CA";
Packit Service 4684c1
    doc = "Marks the object to be generated/written with the CKA_CERTIFICATE_CATEGORY as CA.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = mark-private;
Packit Service 4684c1
    disable   = "no";
Packit Service 4684c1
    descrip   = "Marks the object to be written as private";
Packit Service 4684c1
    doc = "Marks the object to be generated/written with the CKA_PRIVATE flag. The written object will require a PIN to be used.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = ca;
Packit Service 4684c1
    aliases   = mark-ca;
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = private;
Packit Service 4684c1
    aliases   = mark-private;
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = secret-key;
Packit Service 4684c1
    arg-type  = string;
Packit Service 4684c1
    descrip   = "Provide a hex encoded secret key";
Packit Service 4684c1
    doc   = "This secret key will be written to the module if --write is specified.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = load-privkey;
Packit Service 4684c1
    arg-type  = file;
Packit Service 4684c1
    file-exists = yes;
Packit Service 4684c1
    descrip   = "Private key file to use";
Packit Service 4684c1
    doc      = "";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = load-pubkey;
Packit Service 4684c1
    arg-type  = file;
Packit Service 4684c1
    file-exists = yes;
Packit Service 4684c1
    descrip   = "Public key file to use";
Packit Service 4684c1
    doc      = "";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = load-certificate;
Packit Service 4684c1
    arg-type  = file;
Packit Service 4684c1
    file-exists = yes;
Packit Service 4684c1
    descrip   = "Certificate file to use";
Packit Service 4684c1
    doc      = "";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name = other_options;
Packit Service 4684c1
    documentation;
Packit Service 4684c1
    descrip = "Other options";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
#define  OUTFILE_OPT   1
Packit Service 4684c1
#include args-std.def
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = login;
Packit Service 4684c1
    descrip   = "Force (user) login to token";
Packit Service 4684c1
    disabled;
Packit Service 4684c1
    disable   = "no";
Packit Service 4684c1
    doc       = "";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = so-login;
Packit Service 4684c1
    descrip   = "Force security officer login to token";
Packit Service 4684c1
    disabled;
Packit Service 4684c1
    disable   = "no";
Packit Service 4684c1
    doc       = "Forces login to the token as security officer (admin).";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = admin-login;
Packit Service 4684c1
    aliases   = so-login;
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = test-sign;
Packit Service 4684c1
    descrip   = "Tests the signature operation of the provided object";
Packit Service 4684c1
    doc = "It can be used to test the correct operation of the signature operation.
Packit Service 4684c1
If both a private and a public key are available this operation will sign and verify
Packit Service 4684c1
the signed data.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = sign-params;
Packit Service 4684c1
    arg-type  = string;
Packit Service 4684c1
    descrip   = "Sign with a specific signature algorithm";
Packit Service 4684c1
    doc = "This option can be combined with --test-sign, to sign with
Packit Service 4684c1
a specific signature algorithm variant. The only option supported is 'RSA-PSS', and should be
Packit Service 4684c1
specified in order to use RSA-PSS signature on RSA keys.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = hash;
Packit Service 4684c1
    arg-type  = string;
Packit Service 4684c1
    descrip   = "Hash algorithm to use for signing";
Packit Service 4684c1
    doc = "This option can be combined with test-sign. Available hash functions are SHA1, RMD160, SHA256, SHA384, SHA512, SHA3-224, SHA3-256, SHA3-384, SHA3-512.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = generate-random;
Packit Service 4684c1
    descrip   = "Generate random data";
Packit Service 4684c1
    arg-type  = number;
Packit Service 4684c1
    doc = "Asks the token to generate a number of bytes of random bytes.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = pkcs8;
Packit Service 4684c1
    value     = 8;
Packit Service 4684c1
    descrip   = "Use PKCS #8 format for private keys";
Packit Service 4684c1
    doc      = "";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = inder;
Packit Service 4684c1
    descrip   = "Use DER/RAW format for input";
Packit Service 4684c1
    disabled;
Packit Service 4684c1
    disable   = "no";
Packit Service 4684c1
    doc      = "Use DER/RAW format for input certificates and private keys.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = inraw;
Packit Service 4684c1
    aliases   = inder;
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = outder;
Packit Service 4684c1
    descrip   = "Use DER format for output certificates, private keys, and DH parameters";
Packit Service 4684c1
    disabled;
Packit Service 4684c1
    disable   = "no";
Packit Service 4684c1
    doc       = "The output will be in DER or RAW format.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = outraw;
Packit Service 4684c1
    aliases   = outder;
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = provider;
Packit Service 4684c1
    arg-type  = file;
Packit Service 4684c1
    descrip   = "Specify the PKCS #11 provider library";
Packit Service 4684c1
    doc      = "This will override the default options in /etc/gnutls/pkcs11.conf";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = provider-opts;
Packit Service 4684c1
    arg-type  = string;
Packit Service 4684c1
    descrip   = "Specify parameters for the PKCS #11 provider library";
Packit Service 4684c1
    doc      = "This is a PKCS#11 internal option used by few modules.
Packit Service 4684c1
    Mainly for testing PKCS#11 modules.";
Packit Service 4684c1
    deprecated;
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = detailed-url;
Packit Service 4684c1
    descrip   = "Print detailed URLs";
Packit Service 4684c1
    disabled;
Packit Service 4684c1
    disable   = "no";
Packit Service 4684c1
    doc   = "";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = only-urls;
Packit Service 4684c1
    descrip   = "Print a compact listing using only the URLs";
Packit Service 4684c1
    doc   = "";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
flag = {
Packit Service 4684c1
    name      = batch;
Packit Service 4684c1
    descrip   = "Disable all interaction with the tool";
Packit Service 4684c1
    doc = "In batch mode there will be no prompts, all parameters need to be specified on command line.";
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
doc-section = {
Packit Service 4684c1
  ds-type = 'SEE ALSO';
Packit Service 4684c1
  ds-format = 'texi';
Packit Service 4684c1
  ds-text   = <<-_EOT_
Packit Service 4684c1
    certtool (1)
Packit Service 4684c1
_EOT_;
Packit Service 4684c1
};
Packit Service 4684c1
Packit Service 4684c1
doc-section = {
Packit Service 4684c1
  ds-type = 'EXAMPLES';
Packit Service 4684c1
  ds-format = 'texi';
Packit Service 4684c1
  ds-text   = <<-_EOT_
Packit Service 4684c1
To view all tokens in your system use:
Packit Service 4684c1
@example
Packit Service 4684c1
$ p11tool --list-tokens
Packit Service 4684c1
@end example
Packit Service 4684c1
Packit Service 4684c1
To view all objects in a token use:
Packit Service 4684c1
@example
Packit Service 4684c1
$ p11tool --login --list-all "pkcs11:TOKEN-URL"
Packit Service 4684c1
@end example
Packit Service 4684c1
Packit Service 4684c1
To store a private key and a certificate in a token run:
Packit Service 4684c1
@example
Packit Service 4684c1
$ p11tool --login --write "pkcs11:URL" --load-privkey key.pem \
Packit Service 4684c1
          --label "Mykey"
Packit Service 4684c1
$ p11tool --login --write "pkcs11:URL" --load-certificate cert.pem \
Packit Service 4684c1
          --label "Mykey"
Packit Service 4684c1
@end example
Packit Service 4684c1
Note that some tokens require the same label to be used for the certificate
Packit Service 4684c1
and its corresponding private key.
Packit Service 4684c1
Packit Service 4684c1
To generate an RSA private key inside the token use:
Packit Service 4684c1
@example
Packit Service 4684c1
$ p11tool --login --generate-privkey rsa --bits 1024 --label "MyNewKey" \
Packit Service 4684c1
          --outfile MyNewKey.pub "pkcs11:TOKEN-URL"
Packit Service 4684c1
@end example
Packit Service 4684c1
The bits parameter in the above example is explicitly set because some
Packit Service 4684c1
tokens only support limited choices in the bit length. The output file is the
Packit Service 4684c1
corresponding public key. This key can be used to general a certificate
Packit Service 4684c1
request with certtool.
Packit Service 4684c1
@example
Packit Service 4684c1
certtool --generate-request --load-privkey "pkcs11:KEY-URL" \
Packit Service 4684c1
   --load-pubkey MyNewKey.pub --outfile request.pem
Packit Service 4684c1
@end example
Packit Service 4684c1
Packit Service 4684c1
_EOT_;
Packit Service 4684c1
};
Packit Service 4684c1