PGP Shell Version 0.9 June 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 & 0.9 are 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 your 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. You can also select the 'INFO' button to bring up a window explaining how to register in North America or the United Kingdom. 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... ^G - 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. Quick Commands... ^W - This command will call up a dialog -------------------- allowing you to edit a list of up to ten commands that can be executed with the press of a function key. At the top of the dialog is a text field allowing you to type in the command. There are scroll arrows to the left and right of the field allowing you to enter commands longer than the text field itself. After typing in the command, select one of the F-key lines in the lower window of the dialog to assign the command to that function key. If a command is currently assigned to that key, it will be overwritten. To execute the command without assigning it to a function key, select the 'EXECUTE' button. You can edit an existing command by double clicking the F-key line to load that command into the editable text field. After making changes, select the F-key line to re-assign the command to that function key. Note that the scrolling text field will not properly handle inserting text into the middle of the command line. If the command text extends past the right end of the text field, inserting text into the middle of the displayed text field will cause characters to be lost at the end of the displayed text field. Note: The Quick Commands dialog can also be called up from inside the Encrypt/Decrypt dialog and the Key Management dialog. From these dialogs you can set up your command options as desired and then hold down the Alternate key while selecting 'EXECUTE'. This will call up the Quick Commands dialog with the command text field loaded with the command that would have been sent to PGP.TTP. You can then edit the command as desired and save it to a function key. Encrypt/Decrypt... ^E - 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 double click on the 'My Userid' and 'Other Userid' text fields to call up a userid selector. The userid selector allows you to select, add, delete, and change userids from a saved list of userids. Simply double click on the userid in the main window to select that userid. You can type in a new userid and select 'ADD' to add it to the list. If you select an existing userid with a single click, it will be loaded into the editable text field where you can change or delete it. When exiting the userid selector, if changes have been made you will be prompted to save the changes to disk. Note: There appears to be a bug in PGP.TTP preventing the use of userids with spaces in the string. According to the PGP docs you should be able to enclose the string in quotes to allow spaces in a userid. However, I have not been able to get this to work. Until a better solution is found, you must limit your userids to unique strings without spaces. Fortunately, PGP can match the smallest unique string easily with the userids stored in your keyring files. 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. If you would like to turn the current command set-up into a quick command, you can hold down the Alternate key while selecting 'EXECUTE'. This will call up the Quick Commands dialog with the command text field loaded with the command that would have been sent to PGP.TTP. You can then edit the command as desired and save it to a function key. Key Management... ^K - 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 a scrolling window of 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 double click on the file name fields to call up the standard file selector. You can also double click on the 'Userid' text field to call up a userid selector. The userid selector allows you to select, add, delete, and change userids from a saved list of userids. Simply double click on the userid in the main window to select that userid. You can type in a new userid and select 'ADD' to add it to the list. If you select an existing userid with a single click, it will be loaded into the editable text field where you can change or delete it. When exiting the userid selector, if changes have been made you will be prompted to save the changes to disk. Note: There appears to be a bug in PGP.TTP preventing the use of userids with spaces in the string. According to the PGP docs you should be able to enclose the string in quotes to allow spaces in a userid. However, I have not been able to get this to work. Until a better solution is found, you must limit your userids to unique strings without spaces. Fortunately, PGP can match the smallest unique string easily with the userids stored in your keyring files. 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. If you would like to turn the current command set-up into a quick command, you can hold down the Alternate key while selecting 'EXECUTE'. This will call up the Quick Commands dialog with the command text field loaded with the command that would have been sent to PGP.TTP. You can then edit the command as desired and save it to a function key. 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... ^V - 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 ^Q - 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. The scrolling text fields need to be improved to prevent losing characters when inserting text. The userid selector needs further work to allow reading userids from keyring files. Eventually there will be a simple text editor allowing you to write your messages and then encrypt them all from within PGP Shell. Of course, there may also be additional features suggested by you. When all this will happen depends on how the users (that's you!) respond. 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 included in the distribution package, please contact me.