Annotation of pgp/readme.vms, revision 1.1.1.1

1.1       root        1: PGP/VMS Version 2.0
                      2: -------------------
                      3: 
                      4: All rights to PGP are reserved by Phil Zimmermann. All contributed modules
                      5: are also subject to the copyrights of their individual authors, on the same
                      6: conditions. Certain algorithms used by PGP are subject to patent restrictions
                      7: and this software as a whole may be subject to export control in certain
                      8: countries. Read the PGP Guide for full copyright information and for details
                      9: about export control.
                     10: 
                     11: These notes are intended for those people using and working with PGP under
                     12: the VAX/VMS operating system. These are intended to supplement rather than
                     13: replace the PGP guide. You should read and understand the guide, particularly
                     14: the section about key management.
                     15: 
                     16: PGP/VMS was written usintg the VAX C compiler, which you must have to
                     17: compile it. If you wish to use another compiler, see the developers notes.
                     18: PGP is provided with an MMS description file. To build using this file, go
                     19: to the directory containing the uncompressed files and type the following:
                     20: 
                     21: $ MMS PGP.EXE
                     22: 
                     23: You may wish to delete the object files at this point, they are not needed
                     24: unless you are working on the code. To build a version under the VAX/VMS
                     25: debugger, define the DCL symbol PGP_DEBUG=1. The debugger version will be
                     26: built without any optimisation and will be *significantly* slower.
                     27: 
                     28: Once you have built PGP, it should be placed somewhere that is protected
                     29: against tampering. It is not impossible that someone may replace PGP.EXE 
                     30: with a patched version designed to capture keys. You may wish to use the 
                     31: CHECKSUM utility (CHECKSUM/IMAGE PGP.EXE) to control against modifications, 
                     32: however CHECKSUM does not use very effective algorithms and may itself be 
                     33: compromised.
                     34: 
                     35: You should then use PGP by defining it as an "external command" in your
                     36: LOGIN.COM, or alternative the system wide login command procedure, SYLOGIN.
                     37: This is done simply with the following line of DCL:
                     38: 
                     39: $ PGP:==$device:[directory]PGP
                     40: 
                     41: After executing this line (remember the dollar sign before the device name), 
                     42: you should be able to display a help text by typing:
                     43: 
                     44: $ PGP
                     45: 
                     46: PGP will want to retain the keyrings and some other information. These are
                     47: stored in the device and directory pointed to by the logical name PGPPATH.
                     48: You should copy the files LANGUAGE.TXT and CONFIG.TXT to this directory.
                     49: 
                     50: Your secret keyring contains information that could be cryptographically
                     51: analysed - it must be protected against world access.
                     52: 
                     53: Note that keyrings should be directly transportable between VMS, MSDOS
                     54: and other PGP implementations. Text files may not be portable because of the
                     55: different text record representations across operating systems. If you wish
                     56: to send a text file to a system other than VAX/VMS, you are recommended to
                     57: use the 'canonical-form' switch '-t'.
                     58: 
                     59: Developers Notes
                     60: ----------------
                     61: 
                     62: There are two key conditionals throughout the source for the VAX/VMS
                     63: implementation:
                     64: 
                     65: VAXC -  Allows specific optimisations permitted by the VAX C compiler and
                     66:         overcomes problems with the differences between VAX C and ANSII C.
                     67: 
                     68: VMS  -  This allows VMS specific file handling and some optimisations. It
                     69:         should be noted that the primitives do not work with RISC/VMS untill
                     70:         someone has done some work on porting VAX.MAR.
                     71: 
                     72: There was also some preliminary work donw on porting this to GNU C and indeed
                     73: an earlier (developers) version ran under GNU C. The code affected is usually
                     74: conditionalised with GCC. If someone wishes to complete this and (hopefully)
                     75: integrate the inline assembler stuff used for moves and zero-fills, this
                     76: would be very useful.
                     77: 
                     78: All optimizations were checked out using DEC's PCA, and this version appears
                     79: to be optimal under VAX C.
                     80: 
                     81: As for cleaning up, there are verious areas which could be improved:
                     82: 
                     83: 1)      PGP's own erase on delete could be replaced by the standard VMS 
                     84:         function so the file system does the work.
                     85: 
                     86: 2)      Ensure secret keyring is created without world and group access.
                     87: 
                     88: 3)      The random number generation uses a polling loop from the keyboard
                     89:         which is neither nice nor necessary. A better approach would be to do
                     90:         single character I/Os and fetch the system clock after each
                     91:         character.
                     92: 
                     93: Support
                     94: -------
                     95: 
                     96: This software is provided in the public domain and without charge other than
                     97: for copying. For support issues concerning PGP and VAX/VMS, you are welcome 
                     98: to contact me via Electronic Mail on Compuserve using ID 70042,710 and on the 
                     99: Internet with [email protected]. This software is provided "as-is" and 
                    100: any support given will be of an informal nature.
                    101: 
                    102: Hugh A.J. Kennedy, 30th July 1992

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.