                            PGP Shell

                           Version 0.6
                           April  1994

                        by Randy Hoekstra

               Copyright (c) 1994  Randy Hoekstra



PGP Shell is a simple Atari GEM interface for Philip Zimmermann's 
Pretty Good Privacy (PGP) public-key encryption software.  PGP is 
available for many different computer platforms with a command 
line interface requiring the memorization of command codes and 
syntax.  On the Atari ST/TT/Falcon computers it has been compiled 
into a TTP type program.  It seems only fitting that there should 
be a better user interface on a computer line that offers a 
Graphical User Interface built-in to the system.

For more information on PGP and public-key encryption, refer to 
the documentation included in the distribution package of PGP.

This project began as a request from Morgan Shannon for someone 
to make his life easier by providing a simpler interface for PGP.  
Although the Atari market is currently on the decline and there 
is little monetary incentive to spend time on projects like this, 
I will continue to develop this and other programs for the Atari 
platform as long as I know it is making life easier for even a 
few users.  I appreciate the encouragement, ideas, suggestions, 
bug reports, etc. given by Morgan and others like him and hope 
that you would also let me know your suggestions for improving 
the program.  Any monetary support you can offer by sending in a 
shareware contribution will also be greatly appreciated.

Version 0.6 is a result of input from Travis Guy, who was one of 
the few who bothered to report the bugs and make suggestions for 
improvements (and even helped with the code).  Thanks to Travis 
for taking the time to help me make this version a bit cleaner 
and more user friendly.

Setting Up
==========

PGPSHELL.PRG and PGPSHELL.RSC should be located in the same 
directory and ideally they should be in the same directory with 
PGP.TTP and it's support files.  If you want to put the shell 
program in a different location, the first time PGPSHELL.PRG is 
run it will ask you to locate PGP.TTP.  You will then need to 
save the configuration so PGPSHELL.PRG will know where to locate 
PGP.TTP the next time it is run.

If you have been using PGP.TTP already, then you do not need to 
change anything in your current set-up.  You should be able to 
run PGPSHELL.PRG and very easily make use of it's simple GEM 
interface to accomplish most of what you have been doing from the 
command line.  Not all commands are currently implemented, but 
hopefully the most used ones are there and I am working on the 
rest.

If you are just starting out with PGP, there is a menu item in 
PGPSHELL.PRG that will help you get your key files set up.  In 
the "File" menu the first item is "Generate Keys...". Selecting 
this item will take you to a screen that will explain a bit about 
generating you public and private key pairs and also introduce 
you to the two other menu items that make up the heart of PGP 
Shell.

Once you have generated the key pair, you are ready to begin 
encrypting and decrypting private e-mail to/from other users of 
PGP on any computer platform.

Using PGP Shell
===============

The following describes the menu items available in PGP Shell.

PGPShell
--------

About PGPShell...- This, of course, is the standard credits 
-----------------  dialog which shows the current version of the 
program and copyright information.

When you are not interacting with one of PGP Shells dialogs, your 
other accessories will be available for use under the "PGPShell" 
menu.

File
----

Generate Keys...- This item will bring up a simple dialog which 
----------------  will allow you to generate your private and 
public key pairs if you have not been previously using PGP. 
Select "EXECUTE" to call PGP.TTP and cause it to generate your 
key pair.  You will be prompted for additional information 
required to generate the keys.  When PGP.TTP has finished its 
work, you will be prompted to press a key or mouse button to 
return to the shell.

Encrypt/Decrypt...- This item will bring up a dialog allowing you 
------------------  to encrypt text files and decrypt previously 
encrypted files.  There are fields allowing the input of the 
textfile and ciphertext file names, a field for entering your 
userid, a field for entering other userids, and several 
selectable buttons for determining the commands to be used.  
Refer to the PGP documentation for details of what options should 
be used for encrypting and decrypting files.

Note that you can double click on the file name fields to call up 
the standard file selector.

You can also specify additional or alternative commands at the 
bottom of the commands window.

Select "EXECUTE" to call PGP.TTP and pass the command parameters 
selected.  Some error checking is done by PGP Shell to ensure 
that the appropriate parameters are filled in, but it is still 
possible to pass incorrect parameters from the "Other Commands" 
line.  PGP Shell will either display an alert warning of 
incorrect parameters or PGP.TTP will display an error message. If 
PGP.TTP is called, regardless of correct parameters or not, when 
it has completed processing the commands,you will be prompted to 
press a key or mouse button to return to the shell.

Once you have filled in the appropriate fields and selected the 
desired commands, you can select "KEEP" to retain the dialog 
information and leave the dialog. To save the settings as default 
values, select "Save Configuration" from the "File" menu.

Key Management...- This item will bring up a dialog allowing you 
-----------------  to manipulate your key files.  There are 
fields allowing the input of the keyring and keyfile names, a 
field for entering userids, and several selectable buttons for 
determining the commands to be used.  Refer to the PGP 
documentation for details of what options should be used for key 
management.

Note that you can click on the file name fields to call up the 
standard file selector.

You can also specify additional or alternative commands at the 
bottom of the commands window.

Select "EXECUTE" to call PGP.TTP and pass the command parameters 
selected.  Some error checking is done by PGP Shell to ensure 
that the appropriate parameters are filled in, but it is still 
possible to pass incorrect parameters from the "Other Commands" 
line.  PGP Shell will either display an alert warning of 
incorrect parameters or PGP.TTP will display an error message. If 
PGP.TTP is called, regardless of correct parameters or not, when 
it has completed processing the commands, you will be prompted to 
press a key or mouse button to return to the shell.

Once you have filled in the appropriate fields and selected the 
desired commands, you can select "KEEP" to retain the dialog 
information and leave the dialog. To save the settings as default 
values, select "Save Configuration" from the "File" menu.

Save Configuration - This item will save all settings in all 
------------------   dialogs as the default settings.  This will 
create a PGPSHELL.INF file containing these settings.  The next 
time PGP Shell is run, the dialogs will be filled in with the 
default information.

View Text File... - This item will call up the standard file 
-----------------   selector allowing you to pick an ascii file 
to view.  The file will be loaded into memory and displayed in a 
standard GEM window.  There is no checking to ensure characters 
in the file are within the normal ascii range, so it is possible 
to load non ascii files with undesirable effects.  After the file 
viewing window has been opened, you can scroll through the file 
using the GEM scroll bar and size the window using the GEM window 
gadgets.  To close the file viewing window, select the GEM close 
box in the upper left corner of the window.

You can also scroll through the text file using key commands such 
as arrow keys for up and down and 'CLR/HOME' to go to top of page 
and 'SHIFT CLR/HOME' to go to bottom of page.

Quit - Use this item to exit PGP Shell.  All settings in all 
----   dialog boxes will be lost unless a "Save Configuration" is 
selected first.

Yet to Come
===========

This program is still in the early stages of development.  I plan 
to rework the key management dialog to include a scrolling window 
so that all the possible key management commands can be selected.  
I am also planning to allow for user defined "Quick Keys" which 
will be commands that can be executed by pressing a function key.  
Eventually I also hope to be able to read the users out of the 
keyring files and make it possible to point and click to select 
the user(s) for encrypting messages. If you have any suggestions 
for improving the program, I would be happy to consider them.

Send any suggestions or bug reports to:

Randy Hoekstra
3414 Norwood Circle
Richardson, Texas  75082

E-mail to: R.HOEKSTRA1@genie.geis.com

NOTE: All text in this program is located in the resource file 
for easy translation to another language.  If you are interested 
in translating it to your native language and having it include 
in the distribution package, please contact me.