Page MenuHome GnuPG

gpgex.texi
No OneTemporary

gpgex.texi

This document is not UTF8. It was detected as ISO-8859-1 (Latin 1) and converted to UTF8 for display.
\input texinfo
@documentencoding ISO-8859-1
@setfilename gpgex.info
@include version.texi
@settitle The GpgEX Technical Manual
@dircategory GnuPG Plugin
@direntry
* gpgex: (gpgex). An extension for the Windows shell.
@end direntry
@c Unify some of the indices.
@syncodeindex tp fn
@syncodeindex pg fn
@copying
This is @cite{The GpgEX Technical Manual} for @acronym{GpgEX} (version
@value{VERSION}, @value{UPDATED-MONTH}).
@iftex
Published by g10 Code GmbH@*
Hüttenstr. 61@*
40699 Erkrath, Germany
@end iftex
Copyright @copyright{} 2007 g10 Code GmbH
@quotation
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 3 of the License, or (at your
option) any later version. The text of the license can be found in the
section entitled ``Copying''.
@end quotation
@end copying
@c
@c Titlepage
@c
@setchapternewpage odd
@titlepage
@title The GpgEX Technical Manual
@subtitle Version @value{VERSION}
@subtitle @value{UPDATED-MONTH}
@sp 3
@sp 3
@author Werner Koch (@email{wk@@gnupg.org})
@page
@vskip 0pt plus 1filll
@insertcopying
@end titlepage
@ifnothtml
@contents
@page
@end ifnothtml
@c @ifhtml
@c @center @image{logo}
@c @end ifhtml
@ifnottex
@node Top
@top
@insertcopying
@noindent
This file documents @acronym{GpgEX}; a GnuPG plugin for the Windows shell.
@end ifnottex
@menu
* Introduction:: How to use this manual.
* Assuan Protocol:: Description of the UI server protocol.
Appendices
* Copying:: The GNU General Public License says how you
can copy and share this manual.
Indices
* Concept Index:: Index of concepts and programs.
* Function and Data Index:: Index of functions, variables and data types.
@end menu
@ifhtml
@page
@summarycontents
@contents
@end ifhtml
@c
@c I N T R O
@c
@node Introduction
@chapter Introduction
Bla bla
@c
@c P R O T O C O L D E S C R I P T I O N
@c
@node Assuan Protocol
@chapter Description of the UI Server Protocol
This section describes the protocol used between @acronym{GpgEX} and the
User Interface Server (UI server). All cryptographic operations are
done by this server and the server is responsible for all dialogs. If a
a server is not available, @acronym{GpgEX} does not work.
We assume that the connection has already been established; see the
Assuan manual for details.
@menu
* Specifying input files:: Specifying the input files to operate on.
* Encrypt and sign files:: Encrypting and signing files.
* Decrypt and verify files:: Decrypting and verifying files.
* Certificate management:: Managing certificates.
* Checksum files:: Create and verify checksums for files.
* Miscellaneous commands:: Support functions.
@end menu
@node Specifying input files
@section Specifying the input files to operate on.
All commands operate on a number of input files or directories,
specified by one or more @code{INPUT} commands:
@deffn Command FILE=@var{name} [--continued]
Add the file or directory @var{name} to the list of pathnames to be
processed by the server. The parameter @var{name} must be an absolute
path name (including the drive letter) and is percent espaced (in
particular, the characters %, = and white space characters are always
escaped). The option @code{--continued} is present for all but the
last @code{FILE} command.
@end deffn
@node Encrypt and sign files
@section Encrypting and signing files.
First, the input files need to be specified by one or more
@code{FILE} commands. Afterwards, the actual operation is requested:
@deffn Command ENCRYPT_FILES --nohup
@deffnx Command SIGN_FILES --nohup
@deffnx Command ENCRYPT_SIGN_FILES --nohup
Request that the files specified by @code{INPUT} are encrypted and/or
signed. The command selects the default action. The UI server may
allow the user to change this default afterwards interactively, and
even abort the operation or complete it only on some of the selected
files and directories.
What it means to encrypt or sign a file or directory is specific to
the preferences of the user, the functionality the UI server provides,
and the selected protocol. Typically, for each input file a new file
is created under the original filename plus a protocol specific
extension (like @code{.gpg} or @code{.sig}), which contain the
encrypted/signed file or a detached signature. For directories, the
server may offer multiple options to the user (for example ignore or
process recursively).
The @code{ENCRYPT_SIGN_FILES} command requests a combined sign and
encrypt operation. It may not be available for all protocols (for
example, it is available for OpenPGP but not for CMS).
The option @code{--nohup} is mandatory. It is currently unspecified
what should happen if @code{--nohup} is not present. Because
@code{--nohup} is present, the server always returns @code{OK}
promptly, and completes the operation asynchronously.
@end deffn
@node Decrypt and verify files
@section Decrypting and verifying files.
First, the input files need to be specified by one or more
@code{INPUT} commands. Afterwards, the actual operation is requested:
@deffn Command DECRYPT_FILES --nohup
@deffnx Command VERIFY_FILES --nohup
@deffnx Command DECRYPT_VERIFY_FILES --nohup
Request that the files specified by @code{INPUT} are decrypted and/or
verified. The command selects the default action. The UI server may
allow the user to change this default afterwards interactively, and
even abort the operation or complete it only on some of the selected
files and directories.
What it means to decrypt or verify a file or directory is specific to
the preferences of the user, the functionality the UI server provides,
and the selected protocol. Typically, for decryption, a new file is
created for each input file under the original filename minus a
protocol specific extension (like @code{.gpg}) which contains the
original plaintext. For verification a status is displayed for each
signed input file, indicating if it is signed, and if yes, if the
signature is valid. For files that are signed and encrypted, the
@code{VERIFY} command transiently decrypts the file to verify the
enclosed signature. For directories, the server may offer multiple
options to the user (for example ignore or process recursively).
The option @code{--nohup} is mandatory. It is currently unspecified
what should happen if @code{--nohup} is not present. Because
@code{--nohup} is present, the server always returns @code{OK}
promptly, and completes the operation asynchronously.
@end deffn
@node Certificate management
@section Managing certificates.
First, the input files need to be specified by one or more
@code{FILE} commands. Afterwards, the actual operation is requested:
@deffn Command IMPORT --nohup
Request that the certificates contained in the files specified by
@code{FILE} are imported into the local certificate databases.
For directories, the server may offer multiple options to the user
(for example ignore or process recursively).
The option @code{--nohup} is mandatory. It is currently unspecified
what should happen if @code{--nohup} is not present. Because
@code{--nohup} is present, the server always returns @code{OK}
promptly, and completes the operation asynchronously.
@end deffn
FIXME: It may be nice to support an @code{EXPORT} command as well,
which is enabled by the context menu of the background of a directory.
@node Checksum files
@section Create and verify checksums for files.
First, the input files need to be specified by one or more
@code{FILE} commands. Afterwards, the actual operation is requested:
@deffn Command CHECKSUM_CREATE_FILES --nohup
Request that checksums are created for the files specifed by
@code{FILE}. The choice of checksum algorithm and the destination
storage and format for the created checksums depend on the preferences
of the user and the functionality provided by the UI server. For
directories, the server may offer multiple options to the user (for
example ignore or process recursively).
The option @code{--nohup} is mandatory. It is currently unspecified
what should happen if @code{--nohup} is not present. Because
@code{--nohup} is present, the server always returns @code{OK}
promptly, and completes the operation asynchronously.
@end deffn
@deffn Command CHECKSUM_VERIFY_FILES --nohup
Request that checksums are created for the files specifed by
@code{INPUT} and verified against previously created and stored
checksums. The choice of checksum algorithm and the source storage
and format for previously created checksums depend on the preferences
of the user and the functionality provided by the UI server. For
directories, the server may offer multiple options to the user (for
example ignore or process recursively).
If the source storage of previously created checksums is available to
the user through the Windows shell, this command may also accept such
checksum files as INPUT arguments. In this case, the UI server should
instead verify the checksum of the referenced files as if they were
given as INPUT files.
The option @code{--nohup} is mandatory. It is currently unspecified
what should happen if @code{--nohup} is not present. Because
@code{--nohup} is present, the server always returns @code{OK}
promptly, and completes the operation asynchronously.
@end deffn
@c
@c M I S C E L L A N E O U S C O M M A N D S
@c
@node Miscellaneous commands
@section Support functions.
@noindent
To allow the server to pop up the windows in the correct relation to the
client, the client is advised to tell the server by sending the option:
@deffn {Command option} window-id @var{number}
The @var{number} represents the native window ID of the clients current
window. On Windows systems this is a windows handle (@code{HWND}) and
on X11 systems it is the @code{X Window ID}. The number needs to be
given as a hexadecimal value so that it is easier to convey pointer
values (e.g. @code{HWND}).
@end deffn
@include gpl.texi
@c
@c I N D E X E S
@c
@node Concept Index
@unnumbered Concept Index
@printindex cp
@node Function and Data Index
@unnumbered Function and Data Index
@printindex fn
@bye
@c Local Variables:
@c coding: latin-1
@c End:

File Metadata

Mime Type
text/x-tex
Expires
Thu, Dec 18, 8:53 AM (1 d, 10 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
cd/c2/78b04e68d17987ad4cd1327450e6

Event Timeline