**** DES2_README.TXT **** This directory contains a simple DES encryption/decryption program that uses CDSA, and participates in bilateral authentication. It links explictly against CDSA$INCSSM300_SHR.EXE. This example is designed to be signed using the CDSA signing tools. ******************** ** Special Note ** ******************** Sys$common:[syshlp.examples.cdsa]readme.txt contains general information that applies to all of the example programs that are signed. The necessary files to build the example on OpenVMS are included, with the exception of appselfkey.h. This include file must be generated from the certificate created for the application(s). See the OpenVMS book "Open Source Security for OpenVMS, Volume 1: Common Data Security Architecture", CDSA Programing Concepts, for complete instructions. Special attention should be paid to the section on Signed Application Development. A signed CDSA application will not execute until the proper credentials are generated. *********** The DES2 example files are: CALLOUTS.C CALLOUTS.H DES2_BUILD.COM DES2_SIGN.COM DES2.C PRECOMP.H DES2.OPT DES2_INSTALL.COM DO_DES2.C DESGUID.H DES2_INS.OPT INSTALL_DES2.C (APPSELFKEY.H not provided, user generated) After performing the steps to generate the application credentials and the include file, appselfkey.h,the DES2 example program can be built by copying the example files into a local build area, and executing the DES2_BUILD command file, as follows: $ define/trans=conceal cdsa_tempdir :[.] $ set default cdsa_tempdir:[DES2] $ copy SYS$SYSROOT:[SYSHLP.EXAMPLES.CDSA.DES2]*.* [] $ copy cdsa_sysdir:[sign]appselfkey.h [] $ @DES2_BUILD The resulting image must be 'signed'. ************** On the SIGNING SYSTEM run the command procedure to generate the manifest. ************** $ @DES2_sign Finally back on the development system run the command procedure to install the module. $ @DES2_INSTALL The application DES2.EXE can be run as a foreign command. This can be set up via: $ DES2 :== $CDSA_TEMPDIR:[DES2]DES2.EXE The program can then be executed with the following options: -e : encrypt with supplied key (requires -k switch) -d : decrypt with supplied key (requires -k switch) -h : specifies that the supplied key is a 16 character hexadecimal number -k key : use key "key" (apostrophes {aka, single quotes} are necessary if used with -h) To encrypt MYFILE.TXT using an ascii key with the DES example program, you would issue the following command: $ des2 -e -k "xyzzy" MYFILE.TXT MYFILE.DES To decrypt the same file, you would issue this command: $ des2 -d -k "xyzzy" MYFILE.DES MYFILE.TXT To encrypt/decrypt using a hexadecimal key, use a key length of exactly 16 typed characters (8 hex bytes), and the -h switch as follows: $ des2 -e -k '012abcde012abcde' -h MYFILE.TXT MYFILE.DES $ des2 -d -k '012abcde012abcde' -h MYFILE.DES MYFILE.TXT