Unit pgpcomp

This component encapsulates nearly all PGP for DOS function calls. Its freeware. You are also free to use and change the source code, but you are asked to let me know, when you think you have found a bug or thought of an improvement Copyright Dr. med. Wolfgang Stehle 1997 E.-Mail 044534320-0001@t-online.de History: 10.02.97 Finput is now saved to file by the nolinefeed-procedure, which separates lines by CRs only, making all the lines accessible for redirected input 20.02.97 instead of the hourglass I created PGP'own cursor. You can see easily that a always got a 4 mark in arts at school german marks ranking from 1 (the best) to 6. If you create a better cursor, send it to me. The file for redirected input is erased automatically after use, as it might contain your password sometimes I integrated winexj into the pgpcomp. This was necessary as I detected tha a global variable 'Thecallbackproc ' would lead to conflicts if you use several instances of PGPInterface in one application. So today I destroyed the first two of the rest of my bugs 25.02.97 From a bulletin board I got function that should allow to run this component under Win 95 provided that you compile it with Delphi 2.0 and remove the $define 16 Bit switch. I couldn't test it as I got no Delphi 2.0. and I havent the foggiest idea, what they are doing there. I installed the 16Bit version of the function as well to find out whether it runs at all. It does! so at the moment there is some old code in the unit, that is not used 02.03.97 Added the action Removeseckey. I think it should only be used to remove a certain userid but not the whole key from the keyring. If you want to remove a private key for good use the revokekey Action in order to get a revoke certificate If no path is given PGPath is added to seckeyring and pubkeyring automatically 04.03.97 the commandline for winexec seems to get too long sometimes so instead of writing -u pyour_userid I copy p_your_userID to myname property automatically. The command line gets shorter by this I found that I had a fixed path to pgp.exe in my dospgp program, Path was removed so that running should be no problem if dospgp is on the same path where PGp is found. Some more bugfixes 07.03.97 Property Test added, it defaults to false. If put to true, the pgp window is not closed automatically and the commandline is displayed before execution like in the older versions

Classes

PGPInterface -

Functions

Register - looks for a string in a Stringlist, usable to analyse redirected output

looks for a string in a Stringlist, usable to analyse redirected output

Types

messagedetail
PGPaction
PGPCharset
PGPLanguage
string1
String500

Constants

Configname
Defaultpubring
DefaultSecring
INVALID_NAME
NOT_FOUND
PGPProgrammName
RAN_OK
SOME_ERROR

Variables

tempstring
tempstring2


Functions


procedure Register;

looks for a string in a Stringlist, usable to analyse redirected output

looks for a string in a Stringlist, usable to analyse redirected output


Types


messagedetail=(Quiet, Normal,VerboseMessages);

PGPaction = (encryptPlaintext,signPlaintext,signKlartext,SignandEncrypt,
    ConventionalEncrypt,DecryptandChecksign,SignandEncryptMult,GenKeys,
    AddSecKeys,AddPubKeys,Extractseckeys,Extractpubkeys,Viewseckeys,Viewpubkeys,ViewpubkeysandSignatures,
    Viewallseckeys,Viewallpubkeys,ViewallpubkeysandSignatures,pubfingerprint,
    CheckPubkeysandSignatures,EditSecKey,EdPubKey,RemovePubKey,RemovesecKey,CertifPubKey,
    RemoveSig,RevokeKey,TogglePubKey,DecryptOnly,SignDetached,DetachSignature);

PGPCharset =(NOCONV,LATIN1,KOI8,ALT_CODES,ASCII, CP850 );

PGPLanguage= (English,Spanish,French,German,Italian,Brazilian_Portuguese,
    Esperanto,Latvian,Lithuanian,Russian,Dutch,Finnish,Hungarian,
    Norwegian,Portugese,Swedish,Danish,Icelandic,Chinese,Korean,Arabic,
    Hebrew,Greek,Turkish,Japanese);

string1 =string [1]

String500   = array[0..500] of char;

Constants

Configname = 'config.txt'

Defaultpubring = 'pubring.pgp'

DefaultSecring = 'secring.pgp'

INVALID_NAME = -2

NOT_FOUND = -1

PGPProgrammName = 'PGP.exe'

RAN_OK = 0

Note! If you're using Delphi 2.x (32 bit), remove this line from this file and the Project Source code (DPR file):} {If you're using Delphi 1.x (16 bit), no changes are necessary. ----------------------------------------------------------------------

SOME_ERROR = -3


Variables

tempstring : string

tempstring2 : string