|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.