Previous: CMS Options, Up: GPGSM Options


4.2.5 Doing things one usually do not want to do.

--extra-digest-algo name
Sometimes signatures are broken in that they announce a different digest algorithm than actually used. gpgsm uses a one-pass data processing model and thus needs to rely on the announced digest algorithms to properly hash the data. As a workaround this option may be used to tell gpg to also hash the data using the algorithm name; this slows processing down a little bit but allows to verify such broken signatures. If gpgsm prints an error like “digest algo 8 has not been enabled” you may want to try this option, with ‘SHA256’ for name.
--faked-system-time epoch
This option is only useful for testing; it sets the system time back or forth to epoch which is the number of seconds elapsed since the year 1970. Alternatively epoch may be given as a full ISO time string (e.g. "20070924T154812").
--with-ephemeral-keys
Include ephemeral flagged keys in the output of key listings. Note that they are included anyway if the key specification for a listing is given as fingerprint or keygrip.
--debug-level level
Select the debug level for investigating problems. level may be a numeric value or by a keyword:
none
No debugging at all. A value of less than 1 may be used instead of the keyword.
basic
Some basic debug messages. A value between 1 and 2 may be used instead of the keyword.
advanced
More verbose debug messages. A value between 3 and 5 may be used instead of the keyword.
expert
Even more detailed messages. A value between 6 and 8 may be used instead of the keyword.
guru
All of the debug messages you can get. A value greater than 8 may be used instead of the keyword. The creation of hash tracing files is only enabled if the keyword is used.

How these messages are mapped to the actual debugging flags is not specified and may change with newer releases of this program. They are however carefully selected to best aid in debugging.

--debug flags
This option is only useful for debugging and the behaviour may change at any time without notice; using --debug-levels is the preferred method to select the debug verbosity. FLAGS are bit encoded and may be given in usual C-Syntax. The currently defined bits are:
0 (1)
X.509 or OpenPGP protocol related data
1 (2)
values of big number integers
2 (4)
low level crypto operations
5 (32)
memory allocation
6 (64)
caching
7 (128)
show memory statistics.
9 (512)
write hashed data to files named dbgmd-000*
10 (1024)
trace Assuan protocol

Note, that all flags set using this option may get overridden by --debug-level.

--debug-all
Same as --debug=0xffffffff
--debug-allow-core-dump
Usually gpgsm tries to avoid dumping core by well written code and by disabling core dumps for security reasons. However, bugs are pretty durable beasts and to squash them it is sometimes useful to have a core dump. This option enables core dumps unless the Bad Thing happened before the option parsing.
--debug-no-chain-validation
This is actually not a debugging option but only useful as such. It lets gpgsm bypass all certificate chain validation checks.
--debug-ignore-expiration
This is actually not a debugging option but only useful as such. It lets gpgsm ignore all notAfter dates, this is used by the regression tests.
--fixed-passphrase string
Supply the passphrase string to the gpg-protect-tool. This option is only useful for the regression tests included with this package and may be revised or removed at any time without notice.
--no-common-certs-import
Suppress the import of common certificates on keybox creation.

All the long options may also be given in the configuration file after stripping off the two leading dashes.