#### PGP

#### Synopsis

    HELP:   Generate keys for PGP
    TYPE:   OBJECT
    SYNTAX: PGP(USERID='str',MODE=REMAIN/ATTACH/OVERWRITE/RECOPY,SIGNONLY,ALGO.{},ACTIVATION=num,VALIDDAYS=num,FKM5())

#### Description

An object for specifying parameters used to generate PGP key pairs. Unless the parameter SIGNONLY is specified, a primary key for signing and a subkey for encryption are generated. This is the normal usage for data exchange. You can set the activation date and the validity period in days. If no activation date is provided, the current date is used. If no number of valid days is given, the key is valid indefinitely.

The overlay ALGO supports different characteristics for key generation. For example, you can define the modulus length and exponent values for RSA based keys.

#### Arguments

- `STRING: USERID='str' - User ID for the generated key`
- `NUMBER: MODE=REMAIN/ATTACH/OVERWRITE/RECOPY - How to handle already existing keys`
  - `REMAIN - Keep the existing one [DEFAULT]`
  - `ATTACH - Attach new one (PKCS11 only)`
  - `OVERWRITE - Overwrite the old by new`
  - `RECOPY - Re-generate only the key id's for an existing key (ICSF/CCA only)`
- `SWITCH: SIGNONLY - Generate only a primary key for signing (i.e. no encryption subkey) [FALSE]`
- `NUMBER: ACTIVATION=num - Activation time stamp in seconds since 1970 [0 - current]`
- `NUMBER: VALIDDAYS=num - Validity period in days for the generated key [0 - forever]`