Annotation of pgp/src/readme.vms, revision 1.1.1.1

1.1       root        1: PGP/Open VMS Version 2.2
                      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 and OpenVMS operating systems. These are intended to supplement
                     13: rather than replace the PGP guide. You should read and understand the guide,
                     14: particularly the section about key management.
                     15: 
                     16: Digital in their infinite wisdom have renamed VMS as of version 5.5 to OpenVMS.
                     17: OpenVMS for VAX (the old VAX/VMS) has been renamed to OpenVMS/VAX and the new
                     18: version for their RISC processor to OpenVMS/Alpha AXP. When I refer to VMS, I
                     19: mean VAX/VMS version 5.3 and upwards and OpenVMS/VAX V5.5 and up. I am *not*
                     20: referring to OpenVMS/Alpha AXP. See the developers notes for information.
                     21: If you unzip under VMS using the public domain Zipper - you will probably have
                     22: a problem with file characteristics. If you have the PD FILE utility, you can
                     23: fix this by saying:
                     24: 
                     25: $ FILE/type=stream  *.*
                     26: 
                     27: Otherwise you can fix using either TPU or CONVERT/FDL.
                     28:  
                     29: PGP/VMS was written using the VAX C compiler, which you must have to
                     30: compile it. If you wish to use another compiler, see the developers notes.
                     31: PGP is provided with an MMS description file. To build using this file, go
                     32: to the directory containing the uncompressed files and type the following:
                     33: 
                     34: $ MMS
                     35: 
                     36: You may wish to delete the object files at this point, they are not needed
                     37: unless you are working on the code. To build a version under the VAX/VMS
                     38: debugger, define the DCL symbol PGP_DEBUG=1. The debugger version will be
                     39: built without any optimisation and will be *significantly* slower.
                     40: 
                     41: If you do not have MMS you may execute the DCL supplied command procedure 
                     42: VMSBUILD.COM to compile and link PGP.
                     43: 
                     44: Once you have built PGP, it should be placed somewhere that is protected
                     45: against tampering. It is not impossible that someone may replace PGP.EXE 
                     46: with a patched version designed to capture keys. You may wish to use the 
                     47: CHECKSUM utility (CHECKSUM/IMAGE PGP.EXE) to control against modifications, 
                     48: however CHECKSUM does not use very effective algorithms and may itself be 
                     49: compromised.
                     50: 
                     51: You should then use PGP by defining it as an "external command" in your
                     52: LOGIN.COM, or alternative the system wide login command procedure, SYLOGIN.
                     53: This is done simply with the following line of DCL:
                     54: 
                     55: $ PGP:==$device:[directory]PGP
                     56: 
                     57: After executing this line (remember the dollar sign before the device name), 
                     58: you should be able to display a help text by typing:
                     59: 
                     60: $ PGP
                     61: 
                     62: PGP will want to retain the keyrings and some other information. These are
                     63: stored in the device and directory pointed to by the logical name PGPPATH.
                     64: You should copy the files LANGUAGE.TXT and CONFIG.TXT to this directory.
                     65: 
                     66: Your secret keyring contains information that could be cryptographically
                     67: analysed - it must be protected against world access. However, your secret key
                     68: ring is encrypted so is protected against casual browsing. If anyone that you
                     69: can not trust has privileged access to your system, your plaintext files are
                     70: vulnerable and potentially, also your keyrings.
                     71: 
                     72: Note that keyrings should be directly transportable between VMS, MSDOS
                     73: and other PGP implementations. Text files may not be portable because of the
                     74: different text record representations across operating systems. If you wish
                     75: to send a text file to a system other than VAX/VMS, you are recommended to
                     76: use the 'canonical-form' switch '-t'.
                     77: 
                     78: If you wish to take binary files such as backup savesets between two systems
                     79: running VMS, you can use the special flag 'i' with the encrypt function to
                     80: preserve the file and record characteristics. When decrypting, PGP will read
                     81: the 'i' flag and the type of the system that created the file. If both systems
                     82: are VMS, the file will be correctly decrypted with the correct file
                     83: characteristics.
                     84: 
                     85: Developers Notes
                     86: ----------------
                     87: 
                     88: There are two key conditionals throughout the source for the VAX/VMS
                     89: implementation:
                     90: 
                     91: VAXC -  Allows specific optimisations permitted by the VAX C compiler and
                     92:         overcomes problems with the differences between VAX C and ANSII C.
                     93: 
                     94: VMS  -  This allows VMS specific file handling and some optimisations. It
                     95:         should be noted that the primitives do not work with
                     96:        OpenVMS/Alpha AXP until someone has done some work on porting VAX.MAR.
                     97:        Other RISC implementations have always shown disappointing performance
                     98:        when relying on C alone.
                     99: 
                    100: There was also some preliminary work done on porting this to GNU C and indeed
                    101: an earlier (developers) version ran under GNU C. The code affected is usually
                    102: conditionalised with GCC. If someone wishes to complete this and (hopefully)
                    103: integrate the inline assembler stuff used for moves and zero-fills, this
                    104: would be very useful.
                    105: 
                    106: All optimizations were checked out using DEC's PCA, and this version appears
                    107: to be optimal under VAX C.
                    108: 
                    109: As for cleaning up, there are verious areas which could be improved:
                    110: 
                    111: 1)      PGP's own erase on delete could be replaced by the standard VMS 
                    112:         function so the file system does the work.
                    113: 2)     PGP spends a long time moving data between temporary files. This
                    114:        should be reduced where possible.
                    115: 3)     We need an Open VMS/Alpha AXP version of PGP. This code has never
                    116:        faced DEC C but it is reputably more ANSII compilant. The VAX.MAR
                    117:        stuff should go through the MACRO-32 translator. Please advise me
                    118:        if you have time to spare to make an Alpha port.
                    119: 4)     I have never tried this stuff with VMS POSIX. The combination of VMS
                    120:        and VAX C but with a Unix-like file system will blow the existing code
                    121:        unless it is correctly conditionalised.
                    122: 
                    123: 2)      The random number generation uses a polling loop from the keyboard
                    124:         which is neither nice nor necessary. A better approach would be to do
                    125:         single character I/Os and fetch the system clock after each
                    126:         character.
                    127: 
                    128: Contributing Authors
                    129: --------------------
                    130: 
                    131: This port was originally performed by Hugh Kennedy with assistance from
                    132: Mark Barsoum and others.
                    133: 
                    134: Support
                    135: -------
                    136: 
                    137: This software is provided in the public domain and without charge other than
                    138: for copying. For support issues concerning PGP and VAX/VMS, you are welcome 
                    139: to contact me via Electronic Mail on Compuserve using ID 70042,710 and on the 
                    140: Internet with [email protected]. This software is provided "as-is" and 
                    141: any support given will be of an informal nature.
                    142: 
                    143: Hugh A.J. Kennedy, 17th November 1992

unix.superglobalmegacorp.com

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