Table of Contents

Installation

Setup

Encrypting Messages

Decrypting/Signature Checking Messages

Clear Signing Messages

Key Management

File Processing

If you experience problems with the operation of this program or would just like to offer a suggestion, please write to alpha1@pobox.com.  All comments are welcome. When writing, for your own privacy, use our public key.

What is PGPn123?

In short, PGPn123 is yet another Windows shell for PGP. Yes, there are a few out there already, and more being written all the time. Some work good, others do not. Of those that work as advertised, they can be very cumbersome. PGPn123 is our vision of what a PGP shell should be, and nothing else. You may decide you like it, then again, you may not - if not, please write anyway to tell us how it can be made better.

What is Enhanced PGPn123?
Enhanced PGPn123 is the commercial release of our popular freeware PGPn123 program. It has a number of additional features, improved performance, and will be the first to go 32-bit when we port our software for the W95 and NT platforms. We will continue to make freeware PGPn123 available, and intend to support and improve it as well. However, the feature set will probably stay close to what it is now, unlike the Enhanced version, which will grow in capability over time.

For the purposes of this documentation, we will refer to Enhanced PGPn123 as PGPn123 and make note of the freeware version where applicable as freeware PGPn123.

Unique Features

•	Processes both messages and files through the same easy-to-use interface.

•	Loads any of the linked applications automatically. For example, if you are a Eudora user, you will click on the PGPn123 icon instead of Eudora's. PGPn123 will load Eudora and then always sit on top of it, without obscuring other windows on top of Eudora. You can set up multiple applications to use with PGPn123, and make the choice at startup or set one as your default.

•	Once linked with an application, it stays with it. PGPn123 always 'floats' just above the linked application. It's always real handy, there when you need it (You can minimize it to a floating icon if it's in your way).

•	Keystroke macros can be sent to your application to speed up the process even more. in Eudora for example, all you need to do is place the cursor in the message body and click on the Encrypt button. A dialog box pops up where you select the encryption method, recipient key(s) and other options. After shelling to PGP, a viewer shows you what the output looks like, and lets you copy it to the clipboard. Back in Eudora, just paste it into the message body - you're finished!

•	Use an internal or external viewer. The internal viewer can be used most of the time, so long as your messages are under 30KB in size (you will be alerted if your message exceeds this limit). However, if you prefer, you can spawn Notepad or another viewer of your choice.

•	Link to ANY Windows application.

•	Turn off keystroke macros for full control - Manual mode allows you to manually select and paste information to the clipboard, then process it with PGPn123. Use this when you want to re-process the resulting message (such as when the message is encrypted multiple times) or when you link to an application that doesn't respond well to the reception of foreign keystrokes. (Microsoft Word is one that comes to mind, though it's hard to imagine why you would want to hook to MS Word anyway).

•	KeyOps module eases key management issues.


Installation

What to do with the files

Copy everything into a separate directory, such as C:\PGPn123. You should have:

PGP_N123.EXE	PGPn123 executable.
KEYOPS.EXE	Key operations module
BATCH.PIF	Used to run batch files created on the fly.
PGP_N123.HLP	This help file.
BRIGHT.EXE	Brightens the current DOS screen before running PGP. Can be deleted if desired.
README.TXT	PGPn123 description required by some archives
FILE_ID.DIZ	PGPn123 description required by some archives
CSCMD.VBX	Required Command Button control
CTL3D.DLL	Gives most message boxes the 3D look
VBRUN300.DLL	Visual Basic's run time module.

Running the first time
Run PGP_N123.EXE from the Program Manager Run dialog box. The first time PGPn123 is executed, a program group and icon will be created, so this is the only time you will need to perform this step.

Configuration
The default configuration is for a stand-alone "clipboard" mode. In this mode, there are no links other than the clipboard between applications, and the toolbar float over the desktop. Users upgrading from freeware PGPn123 will need to add a configuration entry for their linked application, whereas new users will have several default configurations to select from (they may have to be edited depending on your application directories).

In the configuration window, you can define one or several applications, like Eudora, to load at startup. Once configured, it's best to use PGPn123 to start your e-mail or news-reader application, instead of loading PGPn123 afterwards. Not only is it more reliable, but since it saves a step, it's also faster and easier. If you frequently use PGPn123 with different applications, you may want to have it ask at startup for the desired program to launch.


Configuration Window

Linked Application: This is the e-mail program you will be linking with. See Application Setup for details..

To add entries, click the Add button. You will be presented with a blank entry which needs to be filled in.

To edit existing entries, select the desired entry  then click on Edit.

To delete entries,  highlight the desired entry then click on Delete.

The application showing in the window when you press OK will become the default application at startup.

Manual Mode: Manual mode essentially disables the keystroke macros. This may be a preferred setting for those who wish to do their own copy/paste operations. Simply put the subject text onto the clipboard, then click on the desired function. The Paste button is disabled while in manual mode.

When operating in stand-alone mode (without an attached application), manual mode is forced, since there is know way PGPn123 could know to which application the keystrokes should be sent. Without an attached application, you must operate from the clipboard.

Clear Signature Preprocessing - Word Wrap: PGPn123 will ensure that there are no lines longer than your specification sent to PGP during a clear-sign operation. This may be required depending on the application from which the message will be sent. Some applications (Agent is one) will wrap the text just prior to sending. If the text is wrapped after the signature is applied, the signature check will fail, because the message has been altered by the sending program. By setting this parameter to a number greater than zero, all lines of a length exceeding that value will be wrapped prior to being sent to PGP for signature application. We suggest setting this value to something slightly less than the wrap length setting of the application. Setting to zero disables this feature.

PGP Directory: The directory where PGP.EXE can be found.

Private Key Passphrase: There's a button next to this field that reads: "Read This!"  You must to click on that button to gain access to this field. Unlike the freeware version, PGPn123 now scrambles your passphrase before placing into the INI file (if you choose to save it). Note however, that the method used to scramble the password could be reversed by a clever hacker and your secret key would be revealed. This is primarily done to prevent the casual snoop from acquiring your key. You can prevent PGPn123 from saving your pass phrase by checking the No Save box, but you will need to re-enter it next time you start PGPn123.

PGP accepts passwords in three ways: manually from the keyboard, in the form of an environment variable called PGPPASS, and on the command line. When you enter a passphrase in this field, the batch file that launches PGP is modified to include your password during assembly in on of two ways depending on your settings in the PGP_N123.INI file:

If you have PassCmd=1 under the [Application] section of the INI file, the batch file is modified like this:

SET PGPPASS=[Your Secret Key Passphrase]

...

PGP (usual commands)

....

SET PGPPASS=;

Some people have reported that their environment is not large enough to accomodate this method, so the method below was added and set as the default. This method is also not without its problems, as DOS limits command lines to 128 charactors, so if you have a long passphrase, or encrypt to multiple recipients, DOS may truncate the command line passed to PGP, resulting in the incorrect passphrase being used. The worst-case here is that you will need to enter your passphrase manually if this happens.

If you have PassCmd=0 (or no entry) under the [Application] section of the INI file, the batch file is modified like this:

PGP (usual commands) -z [Your Secret Key Passphrase]

This allows PGP to perform any operation requiring your private key without prompting for it. For obvious reasons, this batch file (PGP_N123.BAT) is wiped after each use.

Viewer Application: If you would prefer to use an external viewer like Notepad, enter it here and uncheck the Use Internal box. If you want PGPn123 to automatically copy the result to the clipboard, Uncheck the Enabled box. The viewer will not show the result of PGP operations, and you can simply press the paste key to insert the result into your mailer.

Small Buttons: Check this box to change the visual appearance of PGPn123 on the desktop.

Use Pre-Process Viewer: Check this box if you want to show the viewer before each operation. Doing so allows you to modify the message before sending it to PGP.

You may also invoke the Pre-Process Viewer by holding down the shift key when clicking the Sign, Decrypt, Encrypt or Add Key buttons.


Application Setup Window

Entry Description:

Assign a descriptive name based on the name of the application, such as "Eudora", or "Pegasus". If you use different INI files with your application, you might want to create an entry for each configuration. You might call one "Eudora - Personal" and the other "Eudora - Business". This field is has no bearing on the way PGPn123 functions, except that if you set PGPn123 to display a list of applications at startup, the entry will be displayed verbatim.

Path and Filename: This is the program to load for this entry. The entire drive, path and filename should be specified.  Selecting Find will show a file dialog box for visually selecting the program. Do not enter command line parameters in this field. Enter them in the Command Line Parameters field below.

Command Line Parameters: If your application needs any switches or settings specified after the filename, enter them here.

Startup Directory:  Some applications require that you change to their directory before launching them. For example, if you are linking with Agent .99 (and possible other flavors), you must specify your agent directory (e.g. C:\AGENT) or it will create a new AGENT.INI file in the current directory (which will typically be \PGPN123).

Macro Keystrokes:  When you click on the Decrypt, Clear Sign, Add Key, or Encrypt buttons, PGPn123 does the following:

SELECT keystrokes are sent to the linked application. This is intended to select all text within the editing window of the application where the cursor is currently positioned. COPY keystrokes are sent immediately after the SELECT keystrokes. This copies the selected text to the clipboard. See Key Commands for details on writing keystroke macros.

You may have noticed the {Left} command in the COPY keystrokes - it simulates pressing the left arrow key to non-destructively deselect the text. If you would prefer to leave the text selected, take this out. Be aware that taking it out is somewhat dangerous, since if you hit a spacebar or any other key while that window has the focus, ALL selected text will be replaced with that accidental keystroke.

The selected function is performed on the text currently in the clipboard by saving it the file PGP_N123.TXT in the PGP directory. All temporary files created and used by PGPn123 are wiped and deleted when the program exits.

If after viewing the output of the operation, you click on the Paste Results button, the PASTE keystrokes are sent to the application, where the contents of the clipboard (placed there during the viewing phase) are pasted into the linked program.


Key Commands

NOTE: These specifications are derived from the Visual Basic SendKeys command reference. We have been informed that SendKeys does not do well when you specify a Control sequence (e.g ^A for Control-A). It does seem to work very well with Alt and Shift sequences (% and + respectivly)

Key	Code	Key	Code
Backspace	{BACKSPACE} or {BS} or {BKSP}	Break	{BREAK}
Caps Lock	{CAPSLOCK}	Clear	{CLEAR}
Del	{DELETE} or {DEL}	Down Arrow	{DOWN}
End	{END}	Enter	{ENTER} or ~
Esc	{ESCAPE} or {ESC}	Help	{HELP}
Home	{HOME}	Ins	{INSERT}
Left Arrow	{LEFT}	Num Lock	{NUMLOCK}
Page Down	{PGDN}	Page Up	{PGUP}
Print Screen	{PRTSC}	Right Arrow	{RIGHT}
Scroll Lock	{SCROLLLOCK}	Tab	{TAB}
Up Arrow	{UP}	F1	{F1}
F2	{F2}	F3	{F3}
F4	{F4}	F5	{F5}
F6	{F6}	F7	{F7}
F8	{F8}	F9	{F9}
F10	{F10}	F11	{F11}
F12	{F12}	F13	{F13}
F14	{F14}	F15	{F15}
F16	{F16}

To specify keys combined with any combination of Shift, Ctrl, and Alt keys, precede the regular key code with one or more of the following codes:

Key	Code
Shift	+
Control	^
Alt	%

To specify that Shift, Ctrl, and/or Alt should be held down while several other keys are pressed, enclose the keys' code in parentheses.  For example, to have the Shift

key held down while E and C are pressed, use "+(EC)".  To have Shift held down while E is pressed, followed by C being pressed without Shift, use "+EC".

To specify repeating keys, use the form {key number};  you must put a space between key and number.  For example, {LEFT 42} means press the Left Arrow

key 42 times; {h 10} means press h 10 times.


PGP_N123.INI Settings

These settings are not provided in any configuration window and must be set manually by editing the PGP_N123.INI file.

[Application]

PassCmd

If set to 1, PGPn123 will pass your secret key passphrase to PGP via an environment variable, which is cleared upon termination of the batchfile. Also the batch file is wiped after use. The default for this value is 0, which causes PGPn123 to pass the passphrase as a command line parameter.

EXAMPLE:

PassCmd=1

[Application]

EndCmd

PGPn123 by default, adds this command to the end of its batch files, so it knows when PGP has finished processing:

ECHO Finished >PGP_N123.END

On some systems, and it is not yet known why, do not create the file as they should. This entry allows you to specify a different command which will more reliably create this file. You should not modify this setting unless instructed to do so by Alpha1. The example below is the alternative setting you might be instructed to try if default settings do not work for you.

EXAMPLE:

EndCmd=COPY BATCH.PIF PGP_N123

[Application]

ChkPGP

This command is related to EndCmd, and by default is disabled. It has been found on some systems that the PGP integrity check fails, even though PGP is working fine. In light of that knowledge, we have disabled the PGP integrity check. You may re-enable it by entering the following:

EXAMPLE:

ChkPGP=1

[Application]

AppLoadState

If you want your application to load in a certain state, use this parameter. By default, the value is Normal.

EXAMPLES:

Normal (default):

AppLoadState=1

Minimized:

AppLoadState=2

Maximized:

AppLoadState=3

[Application]

AppTimeout

If your application takes an unusually long time to load, PGPn123 may indicate that it could not be found, even though it has loaded. Increase this setting to allow more time for the program to load. Time is in seconds, 10 seconds is the default period to wait.

AppTimeout=10


Encrypting Messages

In the linked application, for example Eudora, type the body of the message. When finished, make certain the text cursor (as opposed to the mouse cursor) is placed in the message body. Click on PGPn123's Encrypt Message button. If you have properly configured PGPn123, the entire message body will be selected and copied to the clipboard.

If you pressed the shift key when you clicked on the Encrypt button, or if you have selected  "Use Pre-Process Viewer" in the configuration window, the Pre-Process Viewer will pop up with the captured text. You can modify the text as needed in this window before sending to PGP by selecting Proceed.

A temporary file (which is later wiped) is created and  PGPn123 will launch PGP in a minimized window to get a list of public keys available in your default public key ring. The list is placed into a list box, from which you may pick one, or several recipients for the message. Up to five recipients may be selected. You may also use conventional encryption (password protected encryption) or merely use PGP's ASCII-Armor (no encryption) feature to encode the plain-text for safe transport. Hint: Click with the Control key depressed to make multiple selections in the public key list box.

If you wish to add your signature to the file before it is encrypted, check the Sign Message box. If you have more than one secret key, your default key will be used to sign the message. See Key Operations for information on how to specify your default key.

To verify that you are encrypting the right information, you can click on the Verification button. A message box with the first 512 bytes of your message will appear for your examination. If the wrong information is displayed, it means that your message did not get copied to the clipboard properly.

Click on OK to have PGP encrypt your plaintext. The output will loaded into the viewer. You must manually copy the text from the viewer (internal or external) to get it onto the clipboard. The Express button will copy the contents of the viewer to the clipboard and close the viewer in one step .

At this point, your plaintext message is still present in the message body. Use your mouse to select the entire body, or choose Edit|Select All from the application's menu. Click on PGPn123's Paste Results button or choose Paste from your application's Edit menu.. The selected message body will be entirely replaced with the PGP's output (or your selection from it).  It is possible to do this automatically, by adding to the Paste Macro for this application:

With Eudora for example, instead of %EP for the paste macro, use %EA%EP . This will select all of the message for you and paste the results in place of the message.

Keep in mind however, that if you have chosen to work in manual mode, you will first need to select and copy the message body to the clipboard, do the encryption, then manually place it back into the body of the message, replacing the plaintext.


Clear Signing Messages

In the linked application, for example Eudora, type the body of the message. When finished, make certain the text cursor (as opposed to the mouse cursor) is placed in the message body. Click on PGPn123's Clear Sign Message button. If you have properly configured PGPn123, the entire message body will be selected and copied to the clipboard.

If you pressed the shift key when you clicked on the Sign button, or if you have selected  "Use Pre-Process Viewer" in the configuration window, the Pre-Process Viewer will pop up with the captured text. You can modify the text as needed in this window before sending to PGP by selecting Proceed.

You will be prompted by PGP for your passphrase to unlock your secret key. The signed message output will loaded into the viewer. You must manually copy the text from the viewer (internal or external) to get it onto the clipboard. The Express button will copy the contents of the viewer to the clipboard and close the viewer in one step .

At this point, your plaintext message is still present in the message body. Use your mouse to select the entire body, or choose Edit|Select All from the application's menu. Click on PGPn123's Paste Results button or choose Paste from your application's Edit menu.. The selected message body will be entirely replaced with the PGP's output (or your selection from it).  It is possible to do this automatically, by adding to the Paste Macro for this application:

With Eudora for example, instead of %EP for the paste macro, use %EA%EP . This will select all of the message for you and paste the results in place of the message.

Keep in mind however, that if you have chosen to work in manual mode, you will first need to select and copy the message body to the clipboard, sign the message, then manually place it back into the body of the message, replacing the plaintext.


Decrypting Messages and Checking Signatures

PGP  handles encrypted and signed messages in the same way. If it is encrypted with your public key, PGP uses your private key to decrypt it. If it is a signed message, PGP checks the signature against the signers public key on your public key ring. PGP itself will tell you whether there was a signature, and if so, whether it checked-out as good. Make sure you pay attention to the PGP messages, as the output is the same regardless of signature integrity.

In the linked application, for example Eudora, open a window with the signed and/or encrypted message. Move the text cursor to the body of the message by clicking in the message body. Click on PGPn123's Decrypt Message button. If you have properly configured PGPn123, the entire message body will be selected and copied to the clipboard

If you pressed the shift key when you clicked on the Decrypt button, or if you have selected  "Use Pre-Process Viewer" in the configuration window, the Pre-Process Viewer will pop up with the captured text. You can modify the text as needed in this window before sending to PGP by selecting Proceed.

If the message was encrypted with you as the recipient, PGP will prompt you for your secret key passphrase.  The  plain-text output will loaded into the viewer. You must manually copy the text from the viewer (internal or external) to get it onto the clipboard. The Express button will copy the contents of the viewer to the clipboard and close the viewer in one step .

At this point, your encrypted and/or signed message is still present in the message body. In Eudora, it is not possible to replace the message body of a received message without creating a reply, as to what you do with the plaintext - that's up to you. You might very well want to create a reply, pasting the plaintext into the reply's message body. If so, just click your mouse in the new message body, then click on PGPn123's Paste Results button. The plaintext result will be pasted into the message body, ready for quoting or whatever.

Keep in mind however, that if you have chosen to work in manual mode, you will first need to select and copy the message body to the clipboard, decrypt the message, then manually place it into a new message or reply.


Alpha1's Public Key

Click here to copy our key to the clipboard.  Start the PGPn123 KeyOps module. Select Add Public Key.

Type Bits/KeyID    Date       User ID

pub  1024/EB289851 1996/05/02 Alpha1 Enterprises <alpha1@pobox.com>

-----BEGIN PGP PUBLIC KEY BLOCK-----

Version: 2.6.3a

mQCNAzGI+awAAAEEALRA45WJJ2NFUjVoYzKCc/cRs5bwK4o8Hiyo4vuMA6n1pYSQ

s6PQvI++PwxedI6gG2YTbp165w0OtIZmzz9GuW+QwowdVViWgPM5KJumBMK9fWkp

lZldCrlc3tNOoovXZbS2kCMxn9LKytiYapdiNR4PMHRm7XD6EEDlIgTrKJhRAAUT

tCVBbHBoYTEgRW50ZXJwcmlzZXMgPGFscGhhMUBwb2JveC5jb20+iQCVAwUQMers

2UDlIgTrKJhRAQGeBgP+P45/etDhZwnKEZhgKPsivKN5cUVhlObS1Mv1C5t9yDZm

ONuS8ENICTWKl7n70eFq5VvkZKgti+MDlzIN3DN5vvNSmGURqVy38dUWDtM/LWsg

jAqGR5Du7HVhdagoaN0yYBXhMAnN+Xd07NVmbX/oANzoW5NGKwGGNsptQlSx+es=

=jQ2+

-----END PGP PUBLIC KEY BLOCK-----


Wiping Files

As you probably know, DOS does not actually delete files, but simply marks the space they once occupied as now available. This makes it possible to undelete files containing possibly sensitive information.  A common practice to get around this, is to overwrite the file with random garbage before deleting it, rendering it's recovery irrelevant.

Worthy of note however, is that whether it's PGP's internal wiping procedure, or PGPn123's procedure, a file may never be touched if it resides on a drive that is cached by a memory caching utility such as Smartdrive, or a hardware caching device. For this reason, we once again warn against using PGPn123's features to automate the entry of your secret key. Even if you check the No Save box, the password is written to a batch file during the next operation (for the purpose of passing it to PGP). Due to the drive caching issue, this file, though wiped after use, may indeed still contain your passphrase if the cache did not see fit to write to the hard drive before the file was deleted.


Key Operations

Add Public Key

To add a public key in the Key Operations window, select Add Public Key, then click on Proceed. This option takes the data in the clipboard and sends it to PGP. Because of this technique, if you have not previously copied the public key block to the clipboard, PGP will not find a key and will give you an error message.

Remove Public Key

Select Remove Public Key, then highlight the public key you wish to remove. Click on Proceed. PGP will prompt you for confirmation before removing the key.

Certify Public Key

Select Certify Public Key, then highlight the public key you wish to sign. By signing a public key, you are certifying that it does in fact belong to the listed owner. As a general rule, the more signatures present on a key, the more certain you can be of it's ownership. Click on Proceed. PGP will ask for confirmation before proceeding.

View Certicifications

Select View Certifications, then highlight the public key you wish to examine. Click on proceed. PGP will extract the key ID and references to any attached signatures for you to review.

Edit Key Parameters

Select Edit Key Parameters, highlight the key to edit, then click on Proceed. PGP will walk you through this process .

Extract Public Key

Select Extract Public Key, then highlight the key you wish to extract. Click on  Proceed. PGP will create and ASCII armored copy of the key, and PGPn123 will place it into the viewer. From there, you can copy and paste it anywhere you wish. The key itself is not removed - this only makes a copy of the key.

Extract Public Key Fingerprint

Select Extract Fingerprint, then highlight the key you wish to fingerprint. Click on  Proceed. PGP will create a file with the key fingerprint, and PGPn123 will place it into the viewer. From there, you can copy and paste it anywhere you wish. The key itself is not removed - this only extracts a fingerprint of the key for easy verification of its authenticity.

Create Key Pair

Select Create Key Pair. Click on  Proceed. PGP will prompt you for the length of key you wish to create. After making a selection, a pair of complementary keys will be created, one secret key and one public key.

Default Secret Key

Select Default Secret Key. The list box with be loaded with your secret key ring. If there are two or more secret keys, select the one you wish to use. Click on Assign, to mark that key as the default. From this point forward, when you sign a message, it is this default key which will be used to make the signature. It is not necessary to set a default key if there is only one secret key. PGPn123 uses the PGPPATH environment variable to determine the location of your secret keyring.


File Operations

PGPn123 allows you to process files as well as messages. To process a file, click on  the File Services button. A dialog box will appear allowing you to select a file to work with.

To encrypt a file, click on Encrypt. After PGPn123 obtains the list of public keys, the following window will pop up:

Choose the encryption method, signature and wipe options, then click on OK.  The encrypted file will be placed into the same directory as the source file.

To decrypt a file, click on Decrypt. PGPn123 will prompt you for the output directory, which by default is the same as the source directory. Click on OK.

To delete a file, Click on Delete. You will be prompted for confirmation before the file is deleted.