CDSA_EXAMPLES_README.TXT ************************ CDSA must be initialized before any example program is run. This needs to be done on a one-time basis, by executing the following command: $ @SYS$STARTUP:CDSA$INITIALIZE There are 7 example programs provided with CDSA V2.0 on OpenVMS. Command procedures to build, sign, and 'install' them are provided along with individual readme files specific to each example. Please read the chapter entitled "CDSA Programming Concepts" in the OpenVMS book "Open Source Security for OpenVMS, Volume 1: Common Data Security Architecture" before building any of the examples. Special attention should be paid to the section on building signed applications if you are planning to build one of the signed examples, or are developing a CDSA plug-in module. As detailed in the chapter, "CDSA Programming Concepts" there are nine steps to be followed in building signed applications. Some of the steps have been done for you in the example programs. 1. Generate a GUID The 5 signed examples already have unique GUIDs. 2. & 3. Generate Certificates and Keycode. This must be done by the user, from the signing account on the signing machine. Set default to cdsa_sysdir:[sign]. It is necessary to have read/write access to this directory. @cdsa$gen_certs.com Copy modselfkey.h and appselfkey.h to development area. 4. Self Check Code Done in example code. 5. Add CDSA procedures to Application Done in example code. 6. Compile & Link @_build.com 7. Build Installation code. Done in step 6. 8. Generate the manifest, i.e. 'Sign' the executable. (This procedure assumes that you can access your development area from the signing machine.) From the signing account on the signing machine. (The command procedures will set default to the signing directory.) @_sign.com 9. Install the executable. @_install.com The include files necessary to build CDSA applications are located in: cdsa_sysdir:[includes]. You should add the compile qualifier '/include=cdsa_sysdir:[includes]' to the compilation of any modules developed to interact with CDSA. The examples are designed to be organized under a local build directory i.e. :[.]. The rooted logical 'cdsa_tempdir' must be defined as :[.]. $ DEFINE/TRANSLATION=CONCEALED CDSA_TEMPDIR :[.] Under this directory the command procedures expect individual directories for each example. MDS CDSA_TEMPDIR:[MDS] An application program that reads CDSA's MDS database and prints out attributes of installed modules. No integrity checking. DES CDSA_TEMPDIR:[DES] An application program doing basic cryptographic operations with no integrity checking. DES2 CDSA_TEMPDIR:[DES2] DES1 example using integrity checking and is linked against CDSA$INCSSM3_SHR. DES3 CDSA_TEMPDIR:[DES3] DES2 example linked against CDSA$AAL.OLB with CDSA$INCSSM300_SHR linked dynamically at runtime. Note that the following OpenVMS CDSA addin modules are built with integrity checking. ADDIN CDSA_TEMPDIR:[ADDIN] An addin module written to the CSP Service Provider Interface (with integrity checking). DUMMYEMM CDSA_TEMPDIR:[DUMMYEMM] An Entity Module Manager, defining a new SPI (Service Provider Interface) (with integrity checking). DUMMYEMMADDIN CDSA_TEMPDIR:[DUMMYEMMADDIN] An addin module written to the SPI made available by DUMMYEMM_SHR (with integrity checking).