PGP, Pretty Good Privacy, and the PGP logo are registered trademarks of PGP Corporation in the US and other countries. IDEA is a trademark of Ascom
Tech AG. Windows and ActiveX are registered trademarks of Microsoft Corporation. AOL is a registered trademark, and AOL Instant Messenger is a
trademark, of America Online, Inc. Red Hat and Red Hat Linux are trademarks or registered trademarks of Red Hat, Inc. Linux is a registered trademark
of Linus Torvalds. Solaris is a trademark or registered trademark of Sun Microsystems, Inc. AIX is a trademark or registered trademark of International
Business Machines Corporation. HP-UX is a trademark or registered trademark of Hewlett-Packard Company. SSH and Secure Shell are trademarks of
SSH Communications Security, Inc. Rendezvous and Mac OS X are trademarks or registered trademarks of Apple Computer, Inc. All other registered
and unregistered trademarks in this document are the sole property of their respective owners.
Licensing and Patent Information
The IDEA cryptographic cipher described in U.S. patent number 5,214,703 is licensed from Ascom Tech AG. The CAST-128 encryption algorithm,
implemented from RFC 2144, is available worldwide on a royalty-free basis for commercial and non-commercial uses. PGP Corporation has secured a
license to the patent rights contained in the patent application Serial Number 10/655,563 by The Regents of the University of California, entitled Block
Cipher Mode of Operation for Constructing a Wide-blocksize block Cipher from a Conventional Block Cipher. Some third-party software included in PGP
Universal Server is licensed under the GNU General Public License (GPL). PGP Universal Server as a whole is not licensed under the GPL. If you would
like a copy of the source code for the GPL software included in PGP Universal Server, contact PGP Support (https://support.pgp.com). PGP Corporation
may have patents and/or pending patent applications covering subject matter in this software or its documentation; the furnishing of this software or
documentation does not give you any license to these patents.
- JacORB, a Java object used to facilitate communication between processes written in Java and the data layer, is open source licensed under the GNU
Library General Public License (LGPL) available at http://www.jacorb.org/lgpl.html
open-source implementation of a CORBA Object Request Broker (ORB), and is used for communication between processes written in C/C++ and the
data layer. Copyright (c) 1993-2006 by Douglas C. Schmidt and his research group at Washington University, University of California, Irvine, and
Vanderbilt University. The open source software license is available at http://www.cs.wustl.edu/~schmidt/ACE-copying.html
downloading files via common network services, is open source software provided under a MIT/X derivate license available at
http://curl.haxx.se/docs/copyright.html
under a BSD-style license, available at http://thunk.org/hg/e2fsprogs/?file/fe55db3e508c/lib/uuid/COPYING
libpopt, a library that parses command line options, is released under the terms of the GNU Free Documentation License available at
http://directory.fsf.org/libs/COPYING.DOC
communicate with the Intel Corporation AMT chipset on a motherboard, is distributed under the gSOAP Public License version 1.3b, available at
), Jakarta Commons (http://jakarta.apache.org/commons/license.html) and log4j, a Java-based library used to parse HTML,
). -- Libxml2, the XML C parser and toolkit developed for the Gnome project and distributed and copyrighted under
http://www.cs.fsu.edu/~engelen/license.html. -- Windows Template Library (WTL) is used for developing user interface components and is distributed
under the Common Public License v1.0 found at http://opensource.org/licenses/cpl1.0.php
automate a variety of maintenance functions and is provided under the Perl Artistic License, found at
-- Java Radius Client, used to authenticate PGP Universal Web Messenger users via Radius, is distributed under the Lesser General Public License
(LGPL) found at http://www.gnu.org/licenses/lgpl.html
Copyright (c) 2009, Yahoo! Inc. All rights reserved. Released under a BSD-style license, available at http://developer.yahoo.com/yui/license.html. --
JSON-lib version 2.2.1, a Java library used to convert Java objects to JSON (JavaScript Object Notation) objects for AJAX. Distributed under the Apache
2.0 license, available at http://json-lib.sourceforge.net/license.html
at http://ezmorph.sourceforge.net/license.html
configuration file format used on Windows, on other platforms. Distributed under the MIT License found at http://www.opensource.org/licenses/mit-
license.html. Copyright 2006-2008, Brodie Thiesfield. -- uSTL provides a small fast implementation of common Standard Template Library functions and
data structures and is distributed under the MIT License found at http://www.opensource.org/licenses/mit-license.html
Mike Sharov <msharov@users.sourceforge.net
the PGP SDK. Distributed under the BSD license found at http://www.opensource.org/licenses/bsd-license.php. Copyright 2008
reserved.
Additional acknowledgements and legal notices are included as part of the PGP Universal Server.
. -- Apache Commons BeanUtils, used by JSON-lib, is distributed under the Apache 2.0 license, available at
. -- SimpleIni is an .ini format file parser and provides the ability to read and write .ini files, a common
. -- rEFIt - libeg, provides a graphical interface library for EFI, including image rendering, text
. -- Yahoo! User Interface (YUI) library version 2.5.2, a Web UI interface library for AJAX.
. -- EZMorph, used by JSON-lib, is distributed under the Apache 2.0 license, available
. -- Apache Commons Lang, used by JSON-lib, is distributed under the Apache 2.0 license, available at
>. -- Protocol Buffers (protobuf), Google's data interchange format, are used to serialize structure data in
. -- The Perl Kit provides several independent utilities used to
. Copyright (c) 2006 Christoph Pfisterer. All rights reserved.
. Copyright (c) 2005-2009 by
Google Inc. All rights
Export Information
Export of this software and documentation may be subject to compliance with the rules and regulations promulgated from time to time by the Bureau
of Export Administration, United States Department of Commerce, which restricts the export and re-export of certain products and technical data.
Limitations
The software provided with this documentation is licensed to you for your individual use under the terms of the End User License Agreement provided
with the software. The information in this document is subject to change without notice. PGP Corporation does not warrant that the information meets
your requirements or that the information is free of errors. The information may include technical inaccuracies or typographical errors. Changes may be
made to the information and incorporated in new editions of this document, if and when made available by PGP Corporation.
4
Contents
PGP Command Line Basics 1
Important Concepts 1
Getting Started 2
Installation 5
Overview 5
System Requirements 6
Windows 7 and Vista 6
Windows Server 2003 7
Windows XP 8
Windows 2000 9
IBM AIX 10
HP-UX 11i 10
Solaris 9 and 10 10
Red Hat Enterprise Linux and Fedora Core 10
Mac OS X 11
Installing on AIX 11
Installing on AIX 11
Changing the Home Directory on AIX 12
Uninstalling on AIX 13
Installing on HP-UX 13
Installing on HP-UX 13
Changing the Home Directory on HP-UX 14
Installing to a Non-Default Directory on HP-UX 14
Uninstalling on HP-UX 15
Installing on Mac OS X 15
Installing on Mac OS X 15
Changing the Home Directory on Mac OS X 16
Uninstalling on Mac OS X 16
Installing on Red Hat Enterprise Linux or Fedora Core 17
Installing on Red Hat Enterprise Linux or Fedora Core 17
Changing the Home Directory on Linux or Fedora Core 18
Uninstalling on Linux or Fedora Core 18
Installing on Solaris 19
Installing on Solaris 19
Changing the Home Directory on Solaris 20
Uninstalling on Solaris 20
Installing on Windows 21
PGP Command Line for Windows and PGP Desktop on the Same System 21
To Install on Windows 21
Changing the Home Directory on Windows 22
Uninstalling on Windows 23
i
PGP® Command Line 10.0 Contents
Licensing 25
Overview 25
License Recovery 26
Using a License Number 27
Using a License Authorization 28
Re-Licensing 29
Through a Proxy Server 30
The Command-Line Interface 33
Overview 33
Flags and Arguments 35
Flags 35
Arguments 36
Configuration File 38
Keyserver Configuration File Settings 42
Environment Variables 43
Standard Input, Output, and Error 44
Redirecting an Existing File 44
Entering Data 45
Specifying a Key 46
'Secure' Options 46
Passphrases 47
First Steps 49
Overview 49
Creating Your Keypair 50
Protecting Your Private Key 52
Distributing Your Public Key 52
Posting Your Public Key to a Keyserver 53
Exporting Your Public Key to a Text File 54
Getting the Public Keys of Others 54
Finding a Public Key on a Keyserver 54
Importing a Public Key from a Keyserver 55
Verifying Keys 56
Messages Without Codes 283
Messages With Codes 284
Parser 284
Keyrings 285
Wipe 286
Encrypt 287
Sign 287
Decrypt 287
Speed Test 288
Key edit 288
Keyserver 295
ix
PGP® Command Line 10.0 Contents
Key Reconstruction 296
Licensing 297
PGP Universal Server 298
General 298
Exit Codes 307
Frequently Asked Questions 309
Key Used for Encryption 309
"Invalid" Keys 310
Maximum File Size 311
Programming and Scripting Languages 312
File Redirection 312
Protecting Passphrases 312
Searching for Data on a PGP KMS 315
Overview 315
Keyword Listing 316
Example Searches 318
More About Types 319
Time Fields 319
Boolean Values 319
Open PGP Algorithms 319
Open PGP Key Usage Flags 320
Key Modes 320
Index 321
x
1
PGP Command Line Basics
This chapter describes some important PGP Command Line concepts and gives
you a high-level overview of the things you need to do to set up and use PGP
Command Line.
In This Chapter
Important Concepts................................................................................... 1
Getting Started .......................................................................................... 2
Important Concepts
The following concepts are important for you to understand:
PGP Command Line: A software product from PGP Corporation that
automates the processes of encrypting/signing, decrypting/verifying, and
file wiping; it provides a command-line interface to PGP technology.
command-line interface: An interface where you type commands at a
command prompt. PGP Command Line uses a command-line interface.
keyboard input: PGP Command Line was designed so that all relevant
information can be entered at the command line, thus requiring no further
input from the keyboard to implement the commands.
scripting: PGP Command Line commands can be easily inserted into
scripts to be used for automating tasks. For example, if your company
regularly copies a large database to an off-site backup and then stores it
there, PGP Command Line commands can be added to the script that does
this so that the database is encrypted before it is transmitted to the off-site
location and then decrypted when it arrives. PGP Command Line
commands are easily added to shell scripts or scripts written with scripting
languages (such as Perl or Python, for example).
environment variables: Environment variables control various aspects of
PGP Command Line behavior; for example, the location of the PGP
Command Line home directory. Environment variables are established on
the computer running PGP Command Line.
1
PGP® Command Line 10.0 PGP Command Line Basics
configuration file variables: When PGP Command Line starts, it reads the
configuration file, which includes special configuration variables and values
for each variable. These settings affect how PGP Command Line operates.
Configuration file variables can be changed permanently by editing the
configuration file or overridden on a temporary basis by specifying a value
for a configuration file variable on the command line.
Self-Decrypting Archives (SDAs): PGP Command Line lets you create
SDAs, compressed and conventionally encrypted archives that require a
passphrase to decrypt. SDAs contain an executable for the target platform,
which means the recipient of an SDA does not need to have any PGP
software installed to open the archive. You can thus securely transfer data
to recipients with no PGP software installed. You will have to communicate
the passphrase of the SDA to the recipient, however.
Additional Decryption Key (ADK): PGP Command Line supports the use
of an ADK, which is an additional key to which files or messages are
encrypted, thus allowing the keeper of the ADK to retrieve data or
messages as well as the intended recipient. Use of an ADK ensures that
your corporation has access to all its proprietary information even if
employee keys are lost or become unavailable.
PGP Zip archives: The PGP Zip feature lets you encrypt/sign groups of files
Getting Started
Now that you know a little bit about PGP Command Line, let’s go deeper into
what you need to do to get started using it:
1 Install PGP Command Line. Specific instructions for installing PGP
2 License the software. PGP Command Line functionality is extremely
3 Create your default key pair. Most PGP Command Line operations require
4 Protect your private key. Because your private key can decrypt your
or entire directories into a single compressed archive file. The archive
format is tar and the supported compression formats are Zip, BZip2, and
Zlib.
Command Line on the supported platforms are in Installation.
limited until you license the software. Refer to Licensing for more
information.
a key pair (a private key and a public key). Refer to Creating Your Keypair for
more information.
protected data, it is important that you protect it. Do not write down or tell
someone the passphrase. It is a good idea to keep your private key on a
machine that only you can access, and in a directory that is not accessible
from the network. Also, you should make a backup of the private key and
store it in a secure location. Refer to Protecting Your Private Key for more
information.
2
PGP® Command Line 10.0 PGP Command Line Basics
5 Exchange public keys with others. In order to encrypt data to someone
you need their public key; and they need yours to encrypt data to you. Refer
to Getting the Public Keys of Others for more information about how to
obtain public keys.
6Verify the public keys you get from the keyserver. Once you have a
copy of someone’s public key, you add it to your public keyring. When you
get someone’s public key, you should make sure that it has not been
tampered with and that it really belongs to the purported owner. You do
this by comparing the unique fingerprint on your copy of someone’s public
key to the fingerprint on that person’s original key. For more information
about validity and trust, refer to An Introduction to Cryptography (it was put
onto your computer during installation). For instructions how to verify
someone’s public key, see --fingerprint (page 80).
7Start securing your data. After you have generated your key pair and have
obtained public keys, you can begin encrypting, signing, decrypting, and
verifying your data.
3
2
Installation
This chapter lists the system requirements for, and tells you how to install PGP
Command Line onto, the six supported platforms: AIX, HP-UX, Mac OS X, Linux,
Solaris, and Windows. It also includes uninstall instructions.
System Requirements ............................................................................... 6
Installing on AIX ....................................................................................... 11
Installing on HP-UX .................................................................................. 13
Installing on Mac OS X.............................................................................15
Installing on Red Hat Enterprise Linux or Fedora Core............................17
Installing on Solaris .................................................................................. 19
Installing on Windows..............................................................................21
Overview
PGP Command Line can be installed on these platforms:
Windows 7 (32- and 64-bit), Windows Vista (32- and 64-bit), Windows
Server 2003 (SP 1), Windows XP (32- and 64-bit), Windows 2000 (SP 4)
HP-UX 11i and above (PA-RISC and Itanium)
IBM AIX 5.3 and 6.1
RedHat Enterprise Linux 3.0 and above (x86 only and x86_64)
Fedora Core 3 and above (x86_64 only)
Sun Solaris 9 (SPARC only) and Solaris 10 (SPARC, x86, and x86_64
Apple Mac OS X 10.5.x and 10.6.x (Intel-based systems only)
PGP Command Line uses a specific directory for the application data such as the
configuration file, and a specific directory (called the home directory) for the files
it creates, such as keyring files.
On any UNIX system, the application data and the home directory are identical
and they are configured through the $HOME environment variable. For more
information, refer to the installation instructions for the specific UNIX platform.
5
PGP® Command Line 10.0 Installation
On Windows, the application data directory is used to store data such as the
configuration file PGPprefs.xml. The home directory is called “My
Documents” and is used to store keys. These two directories can be named
differently, depending on the specific version on Windows. For more
information, see To Install on Windows (on page 21).
Note: You can also use the --home-dir option on the command line to
specify a different home directory. Using this option affects only the
command it is used in and does not change the PGP_HOME_DIR
environment variable.
Using --home-dir on the command line overrides the current setting of the
PGP_HOME_DIR environment variable.
System Requirements
In general, system requirements for PGP Command Line are the same as the
system requirements for the host operating system.
In addition to the hard drive space required by the base operating system, PGP
Command Line requires additional space for both the data on which
cryptographic operations (such as encryption, decryption, signing, and verifying)
will be applied and temporary files created in the process of performing those
operations.
For a given file being encrypted or decrypted, PGP Command Line can require
several times the size of the original file in free hard drive space (depending on
how much the file was compressed), enough to hold both the original file or files
and the final file resulting from the encryption or decryption operation.
In cases where PGP Zip functionality is used on a file, PGP Command Line may
also require several times the size of the original file or files in free hard drive
space, enough to hold the original file, a temporary file created when handling
the archive, and the final file resulting from the encryption or decryption
operation. Make sure you have adequate free hard drive space on your system
before using PGP Command Line.
Windows 7 and Vista
Component Requirement
Computer
and
processor
PC with 1 GHz 32-bit (x86) processor
Memory 1 gigabyte (GB) of RAM or higher recommended (64 MB
minimum supported; may limit performance and some
features)
6
PGP® Command Line 10.0 Installation
Hard disk 15 GB of available space
Drive DVD-ROM drive
Display Support for DirectX 9 graphics with WDDM driver, 128 MB of
graphics memory (minimum), Pixel Shader 2.0 in hardware, 32
bits per pixel
Windows Server 2003
PGP Command Line supports four editions of Windows Server 2003: Standard,
Datacenter, Enterprise, and Web.
Standard Edition
Component Requirement
Computer
and
processor
PC with a 133-MHz processor required; 550-MHz or faster
processor recommended (Windows Server 2003 Standard
Edition supports up to four processors on one server)
Memory 128 MB of RAM required; 256 MB or more recommended; 4
GB maximum
Hard disk 1.25 to 2 GB of available hard-disk space
Drive CD-ROM or DVD-ROM drive
Display VGA or hardware that supports console redirection required;
Super VGA supporting 800 x 600 or higher-resolution monitor
recommended
Pentium/Celeron family, AMD K6/Athlon/Duron family, or
compatible processor recommended
Memory 128 megabytes (MB) of RAM or higher recommended (64 MB
minimum supported; may limit performance and some
features)
Hard disk 1.5 gigabyte (GB) of available hard disk space
Drive CD-ROM or DVD-ROM drive
Display Super VGA (800 × 600) or higher resolution video adapter and
monitor supporting 800 x 600 or higher-resolution monitor
recommended
64-bit Windows XP
Component Requirement
Computer
and
processor
PC with AMD Athlon 64, AMD Opteron, Intel Xeon with Intel
EM64T support, Intel Pentium 4 with Intel EM64T support
Memory 256 megabytes (MB) of RAM or higher recommended
Hard disk 1.5 gigabyte (GB) of available hard disk space
Drive CD-ROM or DVD-ROM drive
Display Super VGA (800 × 600) or higher resolution video adapter and
monitor supporting 800 x 600 or higher-resolution monitor
recommended
Windows 2000
Component Requirement
Computer
and
processor
133 MHz or higher Pentium-compatible CPU
9
PGP® Command Line 10.0 Installation
Memory At least 64 megabytes (MB) of RAM; more memory generally
improves responsiveness
Hard disk 2 GB with 650 MB free space
Drive CD-ROM or DVD-ROM drive
Display VGA or higher resolution monitor
IBM AIX
PGP Command Line runs on the range of IBM eServer p5, IBM eServer pSeries,
IBM eServer i5 and IBM RS/6000, as supported by IBM AIX 5.3 and 6.1.
HP-UX 11i
PGP Command Line runs on the list of PA-RISC workstation and servers
supported by HP-UX 11i, as specified at http://docs.hp.com/
http://docs.hp.com/en/5187-2239/ch03s01.html.
Solaris 9 and 10
Component Requirement
Computer
SPARC (32- and 64-bit) platforms
and
processor
Memory 64 MB minimum (128 MB recommended)
Hard disk 600 MB for desktops; one GB for servers
Red Hat Enterprise Linux and Fedora Core
Component Requirement
Computer
and
processor
Memory 256 MB minimum
Hard disk 800 MB minimum
x86 for Red Hat Enterprise Linux, x86_64 for Fedora Core; see
Red Hat or Fedora websites for hardware compatibility.
10
PGP® Command Line 10.0 Installation
Mac OS X
Component Requirement
Computer
Macintosh computer, Intel-based system only
and
processor
Memory 128 MB of physical RAM
Installing on AIX
This section tells you how to install, change the home directory, and uninstall on
AIX.
Installing on AIX
You need to have root or administrator privileges on the machine on which you
are installing PGP Command Line.
To install PGP Command Line on an AIX system:
1 If you have an existing version of PGP Command Line installed on the
computer, uninstall it.
2Download the installer application called PGPCommandLine10IX.tar to a
known location on your system.
3Untar the package first. You will get the following file:
By default, the PGP Command Line application, pgp, is installed into the
directory /opt/pgp/bin. You need to add this directory to your PATH
environment variable in order for the application to be found.
For sh-based shells, use this syntax:
PATH=$PATH:/opt/pgp/bin
For csh-based shells, use this syntax:
set path = ($path /opt/pgp/bin)
Also, in order to access the PGP Command Line man page, you need to set the
MANPATH environment variable appropriately.
11
PGP® Command Line 10.0 Installation
For sh-based shells, use this syntax:
MANPATH=$MANPATH:/opt/pgp/man; export MANPATH
For csh-based shells, use this syntax:
setenv MANPATH "/opt/pgp/man"
By adding the option --prefix to the rpm command, you can install PGP
Command Line to a location other than the default.
Type rpm --prefix=/usr/pgp -ivh PGPCommandLine10AIX.rpm and
press Enter.
This command installs the application binary in the directory /usr/pgp/bin/pgp,
libraries in /usr/pgp/lib, and so on.
You will need to edit the environmental variable LIBPATH to include the new
library path (/usr/pgp/lib) so that PGP Command Line can function in a location
other than the default.
By adding the option --prefix to the rpm command, you can install PGP
Command Line in a location other than the default:
1If you have an existing version of PGP Command Line installed on the
computer, uninstall it.
2Download the installer application called PGPCommandLine10AIX.tar to
a known location on your system.
3Untar the package first. You will get the following file:
This command will install the application binary, pgp, in the directory
/usr/pgp/bin/pgp, libraries in /usr/pgp/lib, and so on.
You will need to edit the environment variable LIBPATH to include the new
library path (/usr/pgp/lib), so that PGP Command Line can function in any
location other than the default.
Changing the Home Directory on AIX
The home directory is where PGP Command Line stores the files that it creates
and uses; for example, keyring files.
By default, the PGP Command Line installer for AIX creates the PGP Command
Line home directory at $HOME/.pgp. If this directory does not exist, it will be
created. For example, if the value of $HOME for user "alice"is
/usr/home/alice, PGP Command Line will attempt to create
/usr/home/alice/.pgp.
The PGP Command Line installer will not try to create any other part of the
directory listed in the $HOME variable, only .pgp.
12
PGP® Command Line 10.0 Installation
If you want the home directory changed on a permanent basis, you will need to
create the $PGP_HOME_DIR environment variable and specify the path of the
desired home directory.
Uninstalling on AIX
Uninstalling PGP Command Line on AIX requires root privileges, either through
su or sudo.
To uninstall PGP Command Line on AIX
1 Type the following command and press Enter:
rpm -e pgpcmdln
2 PGP Command Line is uninstalled.
Installing on HP-UX
This section tells you how to install, change the home directory, and uninstall on
HP-UX.
Installing on HP-UX
You need to have root or administrator privileges on the machine on which you
are installing PGP Command Line.
To install PGP Command Line on an HP-UX system
1 If you have an existing version of PGP Command Line installed on the
computer, uninstall it.
2Download the installer file called PGPCommandLine10HPUX.tar to a
known location on your system.
3Untar the package first. You will get the following file:
PGPCommandLine10HPUX.depot
4Type: swinstall -s
/absolute/path/to/PGPCommandLine10HPUX.depot
5Press Enter.
By default, the PGP Command Line application, pgp, is installed into the
directory /opt/pgp/bin. You need to add this directory to your PATH
environment variable in order for the application to be found.
For sh-based shells, use this syntax:
13
PGP® Command Line 10.0 Installation
PATH=$PATH:/opt/pgp/bin
For csh-based shells, use this syntax:
set path = ($path /opt/pgp/bin)
Also, in order to access the PGP Command Line man page, you need to set the
MANPATH environment variable appropriately.
For sh-based shells, use this syntax:
MANPATH=$MANPATH:/opt/pgp/man; export MANPATH
For csh-based shells, use this syntax:
setenv MANPATH "/opt/pgp/man"
Note: You may encounter an issue generating 2048- or 4096-bit keys on HPUX systems running PGP Command Line if you have altered the maximum
number of shared memory segments that can be attached to one process, as
configured by the shmseg system parameter. if you encounter this issue,
reset the shmseg system parameter to its default value of 120. Consult your
HP-UX documentation for information about how to alter system parameters.
Changing the Home Directory on HP-UX
The home directory is where PGP Command Line stores the files that it creates
and uses; for example, keyring files.
By default, the PGP Command Line installer for HP-UX creates the PGP
Command Line home directory in $HOME/.pgp. If this directory does not exist,
it will be created. For example, if the value of $HOME for user "alice" is
/usr/home/alice, PGP Command Line will attempt to create
/usr/home/alice/.pgp.
The PGP Command Line installer will not try to create any other part of the
directory listed in the $HOME variable, only .pgp.
If you want the PGP Command Line home directory changed on a permanent
basis, you can define the $PGP_HOME_DIR environment variable and specify the
path of the desired home directory.
Installing to a Non-Default Directory on HP-UX
This procedure describes how to install PGP Command Line for HP-UX into a
non-default directory. The information provided is in addition to the information
provided in Installing on HP-UX.
Note: This procedure uses /opt/pgp_alt as the non-default directory. Be sure
to substitute the desired directory in place of /opt/pgp_alt.
14
PGP® Command Line 10.0 Installation
To install PGP Command Line for HP-UX to a non-default directory
1 Add the following extra argument to the swinstall command:
2 Set all libraries to respect the SHLIB_PATH environment variable:
chatr +s enable /opt/pgp_alt/lib/*
3Set the SHLIB_PATH environment variable to the new library directory
when starting PGP Command Line:
Uninstalling on HP-UX
export SHLIB_PATH=/opt/pgp_alt/lib
Uninstalling PGP Command Line on HP-UX requires root privileges, either su or
sudo.
To uninstall PGP Command Line on HP-UX:
1 Type the following command and press Enter:
swremove pgpcmdln
2 PGP Command Line is uninstalled.
Installing on Mac OS X
This section tells you how to install, change the home directory, and uninstall on
Mac OS X.
Installing on Mac OS X
To install PGP Command Line on a Mac OS X system:
1 Close all applications.
2 Download the installer application, PGPCommandLine10MacOSX.tgz, to
your desktop.
3 Double-click on the file PGPCommandLine10MacOSX.tgz.
4 If you have Stuffit Expander, it will automatically first uncompress this file
into PGPCommandLine10MacOSX.tar, and then untar it into
PGPCommandLine10MacOSX.pkg.
5 Double-click on the file PGPCommandLine10MacOSX.pkg.
15
PGP® Command Line 10.0 Installation
6 Follow the on-screen instructions.
The Mac OS X PGP Command Line application, pgp, is installed into
/usr/bin/.
After you run PGP Command Line for the first time, its home directory will be
created automatically in the directory $HOME/Documents/PGP. This directory
may already exist if PGP Desktop for Mac OS X is already installed on the
system.
Changing the Home Directory on Mac OS X
The home directory is where PGP Command Line stores the files that it creates
and uses; for example, keyring files.
By default, the PGP Command Line installer for Mac OS X creates the PGP
Command Line home directory at $HOME/Documents/PGP. If this directory
does not exist, it will be created.
The PGP Command Line installer will not try to create any other part of directory
listed in the $HOME variable, only .pgp.
If you want the home directory changed permanently, you need to create the
$PGP_HOME_DIR environment variable and specify the path of the desired
home directory.
Uninstalling on Mac OS X
Uninstalling PGP Command Line on Mac OS X requires administrative privileges.
Caution: If you have PGP Desktop for Mac OS X installed on the same
system with PGP Command Line, do not uninstall PGP Command Line unless
you also plan to uninstall PGP Desktop. Uninstalling PGP Command Line will
delete files that PGP Desktop requires to operate; you will have to reinstall
PGP Desktop to return to normal operation.
To uninstall PGP Command Line on Mac OS X:
1 Using the Terminal application, enter the following commands:
rm -rf /usr/bin/pgp
rm -rf /Library/Frameworks/PGP*
rm -rf /Library/Receipts/PGP*
2PGP Command Line is uninstalled.
Preferences and keyrings are not removed when PGP Command Line is
uninstalled.
16
PGP® Command Line 10.0 Installation
Installing on Red Hat Enterprise Linux or Fedora Core
This section tells you how to install, change the home directory, and uninstall on
a Linux or Fedora Core system.
Installing on Red Hat Enterprise Linux or Fedora Core
You need to have root or administrator privileges on the machine on which you
are installing PGP Command Line.
Linux installations now default to /opt/pgp, which matches the default
installation location on other UNIX platforms. To install PGP Command Line on
Linux to the previous installation location (/usr/bin/), use the "--prefix=/usr"
option.
If you have an existing Linux installation of PGP Command Line and do not
install the new version using the "--prefix=/usr" option, you will need to update
your path to include /opt/pgp/bin and you will need to update any scripts
accordingly.
Caution: If you want to use the XML key list functionality in PGP Command
Line, you need to upgrade libxml2 to Version 2.6.8; the default is Version
2.5.10. If you attempt to use the XML key list functionality without upgrading,
you will receive an error.
To install PGP Command Line on a Linux system:
1 If you have an existing version of PGP Command Line installed on the
computer, uninstall it.
2Download the installer file called PGPCommandLine10Linux.tar to a
known location on your system.
3Untar the package first. You will get the following file:
This command will install the application binary in the directory
/opt/bin/pgp, libraries in /opt/lib, etc. You will need to edit the
environment variable LD_LIBRARY_PATH to include the new library path for the
software to function in any location other than the default.
Changing the Home Directory on Linux or Fedora Core
The home directory is where PGP Command Line stores the files that it creates
and uses; for example, keyring files.
By default, the PGP Command Line installer for Linux creates the PGP
Command Line home directory at $HOME/.pgp. If this directory does not exist,
it will be created. For example, if the value of $HOME for user "alice" is
/usr/home/alice, PGP Command Line will attempt to create
/usr/home/alice/.pgp.
The PGP Command Line installer will not try to create any other part of the
directory listed in the $HOME variable, only .pgp.
If you want the home directory changed on a permanent basis, you need to
create the $PGP_HOME_DIR environment variable and specify the path of the
desired home directory.
Uninstalling on Linux or Fedora Core
Uninstalling PGP Command Line on Linux requires root privileges, either su or
sudo.
To uninstall PGP Command Line on Linux or Fedora Core:
1 Type the following command and press Enter:
rpm -e pgpcmdln
2 PGP Command Line is uninstalled.
18
PGP® Command Line 10.0 Installation
Installing on Solaris
This section tells you how to install, change the home directory, and uninstall on
Solaris.
Installing on Solaris
You need to have root or administrator privileges on the machine on which you
are installing PGP Command Line.
To install PGP Command Line onto a Solaris machine in the default
directory:
1 If you have an existing version of PGP Command Line installed on the
computer, uninstall it.
2Download the installer file called PGPCommandLine10Solaris.tar to a
known location on your system.
3Untar the package first. You will get the following file:
PGPCommandLine10Solaris.pkg
4 Type pkgadd -d PGPCommandLine10Solaris.pkg and press Enter.
5 At the first prompt, enter "1" or "all" to install the package.
If the directories /usr/bin and /usr/lib are not owned by root:bin, the
install application pkgadd will ask if you want to change the ownership/group on
these directories. It is not necessary to change them, but as an admin you may
do so if you wish.
By default, the PGP Command Line application, pgp, is installed into the
directory /opt/pgp/bin. You need to add this directory to your PATH
environment variable in order for the application to be found.
For sh-based shells, use this syntax:
PATH=$PATH:/opt/pgp/bin
For csh-based shells, use this syntax:
set path = ($path /opt/pgp/bin)
Also, in order to access the PGP Command Line man page, you need to set the
MANPATH environment variable appropriately.
For sh-based shells, use this syntax:
MANPATH=$MANPATH:/opt/pgp/man; export MANPATH
For csh-based shells, use this syntax:
setenv MANPATH "/opt/pgp/man"
19
PGP® Command Line 10.0 Installation
To install PGP Command Line onto a Solaris machine in another
directory:
1 If you have an existing version of PGP Command Line installed on the
computer, uninstall it.
2Download the installer application PGPCommandLine10Solaris.tar to a
known location on your system.
3Untar the package first. You will get the following file:
PGPCommandLine10Solaris.pkg
4 Type: pkgadd -a none -d PGPCommandLine10Solaris.pkg
(This will force an interactive installation).
5 Press Enter.
6 At the first prompt, enter “1” or “all” to install the package.
You will be asked to enter the path to the package’s base directory. If you enter
/usr/pgp, the binary will be installed to /usr/pgp/bin/pgp, libraries will be
installed to /usr/pgp/lib, and so on.
You need to edit the environment variable LD_LIBRARY_PATH to include the
new library path (/usr/pgp/lib) so that PGP Command Line can function in
this location.
Changing the Home Directory on Solaris
The home directory is where PGP Command Line stores the files that it creates
and uses; for example, keyring files.
By default, the PGP Command Line installer for Solaris creates the PGP
Command Line home directory in $HOME/.pgp. If this directory does not exist,
it will be created. For example, if the value of $HOME for user "alice" is
/usr/home/alice, PGP Command Line will attempt to create
/usr/home/alice/.pgp.
The PGP Command Line installer will not try to create any other part of the
directory listed in the $HOME variable, only .pgp.
If you want the PGP Command Line home directory changed on a permanent
basis, you can define the $PGP_HOME_DIR environment variable and specify the
path of the desired home directory.
Uninstalling on Solaris
Uninstalling PGP Command Line on Solaris requires root privileges, either su or
sudo.
20
PGP® Command Line 10.0 Installation
To uninstall PGP Command Line on Solaris:
1 Type the following command and press Enter:
pkgrm PGPcmdln
To uninstall with no confirmation, use: pkgrm -n PGPcmdln
2 PGP Command Line is uninstalled.
Installing on Windows
This section tells you how to install, change the home directory, and uninstall on
Windows.
PGP Command Line for Windows and PGP Desktop on the Same System
PGP Command Line and PGP Desktop can be installed on the same system at
the same time.
To use PGP Command Line for Windows and PGP Desktop for Windows on the
same 64-bit system, you must use the 64-bit version of PGP Desktop and the
32-bit version of PGP Command Line.
This ensures compatible versions of the PGP SDK are used. The PGP SDK for
the 64-bit version of PGP Command Line for Windows includes functionality that
makes it incompatible with PGP Desktop for Windows.
To Install on Windows
To install PGP Command Line onto a Windows system:
1 Close all Windows applications.
2 Download the installer application, PGPCommandLine10Win.zip, to a
3 Unzip the file PGPCommandLine10Win.zip. You will get the following
4 Double click on PGPCommandLine10Win.msi.
5 Follow the on-screen instructions.
known location on your system.
file: PGPCommandLine10Win.msi.
6If prompted, restart your machine. A restart is needed only if other PGP
products are also installed on the same machine.
The Windows PGP Command Line application, pgp.exe, is installed into:
After you run PGP Command Line for the first time, its home directory will be
created automatically in the user’s home directory:
C:\Documents and Settings\<user>\My Documents\PGP\
Application data is stored in the directory:
C:\Documents and Settings\<user>\Application Data\PGP
Corporation\PGP
Changing the Home Directory on Windows
The home directory is where PGP Command Line stores its keyring files. If a
different PGP product has already created this directory, PGP Command Line
will also use it (thus, PGP Command Line can automatically use existing PGP
keys).
PGP Command Line data files, such as keys, are stored in the home directory:
C:\Documents and Settings\<user>\My Documents\PGP\
PGP Command Line application files, such as the configuration file
PGPprefs.xml, are stored in:
C:\Documents and Settings\<user>\Application Data\PGP
Corporation\PGP\
If you want the home directory changed on a permanent basis, you need to
create the PGP_HOME_DIR environment variable and specify the path of the
desired home directory.
To create the PGP_HOME_DIR environment variable on a Windows
system:
1 Click Start, select Settings, select Control Panel, and then select
System.
Locations may be different for the different Windows versions.
The System Properties dialog appears.
2Select the Advanced tab, then click Environment Variables.
The Environment Variables screen appears.
3 In the User Variables section, click New.
The New User Variable dialog appears.
4In the Variable name field, enter PGP_HOME_DIR. In the Variable value
field, enter the path of the home directory you want to use. For example:
C:\PGP\PGPhomedir\
5 Click OK.
The Environment Variables screen reappears. PGP_HOME_DIR appears in
the list of user variables.
22
PGP® Command Line 10.0 Installation
Uninstalling on Windows
To remove PGP Command Line from a Windows system:
1 Navigate to the Add or Remove Programs Control Panel.
2 Select PGP Command Line from the list of installed programs.
3 Click Remove, then follow the on-screen instructions.
PGP Command Line is uninstalled.
23
3
Licensing
PGP Command Line requires a valid license to operate. This chapter describes
how to license your copy of PGP Command Line.
Through a Proxy Server ........................................................................... 30
Overview
PGP Command Line requires a valid license to support full functionality. If you
use PGP Command Line without entering a license or after your license has
expired, only basic functionality will be available. You will only be able to get
help and version information; perform a speed test; list keys, user IDs,
fingerprints, and signatures; export public keys and keypairs; and license PGP
Command Line.
Note: As PGP Command Line will not operate normally until licensed, you
should license it immediately after installation.
When your license gets within 60 days of expiration, PGP Command Line begins
issuing warnings that license expiration is nearing. There is no grace period once
the license expiration date has been reached.
PGP Command Line supports the following licensing scenarios:
Using a License Number (on page 27). This is the normal method to
license PGP Command Line. You must have your license number and a
working connection to the Internet.
Using a License Authorization (on page 28). This licensing method uses
licensing information in a file that was obtained from PGP Corporation. This
method does not require a working connection to the Internet.
25
PGP® Command Line 10.0 Licensing
Re-Licensing (on page 29). If you have already licensed PGP Command Line
on a system but want to re-license it with a new license number (to support
additional functionality, for example), use this method. You must have your
new license number and a working connection to the Internet.
Through a Proxy Server (on page 30). If you connect to the Internet through
a proxy server, use this method to license PGP Command Line. You must
have your license number and the appropriate proxy server information.
License Recovery
When you first enter your PGP Command Line license, one option is -license-email, which takes a valid email address.
You are not required to use --license-email to license your copy of PGP
Command Line, but it is required if you want to take advantage of the license
recovery feature.
The license recovery feature provides an automated mechanism for retrieving
your original licensing information for those occasions when you need to enter it
again.
Here is how the license recovery feature works: When you first license your
copy of PGP Command Line, you enter a License Name, License Organization,
your License Number, and a License Email. The license authorizes, and you
begin using PGP Command Line.
Several months pass. The hardware hosting PGP Command Line fails and it is
no longer usable. You need to reinstall PGP Command Line on a new system.
You still have your PGP Command Line license number, but you enter your
company name differently in License Organization; you didn’t remember exactly
how you entered it several months ago, and this time you picked a slightly
different form (or maybe you even mis-typed it by mistake).
Not a big deal, you think; what difference could it make? But when you attempt
to authorize the license, it does not work.
What happened is that when you re-license PGP Command Line, you must
enter the same information exactly as you did the first time or it will not license
correctly.
At this point the license recovery feature kicks in. When you attempt to relicense PGP Command Line, and you enter a valid license, but the License
Name or License Organization you enter is different, the license recovery
feature sends an email message to the License Email you entered the first time
you licensed PGP Command Line.
The email message includes the License Name and License Organization you
used when you first licensed PGP Command Line. You can now license PGP
Command Line on the new system using the information in the message.
26
PGP® Command Line 10.0 Licensing
The key to the license recovery feature is entering a valid email address when
you first license PGP Command Line. The license recovery feature will only use
the email address you enter when you first license a specific PGP Command
Line license. You cannot add or change the email address at a later time; if you
don’t enter it the first time you license, the license recovery feature will not
work for that particular PGP Command Line license.
If the license recovery feature is not available for a PGP Command Line license,
but you need your original License Name or License Organization, contact PGP
Support at www.pgp.com/support/
http://www.pgp.com/support\n.
Using a License Number
If you have a license number and a working Internet connection, you can license
your copy of PGP Command Line.
Use --license-authorize to license PGP Command Line.
The following options are required:
--license-name <Name>
Where <Name> is your name or a descriptive name.
--license-organization <Org> Where <Org> is the name of your
company.
--license-number <Number> Where <Number> is a valid license
number.
The following option is not required but is recommended:
--license-email <EmailAddress>
Where <EmailAddress> is a valid email address, generally the email
address of the PGP Command Line administrator.
Before deciding not to enter a license email, be sure to refer to License Recovery (on page 26). Not entering a license email when you first license your
copy of PGP Command Line negates the license recovery feature for your PGP
Command Line license. If you decide not to enter a license email, you will see a
warning message but your license will authorize.
(When entering this text, it all goes on a single line.)
27
PGP® Command Line 10.0 Licensing
Using a License Authorization
If you have both a license number and a license authorization (a text file) from
PGP Corporation instead of just a license number, you need to enter the name
of the license authorization file in the command.
You may need a license authorization if you are having problems authorizing
your license number or if the system hosting PGP Command Line is not
connected to the Internet.
Use --license-authorize to license PGP Command Line using a license
authorization.
The following options are required:
--license-name <Name>
Where <Name> is your name or a descriptive name.
--license-organization <Org> Where <Org> is the name of your
company.
--license-number <Number> Where <Number> is a valid license
number.
The following option is not required but is recommended:
--license-email <EmailAddress>
Where <EmailAddress> is a valid email address, generally the email
address of the PGP Command Line administrator.
Before deciding not to enter a license email, be sure to refer to License Recovery (on page 26). Not entering a license email when you first license your
copy of PGP Command Line negates the license recovery feature for your PGP
Command Line license. If you decide not to enter a license email, you will see a
warning message but your license will authorize.
(When entering this text, it all goes on a single line.)
In this example, the text file "license-auth.txt" is shown after the license
number.
28
PGP® Command Line 10.0 Licensing
Re-Licensing
If you have already licensed your copy of PGP Command Line on a system, but
you need to re-license it on the same system (if you have purchased a new
license with additional capabilities, for example), you must use the <force>
option to override the existing license.
You can use a license number or a license authorization when you are relicensing.
Use --license-authorize to re-license PGP Command Line.
The following options are required:
--license-name <Name>
Where <Name> is your name or a descriptive name.
--license-organization <Org> Where <Org> is the name of your
company.
--license-number <Number> Where <Number> is a valid license
number.
--force The following option is not required but is recommended:
--license-email <EmailAddress>
Where <EmailAddress> is a valid email address, generally the email
address of the PGP Command Line administrator.
The following option is optional:
<LicenseAuthFilename>
Where <LicenseAuthFilename> is the name of the text file from PGP
Corporation that includes license authorization information.
Before deciding not to enter a license email, be sure to refer to License Recovery (on page 26). Not entering a license email when you first license your
copy of PGP Command Line negates the license recovery feature for your PGP
Command Line license. If you decide not to enter a license email, you will see a
warning message but your license will authorize.
(When entering this text, it all goes on a single line.)
29
PGP® Command Line 10.0 Licensing
Through a Proxy Server
If the Internet access of the system hosting PGP Command Line is via an HTTP
proxy connection, you can still license your copy of PGP Command Line directly;
you simply need to add the necessary proxy information.
Use --license-authorize to license PGP Command Line via a proxy server.
The following options are required:
--license-name <Name>
Where <Name> is your name or a descriptive name.
--license-organization <Org> Where <Org> is the name of your
company.
--license-number <Number> Where <Number> is a valid PGP
Command Line license number.
--proxy-server <Server>
Where <Server> is the IP address or fully qualified domain name of the
proxy server PGP Command Line must go through to reach the Internet.
The following options are not required; they are only needed when the proxy
server requires authentication:
--proxy-username <Username>
Where <Username> is a valid username on the proxy server.
--proxy-passphrase <Passphrase>
Where <Passphrase> is the passphrase for the username you entered.
The following option is not required but is recommended:
--license-email <EmailAddress>
Where <EmailAddress> is a valid email address, generally the email
address of the PGP Command Line administrator.
Before deciding not to enter a license email, be sure to refer to License Recovery. Not entering a license email when you first license your copy of PGP
Command Line negates the license recovery feature for your PGP Command
Line license. If you decide not to enter a license email, you will see a warning
message but your license will authorize.
PGP Command Line uses a command-line interface. You enter a valid command
and press Enter. PGP Command Line responds appropriately based on what
you entered (if you entered a valid command) or with an error message (if you
entered an invalid or incorrectly structured command).
All PGP Command Line commands have a long form: the text “pgp”, a space,
two hyphens "--", and then the command name. Some of the more common
commands have a short form: one hyphen and then a single letter that
substitutes for the command name.
The --version command, for example, tells you what version of PGP
Command Line you are using. It does not have a short form:
%pgp --version [Enter]
From here on, the command prompt (% in this example) and [Enter] will not be
shown.
The response is:
PGP Command Line 10.0
Copyright (C) 2010 PGP Corporation
33
PGP® Command Line 10.0 The Command-Line Interface
All rights reserved.
The --help command tells you about the commands available in PGP
Command Line. The long form is:
pgp --help
The short form is:
pgp -h
The response to either version of the --help command is:
PGP Command Line 10.0
Copyright (C) 2010 PGP Corporation
All rights reserved.
Commands:
Generic:
-h --help this help message and so on.
Some more examples of the command line:
1pgp --encrypt report.doc --recipient Alice
report.doc:encrypt (0:output file report.doc.pgp)
Encrypts a file (the output filename will be report.doc.pgp) to the
recipient "Alice".
2pgp -e report.doc -r Alice
report.doc:encrypt (0:output file report.doc.pgp)
Does the same as above, but using the short forms of the encrypt and the
recipient flags.
3pgp -er Alice report.doc
report.doc:encrypt (0:output file report.doc.pgp)
Combines multiple command short forms. "Alice" must come after the "r"
because it is a required argument to --recipient.
4pgp -er Alice report.doc --output NewReport.pgp
report.doc:encrypt (0:output file NewReport.pgp)
Changes the name of the file that is produced.
34
PGP® Command Line 10.0 The Command-Line Interface
Flags and Arguments
PGP Command Line uses flags, commands, options, and arguments:
Flags come in two different types, commands and options. Commands
are flags that control what PGP Command Line does in its current
invocation; they have no effect on subsequent invocations of PGP
Command Line. Options change the behavior of the current command.
Some options require an argument, described below, while others do not.
The order in which flags are listed on the command line has no effect on
their behavior.
Arguments are required as the next parameter when an option flag is
used. Arguments must immediately follow their flags. Where the
flag/argument pair are on the command line does not change what the
flag/argument pair does. Except when setting lists, in which case the
command is read left to right; so when searching keyservers, for example,
the listed keyservers are searched in the order in which they are provided
on the command line.
Flags
Flags and arguments must be separated by a space on the command line. Extra
spaces are ignored. If a space between parts of an argument is required, the
entire argument must be between quotes.
In some cases, there can be multiple names for a single flag.
For example:
--textmode and --text (same flag with two names)
It is also possible to provide an option that has no effect on the current
operation. Flags that have no bearing on the current operation are ignored,
unless they cause an error, in which case the command returns an error.
For example:
--list-keys Alice with the option --encrypt-to-self
(the option --encrypt-to-self will be ignored)
As noted above, flags have both long and short forms. To combine multiple long
forms, you simply write them out separated by a space. For example, to encrypt
a file and armor the output:
pgp --encrypt ... --armor
You can, however, combine multiple short forms into a single flag. For example,
to encrypt and sign at the same time:
pgp -es ...
35
PGP® Command Line 10.0 The Command-Line Interface
When combining short forms, if at any time an option is used in the list that
requires an argument, the list must be terminated and followed by the
argument. For example: -ear recipient.
Arguments
An argument is required as the next parameter when some option flags are
used. There are several kinds of arguments, differentiated by how they are
structured or what kind of information is provided.
Booleans are a special kind of argument. They never take a direct argument
themselves. Instead, the behavior changes by how the flag is specified. To
disable a Boolean, specify it with the prefix "--no-" instead of the normal "--".
When the short form is used for a Boolean flag, there is no way to specify the
disabled version of the flag.
For example:
--reverse-sort (activates reverse sorting)
--no-compress (deactivates compression, the reverse of --compress)
-t (activates text mode; to deactivate text mode, the long form must be
used, --no-text)
Integers are arguments that take a numeric value.
For example:
--wipe-passes 8 (sets the number of wipe passes to eight)
36
PGP® Command Line 10.0 The Command-Line Interface
Enumerations
Enumerations are arguments that take a string, which is then converted to the
correct value by PGP Command Line. This string will be one of several possible
for each flag.
For example:
--sort-order userid (sort by user ID)
--overwrite remove (sets the file overwrite behavior to remove files if
they exist)
Strings
String arguments take a string. If the string you want to use contains any
spaces, the entire string must be in quotes (this indicates that all of the pieces
belong to the same argument). In some cases, an empty string (" ") can be
passed as an argument.
On Windows systems, strings are read in as double-byte character strings and
converted to UTF-8 for use by the PGP SDK or for output. On all other platforms,
UTF-8 is used.
Lists
For example:
--default-key 0x8885BE88 (sets the key with this key ID as the
default key)
--output "New File.txt.pgp" (sets the output filename to a filename
with a space in it)
--passphrase "" (specifies a blank passphrase)
--expiration-date 2008-12-27 (specifies an expiration date of Dec.
27, 2008)
List arguments are the same as string arguments except you can supply more
than one string.
For example:
--recipient bob --recipient bill (sets both Bob and Bill as
recipients)
-r bob -r bill (same command using the short form of the flag)
37
PGP® Command Line 10.0 The Command-Line Interface
File descriptors
File descriptor arguments behave like integer arguments, but instead of storing
the value of the descriptor, PGP Command Line reads a string value from the
descriptor. These string values always have a string type counterpart.
If you need to specify the data in UTF-8 format on a Windows system, use the
"8" versions of the file descriptor options.
For example:
--passphrase-fd 4 (read passphrase from fd 4 and use it as if
--passphrase had been supplied)
No parent
Arguments that have no parent flag behave like lists and follow the same rules.
They are used in different ways, depending on the operation being performed,
but they can occur anywhere in the command line except after a flag that has a
required argument.
These arguments can represent users or represent files.
For example
Configuration File
Generally, the configuration file PGPprefs.xml cannot be changed by PGP
Command Line itself: any changes need to be edited manually (on Mac OS X,
the configuration file is com.pgp.desktop.plist, located in /user’s home
directory/Library/Preferences/).
--passphrase-fd8 7 (read a UTF-8 passphrase from fd 7)
--list-keys Alice Bob Bill (list all keys that match any one of
these users)
--encrypt file1.txt file2.txt file3.txt (encrypt multiple files
with the same command)
Starting with the PGP Command Line version 9.0, there is one operation that
will change the configuration file: when you authorize a license, this information
is saved in the file PGPprefs.xml for future use.
The configuration file PGPprefs.xml is located in the following locations:
$HOME directory on any Unix platform
The exact location depends on the version of Windows, but it is always the
directory that holds the application data.
38
PGP® Command Line 10.0 The Command-Line Interface
By changing some of the settings in the PGPprefs.xml file, you will change how
PGP Command Line works as long as this file is not replaced.
Note that those configuration file settings that do not begin with "CL" are shared
among all PGP applications on the system.
Like arguments, the configuration file settings come in different types: Boolean,
Integer, Enumeration, List, and String.
Boolean configuration file settings you can use with PGP Command Line are:
ADK warning level (adkWarning). Enables warning messages for ADK
actions such as adding an ADK, skipping an ADK, or when an ADK is not
found. Refer to --warn-adk (on page 195) for more information.
Encrypt to self (encryptToSelf). When on, all files or messages you
encrypt to someone else are also encrypted to your key, which means you
can decrypt those encrypted files/messages at a later time, if you wish. The
default is off. See --encrypt-to-self (on page 188) for more information.
Fast keygen (fastKeyGen). Establishes the setting for fast key
generation, on or off. The default is on. See --fast-key-gen (on page 189) for
more information.
Halt on error (CLhaltOnError). When on, causes PGP Command Line to
halt operations when an error occurs. Does not apply to all operations. The
default is off. See --halt-on-error (on page 190) for more information.
Keyring cache (CLkeyringCache). When on, stores keyrings in memory
for each access. The default is off. See --keyring-cache (on page 190) for
more information.
Large Keyrings (CLlargeKeyrings). Checks keyring signatures only
when necessary. See --large-keyrings (on page 190) for more information.
Marginal is invalid (marginalIsInvalid). Establishes whether
marginally trusted keys are considered valid. The default is true, which
means that marginally valid keys are not valid. See --marginal-as-valid (on
page 191) for more information.
Passphrase cache (CLpassphraseCache). When on, automatically saves
your passphrase in memory until you log off or purge the passphrase cache.
The default is off.
See --passphrase-cache (on page 192) for more
information.
Integer configuration file settings you can use with PGP Command Line are:
Keyring cache timeout (CLkeyringCacheTimeout). Establishes the
number of seconds a keyring stays cached in memory. The default is 120 seconds. See --keyring-cache-timeout (on page 201) for more information.
Keyserver timeout (CLkeyserverTimeout). Establishes the number of
seconds to wait before a keyserver operation times out. The default is 120
seconds. See --
KEYSERVER-TIMEOUT (SEE "Integer Options" ON PAGE 197)for more
information.
39
PGP® Command Line 10.0 The Command-Line Interface
Number of wipe input passes (CLfileWipeInputPasses). Establishes
the number of wipe passes for input files. The default is 3 passes. See
--wipe-input-passes (on page 206) for more information.
Number of wipe passes (fileWipePasses). Establishes the number of
passes used by the --wipe command. The default is 3 passes. See --wipe
(on page 179) for more information.
Number of wipe temp passes (CLfileWipeTempPasses). Establishes
the number of wipe passes for temporary files. The default is 3 passes.
See --wipe-temp-passes (on page 207) for more information.
Number of wipe overwrite passes (CLfileWipeOverwritePasses).
Establishes the number of wipe passes when overwriting an existing
output file. The default is 3 passes. See --wipe-overwrite-passes
the number of seconds a passphrase stays cached in memory. The default
is 120 seconds. See --passphrase-cache-timeout (on page 202) for more
information.
Enumeration configuration file settings you can use with PGP Command Line
are:
Automatic import of keys (CLautoImportKeys). Establishes behavior
when keys are found during non-import operations. The default is all. See
--auto-import-keys (on page 208) for more information.
Compression Level (CLcompressionLevel). Sets the compression level
for the current operation. The default is default. See --
COMPRESSION-LEVEL (on
page 210) for more information.
Enforce ADK (CLenforceADK). Establishes the ADK enforcement policy.
The default is attempt. See --enforce-adk (on page 211) for more
information.
Input cleanup (CLinputCleanup). Establishes what to do with input files
after they have been used. The default is off. See --input-cleanup (on page
213) for more information.
Manual import of keys (CLmanualImportKeys). Establishes behavior
when keys are found during an import. The default is all. See --manual-import-key-pairs (on page 215) for more information.
Manual import of key pairs (CLmanualImportKeyPairs). Establishes
behavior when key pairs are found during import. The default is pair. Refer
to --manual-import-keys (on page 215) for more information.
Sort order (CLsortOrder). Changes the sort order for writing key lists.
The default is any. See --sort-order, --sort (on page 216) for more
information.
Overwrite (CLoverwrite). Establishes what to do when an operation tries
to create an output file but it already exists. The default is off. See --overwrite (on page 216) for more information.
40
PGP® Command Line 10.0 The Command-Line Interface
List configuration file settings you can use with PGP Command Line are:
Always encrypt to keys (alwaysEncryptToKeys). Specifies additional
recipients for encryption. Use the 32- or 64-bit key ID to specify the key(s)
to use. Refer to --additional-recipient (on page 229) for more information.
Default keyserver names and associated values (keyservers).
Specifies default keyservers. The default is ldap://keyserver.pgp.com:389/.
If you supply a keyserver on the command line, those keyservers listed in
the configuration file are ignored.
String configuration file settings you can use with PGP Command Line are:
Comment (commentString). Specifies a comment string to be used in
armored output blocks. The default is not set. Refer to --comment (on page
219) for more information.
Default signing key (CLdefaultKey). Specifies a key to be used by
default for signing. The default is not set. See --default-key (on page 220)
for more information.
License Authorization (CLlicenseAuthorization). Specifies the
license authorization. The default is not set. See --license-name, --license-number, --license-organization, --license-email (on page 222) for more
information.
Caution: Because licensing information is stored somewhat differently,
PGP Corporation recommends that you do not directly edit the licenserelated configuration file settings; instead, use the license authorization
commands described in Licensing (on page 25).
License Name (CLlicenseName). Specifies the name of the licensee. The
default is not set. See --license-name, --license-number, --license-organization, --license-email (on page 222) for more information.
License Number (CLlicenseNumber). Specifies the license number. The
default is not set. See --license-name, --license-number, --license-organization, --license-email (on page 222) for more information.
License Organization (CLlicenseOrganization). Specifies the
organization of the licensee. The default is not set. See --license-name,
--license-number, --license-organization, --license-email (on page 222) for
more information.
Output File (CLoutputFile). Specifies the output file (default is not set in
the configuration file; defaults to stdout). The output file is used for output
messages. See --output-file (on page 224) for more information.
Private keyring file (privateKeyringFile). The filename or path and
filename to the private keyring file. The default is secring.skr, located in the
default PGP Command Line home directory. See --private-keyring (on page
225) for more information.
41
PGP® Command Line 10.0 The Command-Line Interface
Public keyring file (publicKeyringFile). The filename or path and
filename to the public keyring file. The default is pubring.pkr, located in the
default PGP Command Line home directory. See --public-keyring (on page
226) for more information.
Random seed filename (rngSeedFile). Sets the location of the random
seed file. By default, the random seed file is located in the PGP Command
Line data directory. See --random-seed (on page 227) for more information.
Status File (CLstatusFile). Specifies the status file. The default is not
set in the configuration file; defaults to stderr. The status file is used for
status messages, using a file name (with or without the path information).
See --status-file (on page 228) for more information.
Keyserver Configuration File Settings
Here is the keyserver section of the PGPprefs.xml file, with brief explanations of
specific settings:
<key>keyservers</key>
<array>
<dict>
<key>title</key>
<string>keyserver.example.com</string>(
(name of the keyserver)
<key>domain</key>
<string></string>
<key>hostname</key>
<string>keyserver.example.com</string>
(hostname of the keyserver)
<key>port</key>
<integer>389</integer> (keyserver port)
<key>protocol</key>
<integer>1</integer>(keyserver protocol: 1= LDAP, 2=
HTTP, 3 = LDAPS and 4 = HTTPS (currently not
PGP Command Line behavior can be changed using environment variables. For
information about defining environment variables, refer to the section that
describes the platform you are using in
Environment variables have the lowest priority compared to the command line
and the configuration file. Settings for either will override environment variables.
However, if a value for an item is not specified in either, the environment
variable will be used. Environment variables cannot be disabled; if they are
present, they are implemented. To disable an environment variable, remove it.
Setting a Boolean environment variable will activate it, regardless of the value to
which it is set.
Installation (on page 5).
Environment variables that can be implemented for PGP Command Line are:
PGP_LOCAL_MODE. This is a Boolean environment variable that forces
PGP Command Line to run in local mode. The default is unset. See --local-mode (on page 191) for more information.
Usage: PGP_LOCAL_MODE=1
PGP_NO_BANNER. This is a Boolean environment variable that turns off
the banner when a command is run. The default is unset. See --banner (on
page 186) for more information.
Usage: PGP_NO_BANNER=1
PGP_HOME_DIR. This is a string environment variable that overrides the
default home directory, pointing it to the path supplied in the variable. The
default is unset. See --home-dir (on page 221) for more information.
Usage: PGP_HOME_DIR=/usr/bin/alice
PGP_PASSPHRASE. This is a string environment variable that lets you set
your passphrase. The default is unset. For more information, See
--passphrase (on page 224) for more information.
Usage: PGP_PASSPHRASE="Now is the time for all good men"
43
PGP® Command Line 10.0 The Command-Line Interface
PGP_NEW_PASSPHRASE. This is a string environment variable that lets
you set a new passphrase. The default is unset. See --new-passphrase (on
page 223) for more information.
Usage: PGP_NEW_PASSPHRASE="to come to the aid of their country."
PGP_SYMMETRIC_PASSPHRASE. This is a string environment variable
that lets you set a passphrase for symmetric encryption. The default is
unset. See --symmetric-passphrase (on page 228) for more information.
Usage: PGP_SYMMETRIC_PASSPHRASE="Now is the time"
PGP_EXPORT_PASSPHRASE. This is a string environment variable that
lets you set the export passphrase. The default is unset. See --export-passphrase (on page 220) for more information.
Usage: PGP_EXPORT_PASSPHRASE="For All Good Men"
Standard Input, Output, and Error
PGP Command Line writes different data to several different places by default.
Any user output generated by PGP Command Line is written to standard output
(stdout), including version information, key list data, and so on. Any status
information generated by PGP Command Line is sent to standard error
(stderr).
When encrypting and decrypting, PGP Command Line reads and writes files by
default. These files can be overridden with the special argument "-" to either
--input or --output. This behavior is set so that PGP Command Line does
not have to wait for input if you forget something: it will generate an error you
can detect.
The behavior of PGP Command Line changes depending on the operating
system you are using, while the syntax changes depending on the shell.
When you work with PGP Command Line, you can use standard input (stdin)
in two ways: by redirecting an existing file, or by typing (pasting in) data.
Redirecting an Existing File
You can use your shell to redirect input to PGP Command Line from an existing
file.
The command looks like:
pgp -er user -i - -o file.pgp<file.txt
Example:
pgp -er "bob@example.com
stdin:encrypt (0:output file newnote.pgp)
44
" -i - -o newnote.pgp<newnote.txt
PGP® Command Line 10.0 The Command-Line Interface
In this case, the file newnote.txt was encrypted with Bob’s key and saved as
newnote.pgp.
Entering Data
Instead of redirecting an existing file, you can also type (or paste in) the data that
needs to be encrypted. The command looks like:
pgp -er user -i - -o file.pgp
(type/paste in the data to be encrypted)
Example:
End-of-File
pgp -er "bob@example.com
" -i - -o newnote.pgp
(This text is the file newnote.txt, which will be signed by Bob.)
^Z
stdin:encrypt (0:output file newnote.pgp)
In addition to specifying the end of file, you also need to specify an output
file name (such as "newnote.pgp"), since the input file name was not
specified.
pgp --decrypt newnote.pgp --passphrase 'B0bsm1t4'
newnote.pgp:decrypt (0:output file newnote)
If you now decrypt newnote.pgp, the decrypted file newnote will not have
an extension since the input was not in a file format.
On platforms where buffered standard input/output (I/O) is disabled by default,
you cannot type or paste into stdin. Instead, you need to enable standard I/O
using --buffered-stdio (see --buffered-stdio for details).
Depending on the shell you use, the end of file will be announced in different
ways:
On Windows, enter ^Z (ctrl-z) on a separate line.
On UNIX, enter ^D (ctrl-d) anywhere in the text. The end of file
character is shell-dependent and will vary on different systems.
45
PGP® Command Line 10.0 The Command-Line Interface
Specifying a Key
When you need to specify a key or keys as input for a PGP Command Line
operation, there are two methods you can use:
Match by user ID: To match by user ID, supply some of the text in the user
ID(s) you want to match. A case insensitive search of the user IDs of the
keys on the local keyring is made. All keys that match the supplied text will
be returned; for example, searching on ’ex’ would return all keys on the
local keyring from the domain 'example.com', as well as a key whose user
ID was 'dexter@pgp.com'. This is a convenience feature that makes it easy for you to match multiple keys on the local keyring.
Searching by user ID can return no keys, one key, or multiple keys,
depending on the supplied text and the user IDs of the keys on the local
keyring. Matching by user ID is best for operations where you want your
search to return multiple keys; for example, the list operations (--list-keys, --fingerprint, and so on). Match by user ID can be used for
operations that work only on a single key, but as it may return multiple
keys, match by user ID may not be the best choice for these operations.
Match by key ID: To match by key ID, supply the key ID of the specific key
'Secure' Options
The descriptions of some options in PGP Command Line mention that they are
"secure," as in "This option is not secure" or "--auth-passphrase is secure".
In this context, "secure" means that the option’s argument is saved in nonpageable memory (when that option is available to applications). Options that
are not "secure" are saved in normal system memory.
you want used for the operation (0xABCD1234, for example). The key IDs
of the keys on the local keyring will be searched. If the key with the
specified key ID is found on the local keyring, it will be used for the
operation; if not, the operation will terminate.
Searching by key ID will return either no keys or one key. Matching by key
ID is best for those cases where the search must exactly match one key
(--default-key, for example) or where only a single key can be used for
the operation; for example, most of the key edit operations (--split-key,
--revoke, and so on).
46
PGP® Command Line 10.0 The Command-Line Interface
Passphrases
For consistency, all example passphrases in this guide are shown in single
quotation marks ('). Putting passphrases between single quotation marks
ensures that reserved characters and spaces are interpreted correctly.
If you do not use any reserved characters or spaces in your passphrases, then
you do not have to enclose them in single quotation marks.
If you do enclose your passphrases in single quotation marks, and you have a
single quotation mark as part of a passphrase on a *NIX system, you must
escape the single quotation mark that is part of the passphrase. Escaping means
you need to put another special character in front of the character; in this case, a
backslash (\).
For example, if you enclose your passphrases in single quotation marks and you
want to use
I can't believe it's not butter
as your passphrase, you would have to enter it as
'I can\'t believe it\'s not butter'
on the command line. You need the quotation marks at the beginning and end
for the spaces and you need to escape each single quotation mark used in the
passphrase with a backslash.
On Windows systems, if you have a space in a passphrase, you must enclose
the passphrase in single or double quotation marks when you enter it. Also,
double quotation marks (") as part of the passphrase must be escaped with a
preceding double quotation mark.
For example, if you want to use
Thomas "Stonewall" Jackson
as your passphrase, you would have to enter it as
'Thomas ""Stonewall"" Jackson'
on the command line. You need the quotation marks at the beginning and end
for the spaces and you need to escape each double quotation mark used in the
passphrase with another double quotation mark.
Note: If you are having problems entering certain characters in your
passphrases, check the information about how to handle reserved characters
for the operating system or shell interpreter you are using.
47
5
First Steps
This section describes the steps you need to take to get up and running with
PGP Command Line.
The first steps for getting up and running with PGP Command Line are:
1Install PGP Command Line.
Installation for all supported platforms is fully described in Installation (on
page 5).
2License your copy of PGP Command Line.
Licensing is required for normal operation of PGP Command Line. Refer to
Licensing (on page 25) and --license-authorize (on page 177) for more
information about licensing PGP Command Line.
3Create your key pair.
Most of the things you do with PGP Command Line require a key pair (a
private key and a public key). How to create your key pair is described later
in this chapter in Creating Your Keypair (on page 50).
4Protect your private key.
No one but you should know the passphrase or have access to your private
key. How to protect your private key is described later in this chapter in
Protecting Your Private Key (on page 51).
5Distribute your public key.
In order for others to verify your signature or encrypt data so that only you
can decrypt it, they will need your public key.
49
PGP® Command Line 10.0 First Steps
One way to distribute your public key is to post it to a keyserver so that
others can obtain it. The best way to do this is to post your public key to the
PGP Global Directory (keyserver.pgp.com), a free, public keyserver hosted
by PGP Corporation. It provides quick and easy access to the universe of
PGP keys.
You can also export your public key to a file, which you can then distribute
in any number of ways. For information about how to post your public key
to a keyserver and extract your public key to a file, refer to Distributing Your Public Key (on page 52).
6Obtain the public keys of others.
You need someone’s public key to be able to encrypt data so that only they
can decrypt it. You can get public keys from a keyserver (as long as the key
is posted, of course). And if you receive someone’s public key in a file, you
can import it. For more information about how to get a public key from a
keyserver and how to import a key, refer to Getting the Public Keys of Others (on page 54).
7Verifying the public keys you get.
It is important to make sure the public keys you get actually belong to the
person or organization they appear to be from. For instructions on how to
verify a public key, refer to
Verifying Keys (on page 56).
8 Start securing your data.
Creating Your Keypair
The first thing you need to do after installing PGP Command Line is to make
sure you have a usable PGP key pair, as most PGP Command Line operations
require a key pair.
A key pair consists of two keys:
Private key (stored in secring.skr) that only you have.
Public key (stored in pubring.pkr) that you can distribute freely to the
people you correspond with.
Keys are stored on keyrings. There’s one keyring for private keys (secring.skr),
and one keyring for public keys (pubring.pkr).
If you are using a Windows or Mac OS X system, you may already have a key
pair generated by PGP Desktop. If you do have an existing key pair you want to
use with PGP Command Line and you distributed your public key to the people
who will be encrypting data to you, you need to make sure the environment
variable (PGP_HOME_DIR) is defined and points to the directory where your
existing key pair is located.
50
PGP® Command Line 10.0 First Steps
Note: If you have PGP Desktop installed on the same Windows or Mac OS X
computer as PGP Command Line, and you installed PGP Desktop into the
default directory, then PGP Command Line will automatically locate and use
your existing keyrings.
If you do not have a PGP key pair, you will need to create one for use with
PGP Command Line.
Use the --gen-key command to create a new key pair.
<user> is a user ID that people can use to locate your public key. A
common user ID is your name and email address in the format: "Alice
Cameron <alice@example.com
>". If your user ID contains spaces, you
must enclose it in quotation marks.
<type> means you are creating either an RSA or a DH key.
<bits> is the number of bits of the key (usually 1024 to 4096). Per FIPS
186-3, DSA keys can be 1024, 2048, or 3072 bits.
<passphrase> is a passphrase of your choice. If your passphrase includes
spaces, enclose it in quotation marks.
For more information, refer to --gen-key (on page 108).
2Press Enter when the command is complete.
PGP Command Line responds by generating your key pair.
Note: The --gen-key command automatically creates your key pair and a
public and a private keyring in the home directory, then puts your new private
and public keys onto their respective keyrings. You can create empty keyring
files without generating a key pair at the same time using the --create-keyrings command.
51
PGP® Command Line 10.0 First Steps
Protecting Your Private Key
If someone gets your private key and manages to guess your passphrase or
finds it written on a Post-it® note, they can impersonate you. They can open
messages encrypted to you and they can sign messages, making them appear
to be from you.
Warning: It is very important to protect your private key! Do not let anyone
get a copy of it and do not ever give anyone the passphrase.
By default, all generated keys (private and public) are stored in the directory to
which the environment variable points (which is PGP_HOME_DIR, if set).
Otherwise:
UNIX: $HOME/.pgp
Windows: C:\Documents and Settings\<current user>\My
Documents\PGP
Mac OS X: $HOME/Documents/PGP You can locate your keyrings using the
--version (-v) command. Once the keys are generated, you can store
them in any location you choose (provided you do not forget to adjust the
environment variable to point to the new location). Moving your keys to a
different location is one way to protect them from someone who might get
access to your system.
It is also a good practice to make a backup copy of your keys. Make sure to be
especially careful with your private key, storing it on a machine only you can
access and in a directory that cannot be accessed via a network. You may also
choose to implement additional security precautions.
Distributing Your Public Key
People need your public key to encrypt information that only you can decrypt
and to verify your signature.
There are three main methods available to distribute your public key:
Post your public key to the PGP Global Directory. The PGP Global
Directory is a free, publicly available keyserver hosted by PGP Corporation
that provides quick and easy access to the universe of PGP keys. If you are
not in an email domain protected by a PGP Universal Server, the PGP Global Directory
is your source for trusted keys.
Post your public key to another keyserver. Once posted, people can get
a copy of your public key and use it to encrypt data that only your private
key can decrypt. How to use PGP Command Line to post your public key to
a keyserver is described below.
52
PGP® Command Line 10.0 First Steps
Export your public key to a text file. Once exported to a text file, you can
distribute your public key however you like: attached to an email message,
pasted into the body of an email message, or copied to a CD.
How to use PGP Command Line to extract your public key to a text file is
described in
Exporting Your Public Key to a Text File (on page 54).
Posting Your Public Key to a Keyserver
You can post your public key to a private keyserver or a public keyserver; the
procedure is the same in both cases.
Use the --keyserver-send command to post your public key to a keyserver.
To post a public key to a keyserver:
1 On the command line, enter:
pgp --keyserver-send <input> --keyserver <ks>
where:
<input> is the user ID, portion of the user ID, or key ID of the public key
you are posting.
<ks> is the name of the keyserver to which you are posting.
For example:
pgp --keyserver-send alice@example.com
--keyserver
ldap://keyserver.example.com
If there are multiple keys with user IDs that match the input, all of them will
be posted. To make sure only a specific key is posted, use the key ID as
the input.
Only the specified key will be posted to ldap://keyserver.pgp.com, a
public keyserver.
2Press Enter when the command is complete.
PGP Command Line responds by posting the public key(s) to the specified
keyserver.
Once you have posted your public key to a keyserver, you should search the
keyserver for your public key to make sure it was correctly posted.
How to search for a key on a keyserver is described in Finding a Public Key on a Keyserver.
53
PGP® Command Line 10.0 First Steps
Exporting Your Public Key to a Text File
Once you have extracted your public key to a text file, it is easy to distribute.
You can attach it to an email message, paste it into the body of an email
message, or copy it to a CD.
Use the --export command to export your public key.
To export a public key:
1 On the command line, enter:
pgp --export <input>
where:
<input> is the user ID, portion of the user ID, or the key ID of the key you
want to export.
By default, keys are exported as ASCII armor (.asc) files into the directory
currently active on the command line.
For example:
pgp --export example
All keys with the string "example" anywhere in them would be exported into
separate .asc files.
pgp --export "Alice C <acameron@example.com
Only keys that exactly match this user ID would be exported. The filename
would be Alice C.asc.
2Press Enter when the command is complete.
PGP Command Line responds by creating the .asc file(s) in the appropriate
directory.
Getting the Public Keys of Others
To encrypt data to a specific person, you need to encrypt it with their public key.
Naturally, you have to get their public key onto your keyring first.
To get a public key onto your keyring, you must first find the public key on a
keyserver and then import it from the keyserver onto your keyring.
>"
Finding a Public Key on a Keyserver
In order to get a public key onto your keyring, you have to find the right key. In
many cases, you can get the key you need from a keyserver. You use the same
procedure for a public keyserver and a private keyserver.
54
PGP® Command Line 10.0 First Steps
Use the --keyserver-search command to search a keyserver for a key.
To search a keyserver for a key:
1On the command line, enter:
pgp --keyserver-search <input> --keyserver <ks>
where:
<input> is the user ID, portion of the user ID, or the key ID of the key for
which you are searching.
If you are searching by key ID, only an exact match will be found (you can
find the key ID of your key using the --list-keys (-l) (page 83) command). If
you are searching by user ID, any key whose user ID contains the user ID
or portion of the user ID you enter will be found. So a search by user ID
could return many matches, where a search by key ID will return only one
key.
<ks> is the name of the keyserver you want to search.
You can enter more than one keyserver, separated by a space. Only results
from the first keyserver where there is a match will be returned.
The key with the key ID shown would be imported if it were on the
specified keyserver.
2Press Enter when the command is complete.
PGP Command Line responds by listing the key(s) it found on the specified
keyserver that matched the criteria you specified and that the key(s) was
imported:
Verifying Keys
pgp:keyserver receive (2504:successful search on
ldap://keyserver.pgp.com)
0xABCD1234:keyserver receive (0:key imported as Alice C
<ac@example.com
>.)
Note: If you want to make sure the key was imported onto your keyring, use
the --list-keys command (the short form is -l) to see what keys are
currently on your keyring.
If you have information you want to send to someone privately, and you are
going to the trouble to encrypt it so that it stays private, then it is probably also
important that you make sure the public key you have obtained and are going to
use to encrypt your important information is actually from the person or
organization that you believe it to be from.
One way to do this is to compare the fingerprint of the public key you have with
the fingerprint of the real key. You could, for example, call the person on the
phone and ask them to read the fingerprint of their key.
Some people also put the fingerprint of their PGP key on their Web site or on
their business card, making it easy to compare the fingerprint of the real key
with the fingerprint of the public key you have.
56
PGP® Command Line 10.0 First Steps
Use the --fingerprint command to see the fingerprint of any of the keys
currently on your keyring; refer to --fingerprint (page 80) for more information.
To view the fingerprint of a key:
1 On the command line, enter:
pgp --fingerprint <input>
where:
<input> is the user ID, portion of the user ID, or key ID of the key whose
fingerprint you want to see.
If you don’t enter any input, PGP Command Line will display the fingerprints
of all keys on your keyrings.
For example:
pgp --fingerprint 0xABCD1234
The user ID and the fingerprint of the key with the key ID shown would
display if it were on either keyring.
pgp --fingerprint
The user IDs and the fingerprints of all keys on both keyrings would display.
2Press Enter when the command is complete.
PGP Command Line responds by listing the user ID of the key(s) it found
that matched the criteria you specified and the fingerprint of that key using
the following format:
Alice Cameron <alice@example.com
>
896A 4A96 9C3A 3BEC C87C EA8B 2CDB B87B 2CEB 53CC
57
6
Cryptographic Operations
This chapter describes the commands used in PGP Command Line that relate to
cryptographic operations. These commands are:
--armor (-a) (page 60), which converts a file to ASCII armor format.
--clearsign (page 62), which creates a clear signature.
--decrypt (page 64), which decrypts encrypted data.
--detached (-b) (page 66), which creates a detached signature.
--dump-packets | --list-packets, which dumps the packets in a
PGP message.
--encrypt (-e) (page 68), which encrypts your data.
--export-session-key (page 72), which exports the session key that
was used to encrypt data to a separate file.
--list-sda (page 73), which lists the contents of an SDA.
--list-archive (page 73), which lists the contents of a PGP Zip archive.
--sign (-s) (page 74), which signs your data.
--symmetric (-c) (page 76), which encrypts data using a symmetric
cipher.
--verify (page 77), which lets you verify data without creating any
This chapter covers four of PGP Command Line’s most significant cryptographic
operations: encrypting, signing, decrypting, and verifying:
Encrypt: A method of scrambling information to render it unreadable to
anyone except the intended recipient, who must decrypt it to read it. You
use PGP Command Line to encrypt your important information so that if it
is stolen from a hard drive or intercepted while in transit, it is of no value to
the person who has taken it because they cannot decrypt it.
Sign: When you sign a message or file, PGP Command Line uses your
private key to create a digital code that is unique to both the contents of the
message/file and your private key. Only your public key can be used to
verify your signature.
Decrypt: When you receive decrypted data, it’s of no value until you
decrypt it. To do this, you need to use the private key of the key pair that
includes the public key that was used to encrypt the data.
Commands
--armor (-a)
Verify: In addition to decrypting your data so that you can use it, you should
also verify the files you use with PGP Command Line, including data,
signature, and key files, to make sure they have not been tampered with.
For more information about these cryptographic operations, refer to An Introduction to Cryptography, which was installed with PGP Command Line.
The commands that relate to encrypting and signing are described in the
following sections.
Armors data, produces a PGP armored file, and changes the default file
extension from .pgp or .sig to .asc. The resulting ASCII armored data
format is used with email systems that only allow ASCII printable characters. It
converts the plaintext by expanding groups of three binary 8-bit bytes into four
(4) printable ASCII characters, and the resulting file expands in size by
approximately 33 percent.
The usage format is:
pgp --armor <input> [<input2> ...] [options]
60
PGP® Command Line 10.0 Cryptographic Operations
Where:
<input> is the file to be armored. It is either in the current directory, or its
location has to be defined using a relative or absolute path. Multiple files
can be armored.
[options] let you modify the command:
--comment. Saves a comment at the beginning of the file with the header
tag "Comment".
--compress. Compresses the output file.
--compression-algorithm. Sets the compression algorithm. The
default for this option is zip.
--eyes-only. Text inputs that are processed using this option can only be
decrypted to the screen.
--input-cleanup. This option will clean up the input file, depending on
the arguments you specify: off (default), remove, or wipe.
--output. Lets you specify a different name for the armored file.
--overwrite. Sets the overwrite behavior when PGP Command Line tries
to create an output file with the same name that already exists in the
directory. This option accepts the following arguments: off (default),
remove, rename, or wipe.
--temp-cleanup. Cleans up the temporary file(s), depending on the
arguments you specify: off, remove, or wipe (default). For large encryption
jobs, this option should be set to remove to speed up the process.
--text. Forces the input to canonical text mode. Do not use with binary
files. Automatic detection of file types is not supported.
-v|--verbose. Gives a verbose (detailed) report about the operation.
The option --compression-algorithm is allowed when --armor is the
primary operation (armor only). When --armor is combined with --sign or
--encrypt operations, check these operations for details about setting the
compression algorithm.
Examples:
1pgp --armor report.txt --overwrite remove
The ASCII armored output file "report.txt.asc" replaced the existing file with
the same name, which was removed by overwriting.
2pgp -a report.txt --compression-algorithm zlib
The ASCII armored file "report.txt.asc" is compressed using the ZLIB
compression algorithm.
Using --armor as an option with other commands to armor a file:
61
PGP® Command Line 10.0 Cryptographic Operations
The usage format is:
pgp command1 input command2 user [--passphrase] pass
Creates the ASCII armored file "report.txt.asc," which is encrypted for Bill
and has the plaintext comment "Urgent" displayed on top of the encrypted
file:
Causes the document to be wrapped in an ASCII-armored signature but
otherwise does not modify the document. The signed message can be verified
to ensure that the original document has not been changed. To verify the signed
message, use --verify.
<input> is the name of the file to be clear-signed. It is required. You can
clear-sign multiple files by listing them, separated by a space.
<user> is the user ID, portion of the user ID, or the key ID of the
clearsigner. The private key of the clear-signer must be on the keyring. If
<user> is not specified, the default key is used.
62
PGP® Command Line 10.0 Cryptographic Operations
<pass> is the passphrase of the private key of the clear-signer. It is
required.
[options] let you modify the command. Options are:
--comment saves a comment at the beginning of the file with the header
tag "Comment".
--input-cleanup cleans up the input file, depending on the arguments
you specify: off (default), remove, or wipe.
--overwrite sets the overwrite behavior when PGP Command Line tries
to create an output file with the same name that already exists in the
directory. This option accepts the following arguments: off (default),
remove, rename, or wipe.
--temp-cleanup cleans up the temporary file(s) depending on the
arguments you specify: off, remove, or wipe (default). For large encryption
jobs, this option should be set to remove to speed up the process.
--text forces the input to canonical text mode. Do not use with binary
files (automatic detection of file types is not supported).
-v|--verbose gives a verbose (detailed) report about the operation.
<input> is the name of the file to be decrypted. It is required.
[options] let you modify the command. Options are:
--annotate adds annotations (information that PGP Command Line
processed the data in a certain way) when processing email messages.
--archive. When you decrypt archives, note the following:
if you specify --archive, the contents of the archive are extracted
if you do not specify --archive, only the .tar file is extracted
<inputd>. Additional detached signature target files are allowed. Note that
PGP Command does not write output when decrypting detached signature
files.
--decrypt-with is required to decrypt with a MAK (managed
asymmetric key) from a PGP KMS.
--email processes input data as an RFC 822-encoded email message,
which means that MIME headers and CRLF line endings will be respected
by PGP Command Line.
--eyes-only. Text inputs that are processed using this option can only be
decrypted to the screen: the recipient must view the output on screen
when decrypting a message. The default is off.
When decrypting data that is marked for your eyes only, PGP Command
Line generates an error if the option --eyes-only is not specified.
--input-cleanup cleans up the input file, depending on the arguments
you specify: off (default), remove, or wipe.
--output lets you specify a different name for the decrypted file.
64
PGP® Command Line 10.0 Cryptographic Operations
--overwrite sets the overwrite behavior when PGP Command Line tries
to create an output file and it already exists. It accepts the following
arguments: off (default), remove, rename, or wipe.
--passphrase is used for [asymmetrically] encrypted files
--sda. When decrypting SDAs, the option --sda must be specified or PGP
Command Line will not be able to find PGP data.
To decrypt an SDA, you need either --symmetric-passphrase or
--passphrase. Note that the symmetric passphrase cannot have an
empty string
(" "), while the asymmetric passphrase can have an empty string because
such passphrase references a private key.
When decrypting SDAs or archives, files will be automatically overwritten.
The option -o (output) can be used to specify the output directory; this
directory will be created if it does not exist.
--symmetric-passphrase is used for symmetrically encrypted files.
--temp-cleanup cleans up the temporary file(s), depending on the
arguments you specify: off, remove, or wipe (default). For large encryption
jobs, this option should be set to remove to speed up the process.
-v|--verbose gives a verbose (detailed) report about the operation.
Decrypts the archive file into the actual archived files "note.txt" and
report.doc, with their path information included.
Signs data and creates a detached signature. If you use this command to sign a
document, both the document and detached signature are needed to verify the
signature. To verify the signed message, use --verify.
<input> is the name of the file for which the detached signature is being
created. It is required. You can create a detached signature for multiple files
by listing them, separated by a space.
<user> is the user ID, portion of the user ID, or the key ID of the signer. It
is required. The private key of the signer must be on the keyring.
<pass> is the passphrase of the private key of the signer. It is required.
[options] let you modify the command. Options are:
--armor armors the data and changes the file extension from .sig to .asc.
66
PGP® Command Line 10.0 Cryptographic Operations
--comment saves a comment at the beginning of the file with the header
tag "Comment". It works only if --armor is specified as well.
--input-cleanup cleans up the input file, depending on the arguments
you specify: off (default), remove, or wipe.
--output lets you specify a different name for the created file.
--overwrite sets the overwrite behavior when PGP Command Line tries
to create an output file that already exists. This option accepts the following
arguments: off (default), remove, rename, or wipe.
--temp-cleanup cleans up the temporary file(s), depending on the
arguments you specify: off, remove, or wipe (default). For large encryption
jobs, this option should be set to remove to speed up the process.
--text forces the input to canonical text mode. Do not use this option
with binary files (automatic detection of file types is not supported).
-v|--verbose gives a verbose (detailed) report about the operation.
Encrypts a document to specified recipients. Input is either the standard input or
a list of files. Output is either the standard output, a list of files, or an archive. If
you use standard input, note that it cannot be combined with other inputs.
To encrypt to a MAK or MEK on a PGP KMS, a MAK or MEK ID and the PGP
KMS must be specified on the command line. For example: MAKid | MEKid
--usp-server universal.example.com. The identifier can be either the
name, prefix of a name, or UUID of the MAK or MEK. An error results if PGP
Command Line can match the identifier to more than one MAK or MEK on the
PGP KMS.
Note: The --encrypt command is not used for symmetric encryption;
instead, use the --symmetric command, described in --symmetric (-c)
(page 76).
When encrypting, the preferred cipher and compression algorithms of the
recipient is used. If there is more than one recipient, the most compatible
algorithm is used. Note that you cannot specify a one-time cipher or
compression algorithm with --encrypt.
<input> is the name of the file to be encrypted. It is required. You can
encrypt multiple files by listing them, separated by a space. The default
output filename for an encrypted file is <input filename>.pgp. Note
that stdin can be used only by itself and cannot be combined with other
inputs.
<user> is the user ID, portion of the user ID, or the key ID of the recipient.
It is required. The public key of the recipient must be on the keyring. You
must specify a recipient; you cannot encrypt to your own key by not
specifying a recipient. You can encrypt the file to multiple recipients by
listing them, separated by a space.
[options] let you modify the command. Options are:
--adk can be used only together with the option --sda. Note that if any of the keys used with the option --adk have ADKs, they will also be used.
--anonymize hides the key IDs of recipients. This allows you to encrypt to
multiple recipients without any of the recipients being able to see who else
the data was encrypted to when they decrypt it.
--archive saves the output as an archive. It cannot be used with the
options --text-mode or --sda. When using --archive, directories
can be in the input file: without this option, the directories are skipped.
-a or --armor armors the encrypted file.
--cipher. If the option --cipher is used, the existing cipher will be
forcefully overridden and the key preferences and algorithm lists in the SDK
will be ignored. This can create messages that don’t comply with the
OpenPGP standard. This option must be used together with the option
--force.
--comment saves a comment at the beginning of the file with the header
tag "Comment". It works only if --armor is specified as well.
--compress toggles compression. If enabled, the preferred compression
algorithm of the recipient is used.
--compression-algorithm. If the option --compressionalgorithm is used, the existing compression algorithm will be forcefully
overridden and the key preferences and algorithm lists in the SDK will be
ignored. This can create messages that do not comply with the OpenPGP
standard. This option must be used together with the option --force.
--email processes input data as an RFC 822-encoded email message,
which means that MIME headers and CRLF line endings will be respected
by PGP Command Line. The resulting file has a .pgp extension. Note that
PGP Command Line does not send the resulting encrypted message, it only
creates it.
--encrypt-to-self lets you encrypt to the default key in addition to any
other specified keys. The default is off.
69
PGP® Command Line 10.0 Cryptographic Operations
--eyes-only. Text inputs that are processed using this option can only be
decrypted to the screen.
--force required to use --compression-algorithm and --cipher.
--input-cleanup cleans up the input file, depending on the arguments
you specify: off (default), remove, or wipe.
--output lets you specify a different name for the encrypted file.
--overwrite sets the overwrite behavior when PGP Command Line tries
to create an output file that already exists. This option accepts the following
arguments: off (default), remove, rename, or wipe.
--root-path can only be used with either --sda or --archive.
--sda cannot be used together with the command --sign (such as -es).
For more information, refer to the option --sda.
--sign lets you sign the encrypted file.
--temp-cleanup cleans up the temporary file(s) depending on the
arguments you specify: off, remove, or wipe (default). For large encryption
jobs, this option should be set to remove to speed up the process.
--text forces the input to canonical text mode. Do not use with binary
files (automatic detection of file types is not supported).
-v |--verbose gives a verbose (detailed) report about the operation.
Refer to the descriptions of these options or to the man page for information
about how to use these options.
In this case, you have encrypted the file emailmessage.txt, an RFC 822encoded email message. The encrypted file emailmessage.txt.pgp will
result.
--export-session-key
Exports the session key of an encrypted message. This key is used to encrypt
each set of data on a transaction basis, and a different session key is used for
each communication session. Output of this command is a key file with the
extension .key, which contains the key fingerprint of the key used during the
session that produced the encrypted file.
Using the session key, it is possible to decrypt a document without the
recipient’s private key and its passphrase. Therefore, it reveals only the content
of a specific message without compromising the private recipient’s key (which
would reveal all messages encrypted to that key). Note that a user cannot
directly specify a session key during encryption.
The usage format is:
pgp --export-session-key <input> [<input2> ...]
--passphrase <pass> [--output]
Where:
<input> is the encrypted file whose session key is to be exported to a
separate file. It is required. Multiple files can have their session key
exported as well; each encrypted file must be listed, separated by a space.
--passphrase is needed for encrypted files (--symmetricpassphrase is used for conventionally encrypted files, but
--passphrase will also work)
--output lets you specify a different filename for the resulting file.
Refer to the descriptions of these options for information about how to use
them.
Second, the key used for the encrypting session was exported into the file
report.doc.key, which contains the fingerprint of the key used for the
session, such as:
7:8F042E99E383FCD4921FD74A63C514D3
--list-sda
Lists the contents of a Self-Decrypting Archive (SDA). The entire SDA needs to
be decrypted in order to list its contents, which could take up to several minutes
(depending on the number and size of the files in the archive).
The usage format is:
pgp --list-sda <input> --passphrase <pass>
Where:
<input> is an SDA file, such as reports.exe. Output is always the standard
output.
<pass> This is a passphrase or symmetric passphrase with which the SDA
was encrypted.
The archive "reports.exe" was decrypted and listed.
Lists the contents of a PGP Zip archive, which lets you add any combination of
files and folders to an encrypted, compressed, portable archive.
A PGP Zip archive is an excellent way to distribute files and folders securely or
back them up. Refer to --archive for more information about PGP Zip archives.
In this case, the archive is located in the local directory and no directory
path is displayed.
report.txt
--sign (-s)
README.txt
Signs a document, without encrypting it. You can sign and encrypt a file at the
same time using the command -es. Input is a standard input or a list of files;
output is a standard output or a list of files.
To sign with a MAK on a PGP KMS, --signer, a MAK ID, and the PGP KMS
must be specified on the command line. The identifier can be either the name,
prefix of a name, or UUID of the MAK. An error results if PGP Command Line
can match the identifier to more than one MAK.
<input> is the name of the file to be signed. It is required. You can sign
multiple files by listing them, separated by a space.
<pass> is the passphrase of the private key of the signer. It is required.
<user> is the user ID, portion of the user ID, or the key ID of the signer.
The private key of the signer must be on the keyring. If <user> is not
specified, the default key is used to sign.
[options] let you modify the command. Options are:
--archive allows you to create an unencrypted signed tar file. You cannot
use this archive until it is decrypted (the signature is removed). Using the
option --sign with --archive, you can create a signed tar file that
anyone can open.
-a, --armor. Armors the signed file.
--comment saves a comment at the beginning of the file with the header
tag "Comment". It works only if --armor is specified as well.
--compress toggles compression.
--compression-algorithm. You can select the compression algorithm
in case you are creating an attached opaque signature only (that is not
encrypted), or when you are creating a conventionally encrypted and signed
output.
74
PGP® Command Line 10.0 Cryptographic Operations
--email processes input data as an RFC 822-encoded email message,
which means that MIME headers and CRLF line endings will be respected
by PGP Command Line.
--eyes-only. Text inputs that are processed using this option can be
decrypted only to the screen.
--force. Required to use --hash.
--hash. If you use this option, the existing hash algorithm will be forcefully
overridden. Note that the key preferences and algorithm lists in the SDK
will be ignored, which can lead to the creation of messages that violate
OpenPGP standard. You must use the option --force with --hash.
--input-cleanup cleans up the input file, depending on the arguments
you specify: off (default), remove, or wipe.
--output lets you specify a different name for the signed file.
--overwrite sets the overwrite behavior when PGP Command Line tries
to create an output file that already exists. This option accepts the following
arguments: off (default), remove, rename, or wipe.
--signer is required to sign with a MAK (managed asymmetric key).
--temp-cleanup cleans up the temporary file(s) depending on the
arguments you specify: off, remove, or wipe (default). For large encryption
jobs, this option should be set to remove to speed up the process.
--text forces the input to canonical text mode. Do not use with binary
files (automatic detection of file types is not supported).
-v|--verbose gives a verbose (detailed) report about the operation.
Refer to the descriptions of these options or to the man page for information
about how to use these options.
This command produces "report.txt.pgp," which is encrypted for Bob and
signed by Alice using her passphrase (we assume that her key is the
default signing key and the option --signer is not used).
First, both files are signed and saved as a tar file NewArchive.pgp. This file
cannot be used until the signature is removed by decrypting the file. This
file is just opaquely signed, and you do not need a passphrase to verify the
signature:
pgp --decrypt NewArchive.pgp
NewArchive.pgp:decrypt (3038:signing key 0x6245273E Bob
Smith <bob@example.com
>)
NewArchive.pgp:decrypt (3040:signature created 2005-1111T16:40:42-08:00)
<input> is the name of the file to be symmetrically encrypted and it is
required. You can encrypt multiple files by listing them, separated by a
space. The default filename for an encrypted file is <input
filename>.pgp. You can modify the filename of the encrypted file using
--output.
<pass> is the passphrase you want to use for the symmetrically encrypted
file.
[options] let you modify the command. Options are:
--output lets you specify a different filename for the encrypted file.
--sign lets you sign the encrypted file. If you use --sign with
--symmetric, you will need both --symmetric-passphrase for the encryption and --passphrase for the signature.
--armor armors the output file. File extension is changed to .asc.
76
PGP® Command Line 10.0 Cryptographic Operations
--comment lets you specify a comment for armored data.
--text forces the <input> to supported.
--compress toggles compression.
--compression-algorithm specifies the compression algorithm to use
for the operation. The default is Zip.
--cipher specifies the cipher to use for the operation. The default is
AES256.
--eyes-only prevents the decrypted output from being saved to disk; the
decrypted output can only be displayed on-screen.
--encrypt-to-self lets you encrypt to the default key.
--archive lets you combine multiple files into a single .pgp file.
--overwrite lets you specify what to do if a file of the same name as the
output filename already exists.
--input-cleanup lets you specify what to do with <input> files when
the operation is done. The default is off (leave them alone).
--verify
--temp-cleanup lets you specify how to handle temporary files. The
default is to wipe them.
--verbose (-v) shows verbose results information.
Examples:
1pgp --symmetric file.txt --symmetric-passphrase
'Bilbo$Frodo'
Encrypts a file, which will be called file.txt.pgp, using the passphrase
"Bilbo$Frodo" without the quotes.
The important information about --encrypt also applies to --symmetric.
Verifies that data was not tampered with and tests whether PGP Command Line
can process the entire file.
It verifies data, signatures, and key files and works on all PGP Command Line
data types. The command output describes what was verified.
To verify with a MAK (managed asymmetric key) on a PGP KMS, you must
specify a PGP KMS on the command line as well as follow --verify-with
with a MAK identifier: either the name, prefix of a name, or UUID of a MAK. For
example: --verify-with MAKid --usp-server universal.example.com. An error results if PGP Command Line can match
the MAK identifier to more than one MAK.
77
PGP® Command Line 10.0 Cryptographic Operations
The usage format is:
pgp --verify <input> [<input2> ...] [options]
Where:
<input> is the file to be verified. It is required.
[options] let you modify the command. Options are:
--annotate adds annotations (information that PGP Command Line
processed the data in a certain way) when processing email messages.
--email processes input data as an RFC 822-encoded email message,
which means that MIME headers and CRLF line endings will be respected
by PGP Command Line.
--input-cleanup cleans up the input file, depending on the arguments
you specify: off (default), remove, or wipe.
--passphrase | --symmetric-passphrase. This is the passphrase
that is required for encrypted files.
--temp-cleanup cleans up the temporary file(s) depending on the
arguments you specify: off, remove, or wipe (default). For large encryption
jobs, this option should be set to remove to speed up the process.
-v | --verbose gives a verbose (detailed) report about the operation.
--verify-with is required to verify with a MAK (managed asymmetric
key) on a PGP KMS.
Refer to the descriptions of these options for information about how to use
them.
At some point, you are going to need to know about the keys on your keyrings.
The key listing commands provide those details. Using the commands in basic
display mode gives you summary information about the keys on a keyring.
Detailed display mode tells you everything there is to know about those keys.
Refer to Lists (on page 237) for more information about what the key and
signature lists show about a key.
79
PGP® Command Line 10.0 Key Listings
Commands
The key listing commands are described in the following sections.
--fingerprint
Lists the fingerprints of keys on your keyring that match the supplied criteria. If
you run the command with no user or key ID information, all key fingerprints
will be displayed. If you enter any user or key ID information, only key
fingerprints that match will be displayed.
<user1> is the user ID, portion of a user ID, or the key ID of a key on your
keyring. If you don’t supply a user ID, all fingerprints will be listed.
--biometric displays biometric words instead of hexadecimal numbers.
--verbose shows the key IDs under the primary user ID for each
fingerprint.
Examples:
pgp --fingerprint Alice
Displays the fingerprint in hexadecimal of any keys on the keyring that
match "Alice" using the format:
Alice Cameron <alice@example.com
896A 4A96 9C3A 3BEC C87C EA8B 2CDB B87B 2CEB 53CC
pgp --fingerprint 0x12345678 --biometric
Displays the fingerprint in biometric words of the key with the specified key
ID using the format:
Alice Cameron <alice@example.com
aimless photograph goldfish yesteryear
beeswax corporate crackdown millionaire
indoors upcoming choking sardonic
reward underfoot eyeglass amulet
sawdust holiness glitter therapist
>
>
1 key found
80
PGP® Command Line 10.0 Key Listings
--fingerprint-details
Lists the fingerprints and subkeys of keys on your keyring that match the
supplied criteria. If you run the command with no user or key ID information, all
key fingerprints will be displayed. If you enter any user or key ID information,
only key fingerprints that match will be displayed.
Subkey fingerprints are displayed if found on the specified key. Hash names are
the same as listed in the detailed key list mode.
Fingerprints are shown with one of the following prefixes:
Key Fingerprint indicates that the following fingerprint is for a master key.
Subkey Fingerprint indicates that the following fingerprint is for a subkey.
X.509 <alg> Thumbprint indicates that the following thumbprint is for an
X.509 certificate, where <alg> is replaced by the hash algorithm used to
create the thumbprint.
<user1> is the user ID, portion of a user ID, or the key ID of a key on your
keyring. If you do not supply a user ID, all fingerprints and subkeys will be
listed.
--biometric displays biometric words instead of hexadecimal numbers.
Examples:
1pgp --fingerprint-details Alice
Displays the fingerprint in hexadecimal of any keys on the keyring that
match "Alice" using the format:
Lists the keys on a keyring in detailed output mode. If you run the command
with no user or key ID information, all keys on the keyring will be displayed. If
you enter any user or key ID information, only keys that match will be displayed.
The usage format is:
pgp --list-key-details [<user1> ...]
Where:
<user1> is the user ID, portion of a user ID, or the key ID of a key on your
keyring.
Example:
pgp --list-key-details Alice
Lists all of the keys on your keyrings using the format:
Key Details: Alice Cameron <acameron@example.com
>
Key ID: 0xB2726BDF (0xAAEB5E06B2726BDF)
Type: RSA (v4) key
Size: 2048
Validity: Complete
Trust: Implicit (Axiomatic)
Created: 2003-04-22
Expires: Never
Status: Active
Cipher: AES-192
Cipher: AES-128
Cipher: CAST5
82
PGP® Command Line 10.0 Key Listings
Cipher: TripleDES
Cipher: Twofish-256
Hash: SHA
Compress: Zip (Default)
Photo: No
Revocable: No
Token: No
Keyserver: keyserver.pgp.com
Default: No
Prop Flags: Sign user IDs
Prop Flags: Sign messages
Ksrv Flags: None
Feat Flags: Modification detection
Notations: 01 0x80000000 preferred-email-
encoding@pgp.com:pgp-mime
--list-keys (-l)
Subkey ID: 0x6F742FE6 (0x939BB8896F742FE6)
Type: ElGamal
Size: 2048
Created: 2003-04-22
Expires: Never
Status: Active
Revocable: No
Prop Flags: Encrypt communications
Prop Flags: Encrypt storage
ADK: None
Revoker: None
1 key found
Lists the keys on a keyring in basic output mode. If you run the command with
no user or key ID information, all keys on the keyring will be displayed. If you
enter any user or key ID information, only keys that match will be displayed.
The usage format is:
pgp --list-keys [<user1> ...]
83
PGP® Command Line 10.0 Key Listings
Where:
<user1> is the user ID, portion of a user ID, or the key ID of a key on your
keyring.
Examples:
1pgp --list-keys
Lists all of the keys on your keyrings using the format:
DSS pub 2048/1024 [-----] 0xABCD1234 Alice C
<ac@example.com
>
1 key found
2pgp -l Alice Bob Jill
Uses the short form of the command; displays any key on the keyring with
"Alice", "Bob", or "Jill" in the user ID.
3 pgp -l 0x12345678
--list-keys-xml
Lists only the key with the specified key ID, if it is on the keyring.
When you choose to list a key in XML format, PGP Command Line will display
all information including all user IDs and signatures. If you run the command
with no user or key ID information, all keys on the keyring will be displayed. If
you enter any user or key ID information, only keys that match will be displayed.
To list keys in XML format, you may use either the command --list-keys-
xml, or a key list operation with the added option --xml, such as --listkeys user1 --xml, or --list-keys --xml.
The usage format is:
pgp --list-keys-xml [<user1> …]
Where:
<user1> is the name of the specific local user whose keys you want to
check.
Example:
pgp --list-keys-xml "Jose Medina"
Here is an abbreviated key list in XML format.
<?xml version="1.0"?>
<keyList>
<key>
....
84
PGP® Command Line 10.0 Key Listings
<signature>
...
<subkey>
...
<adk>
...
<revoker>
</key>
</keyList>
--list-sig-details
Lists keys with their user IDs and signatures in detailed output mode.
The usage format is:
pgp --list-sig-details <user> [<user2> ...]
Where:
<user> is the user ID, portion of a user ID, or the key ID of a key on your
keyring. You can list one or more users, with their names/IDs separated by
a space. If you don’t specify a user, you will get an error message ("too
many keys found").
Example:
pgp --list-sig-details Alice
Lists Alice’s key and shows details about her user IDs and signatures:
Signature Details: Alice Cameron <alice@example.com
Signed Key ID: 0xB2726BDF (0xAAEB5E06B2726BDF)
Signed User ID: Alice Cameron <alice@example.com
Signer Key ID: 0xB2726BDF (0xAAEB5E06B2726BDF)
Signer User ID: Alice Cameron <alice@example.com
Type: DSA signature
Exportable: Yes
Status: Active
Created: 2005-04-22
Expires: Never
>
>
>
Trust Depth: 0
Domain: None
1 signature found
85
PGP® Command Line 10.0 Key Listings
--list-sigs
Lists keys with their user IDs and signatures in basic output mode. If you run
the command with no user or key ID information, all signatures on the keyring
will be displayed. If you enter any user or key ID information, only signatures
that match will be displayed.
The usage format is:
pgp --list-sigs [<user1> ...]
Where:
<user1> is the user ID, portion of a user ID, or the key ID of a key on the
keyring.
Example:
pgp --list-sigs 0x12345678
Lists the user IDs and signatures on the key with the specified key ID, if it
is on the keyring.
--list-userids
Lists keys and their user IDs in basic output mode. The command --listusers is the same as --list-userids.
The usage format is:
pgp --list-userids [<user1> ...]
Where:
<user1> is the user ID, portion of a user ID, or the key ID of a key on your
keyring.
Examples:
1pgp --list-userids
Lists all of the user IDs on the keys on your keyrings.
2pgp --list-users
Same as the previous command, using the other form of the command.
3pgp --list-userids Alice Bob Jill
Lists any key on the keyring with "Alice", "Bob", or "Jill" in the user ID.
86
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.