* gpg.texi: New.
[gnupg.git] / doc / scdaemon.texi
index e621468..42dedb6 100644 (file)
@@ -10,7 +10,7 @@
 
 @c man begin DESCRIPTION
 
-The @sc{scdaeon} is a daemon to manage smartcards.  It is usually
+The @command{scdaemon} is a daemon to manage smartcards.  It is usually
 invoked by gpg-agent and in general not used directly.
 
 @c man end
@@ -20,6 +20,7 @@ invoked by gpg-agent and in general not used directly.
 @menu
 * Scdaemon Commands::      List of all commands.
 * Scdaemon Options::       List of all options.
+* Card applications::      Description of card applications.
 * Scdaemon Examples::      Some usage examples.
 * Scdaemon Protocol::      The protocol the daemon uses.
 @end menu
@@ -76,7 +77,9 @@ This is mainly a debugging command, used to print the ATR
 @item --options @var{file}
 @opindex options
 Reads configuration from @var{file} instead of from the default
-per-user configuration file.
+per-user configuration file.  The default configuration file is named
+@file{scdaemon.conf} and expected in the @file{.gnupg} directory directly
+below the home directory of the user.
 
 @item -v
 @item --verbose
@@ -84,13 +87,36 @@ per-user configuration file.
 @opindex verbose
 Outputs additional information while running.
 You can increase the verbosity by giving several
-verbose commands to @sc{gpgsm}, such as @samp{-vv}.
+verbose commands to @command{gpgsm}, such as @samp{-vv}.
+
+@item --debug-level @var{level}
+@opindex debug-level
+Select the debug level for investigating problems. @var{level} may be
+one of:
+
+   @table @code
+   @item none
+   no debugging at all.
+   @item basic  
+   some basic debug messages
+   @item advanced
+   more verbose debug messages
+   @item expert
+   even more detailed messages
+   @item guru
+   all of the debug messages you can get
+   @end table
+
+How these messages are mapped to the actual debugging flags is not
+specified and may change with newer releaes of this program. They are
+however carefully selected to best aid in debugging.
 
 @item --debug @var{flags}
 @opindex debug
 This option is only useful for debugging and the behaviour may change at
 any time without notice.  FLAGS are bit encoded and may be given in
 usual C-Syntax. The currently defined bits are:
+
    @table @code
    @item 0  (1)
    X.509 or OpenPGP protocol related data
@@ -151,18 +177,70 @@ is @code{libtowitoko.so}.
 @itemx --deny-admin
 @opindex allow-admin
 @opindex deny-admin
-This enables the use of Admin class commands for card application
+This enables the use of Admin class commands for card applications
 where this is supported.  Currently we support it for the OpenPGP
 card.  Deny is the default.  This commands is useful to inhibit
 accidental access to admin class command which could ultimately lock
 the card through worng PIN numbers.
 
+@item --disable-application @var{name}
+@opindex disable-application
+This option disables the use of the card application named
+@var{name}.  This is mainly useful for debugging or if a application
+with lower priority should be used by default.
+
 @end table
 
 All the long options may also be given in the configuration file after
 stripping off the two leading dashes.
 
 
+@c man begin CARD APPLICATIONS
+
+@node Card applications
+@section Description of card applications
+
+@command{scdaemon} supports the card applications as described below.
+
+@menu
+* OpenPGP Card::          The OpenPGP card application
+* NKS Card::              The Telesec NetKey card application
+* DINSIG Card::           The DINSIG card application
+* PKCS#15 Card::          The PKCS#15 card application
+@end menu
+
+@node OpenPGP Card
+@subsection The OpenPGP card application ``openpgp''
+
+This application is currently only used by @command{gpg} but may in
+future also be useful with @command{gpgsm}. 
+
+The specification for such a card is available at
+@uref{http://g10code.com/docs/openpgp-card-1.0.pdf}.
+
+@node NKS Card
+@subsection The Telesec NetKey card ``nks''
+
+This is the main application of the Telesec cards as available in
+Germany.  It is a superset of the German DINSIG card.  The card is
+used by @command{gpgsm}.
+
+@node DINSIG Card
+@subsection The DINSIG card application ``dinsig''
+
+This is an application as described in the German draft standard
+@emph{DIN V 66291-1}.  It is intended to be used by cards supporteing
+the German signature law and its bylaws (SigG and SigV).
+
+@node PKCS#15 Card
+@subsection The PKCS#15 card application ``p15''
+
+This is common fraqmework for smart card applications; support is only
+available if compiled with support for the OpenSC library.  It is used
+by @command{gpgsm}.
+
+
+
 @c 
 @c  Examples
 @c
@@ -297,7 +375,7 @@ To sign some data the caller should use the command
  SETDATA @var{hexstring}
 @end example
 
-to tell scdaemon about the data to be signed.  The data must be given in
+to tell @command{scdaemon} about the data to be signed.  The data must be given in
 hex notation.  The actual signing is done using the command
 
 @example
@@ -317,8 +395,9 @@ To decrypt some data the caller should use the command
  SETDATA @var{hexstring}
 @end example
 
-to tell scdaemon about the data to be decrypted.  The data must be given in
-hex notation.  The actual decryption is then done using the command
+to tell @command{scdaemon} about the data to be decrypted.  The data
+must be given in hex notation.  The actual decryption is then done
+using the command
 
 @example
   PKDECRYPT @var{keyid}