NSDPGP.DLL v2.00
PGP COM Interface
PGP 6.5.1 (WIN32)
Freeware. Freely distributable.
Copyright (c) 1999, Gerard R Thomas.
email:<grt@wow.net><grt@geocities.com>
http://community.wow.net/grt/nsdpgp.html

This program is "freeware" and may be used and copied without
fee or obligation for private or commercial use.
If you do use it for commercial purposes, you may wish to contribute
to the further development. You can send an online gift certificate
from http://www.amazon.com to Gerard R Thomas grt@wow.net 
See the license.txt for license information.

Installation:
Please uninstall previous versions of NSDPGP.DLL before
installing version 2.0.

The nsdpgp.zip file contains these files:

file_id.diz (package information)
readme.txt  (program information)
license.txt (license)
nsdpgp.dll (COM Interface DLL)
nsdpgp.dll.sig (PGP signature)

Copy the nsdpgp.dll file to the \System (Windows 95/98) or 
\System32 (Windows NT 4.0) directory.

Register the file by typing into the Start | Run
"REGSVR32 NSDPGP.DLL"

Uninstall:
Unregister the file by typing into the Start | Run
"REGSVR32 /U NSDPGP.DLL"

Delete the nsdpgp.dll file.

Operation:
NSDPGP.DLL is a COM In-Process Automation Server. Its interface
provides conventional (128 bit IDEA, CAST5, 3DES) file encryption, decryption
and wiping methods and public key (RSA,DH/DSS) file encryption/signing,
decryption/verification (via PGP 6.5.1 [WIN32]) to the Windows Scripting Host,
MS Visual Basic, MS Office VBA, IIS/ASP etc.

The five methods are
EncryptFile(cipher,infile,outfile,password)
DecryptFile(infile,outfile,password)
WipeFile(infile)
EncryptFileEx(rcptkeyid,signkeyid,infile,outfile,password)
DecryptFileEx(siginfofile,infile,outfile,password)

parameters:

cipher is an integer that indicates the desired conventional cipher
algorithm. Valid values are 1 (for IDEA), 2 (for CAST5) and 3 (for 3DES).

infile and outfile are strings giving the filenames (including full path)
for the input and output files.

password is a string giving the conventional password or keyring passphrase.

siginfofile is a string giving the filename (including full path)
for the file into which the signature verification information will be written.
 
rcptkeyid and signkeyid are strings giving the KeyIDs of the recipient and signing
keys.

Example Usage:

(a) using the Windows Scripting Host and JScript

// EXAMPLE.JS
pgpobj = WScript.CreateObject("NSDPGP");
pgpobj.EncryptFile(2,"D:\\Reports\\JUL99.DOC","D:\\Reports\\JUL99.ENC","testing");
pgpobj.WipeFile("D:\\Reports\\SCRATCHPAD.XLS");
pgpobj.DecryptFileEx("D:\\Temp\\siginfo.txt","D:\\Reports\\OCT99.PGP","D:\\Reports\\OCT99.MDB","secret");
pgpobj.EncryptFileEx("0xAF7755A2","0x9DBCDE7D","D:\\Photos\\Portrait.JPEG","D:\\Temp\\Portrait.PGP","secret");
//end of file

(b) using Visual Basic

(1) choose Standard EXE project
(2) choose Project | References and check the "PGP COM Interface"
    checkbox.
(3) place a commandbutton control on Form1
(4) enter the following code
 
Private Sub Command1_Click()
 Dim myRef as new NSDPGP.NSDPGP
 myRef.DecryptFile "D:\Reports\JUL99.DOC", "D:\Reports\Scratch.DOC", "testing"
 myRef.EncryptFileEx "0xFF7155A2", "0x9DBCDE7D", "D:\temp\info.txt", "d:\temp\cryptedinfo.txt", "secret"
End Sub

(5) run the code and click on the button

Note: 
PGP 6.5.1 must be installed on the system for this interface to work.
It is not a standalone encryptor but rather a COM wrapper to PGP

Note:
The PGP signature may be used to verify the integrity of the 
executable. The executable is signed with my PGP DSS key.
[4096/1024 bit DH/DSS <grt@wow.net> <grt@geocities.com> 
Key ID: 0xFF7155A2 Key fingerprint:
61DF 0468 0570 4615 8FF5  7530 5B3C 2165 FF71 55A2]

1999 08 10
Gerard R Thomas
Port of Spain
Trinidad and Tobago
