Class PGPInterface (unit pgpcomp)

Inherits from

TComponent

Constructors


constructor create (AOwner:TComponent);

read PGP's output from here


Functions

function Is_inOutput (What:string):boolean;

- Ask for Confirmation for Key Adds ----------------------------------------------- Default Setting: INTERACTIVE = off Enabling this mode will mean that if you add a key file containing multiple keys to your key ring, PGP will ask for confirmation for each key before adding it to your key ring.

destructor destroy;


Procedure whichWindows (var SubVersion, WinVersion :string);

writes Tstrings to file without the linefeeds

procedure anaction;

finds out the windows version

procedure exchange (Newtext,parameter:string);


function getarmor: boolean;


function getArmorlines:integer;


function getBAKRING:string;


function getCERT_DEPTH:integer;


function getciphertextfile :string;


function getCLEARSIG :boolean;


function getCOMPLETES_NEEDED:integer;


function getCompress:boolean;


function gether_userid:string;


function getINTERACTIVE:boolean;


function getkeyfile : string;


function getkpbinary:boolean;

file for import/exporting keys

function getlanguage:pgplanguage;


function getMARGINALS_NEEDED:integer;


function getmyname:string;


function GetNotbin: boolean;


function getpassword :string;


function getpgpcharset: pgpcharset;


function getPGPPath :string;

adds Backslash if necessary

function getPlainTextFilename:boolean;


function getPpubkeyring :string;


function GetPrintableAscii: boolean;

optional um bei Schlüsselmanagement den Schlüsselring zu spezifizieren

function getScreenonly:boolean ;


function getseckeyring:string;

file mit verschlüsseltem Text

function getSHOWPASS:boolean;


function gettextfile :string;


function gettextmode:boolean;


function getTmp:string;


function getTZFIX:integer;


function getVERBOSE:messagedetail;


function getWipeout:boolean;


function getyour_userid:string;


procedure nolinefeed (var Astringlist:Tstrings; afilename:string);


function searchlist (searchparameter:string):string;

exchange

procedure setarmor (yes:Boolean);


procedure setArmorlines (Howmanylines:integer);


procedure setBAKRING (ABakring:string);


procedure setCERT_DEPTH (ADepth:integer);


procedure setCLEARSIG (yes:Boolean);


procedure setCOMPLETES_NEEDED (Cplneeded:integer);


procedure setCompress (yes:boolean);


procedure setFactive ( yes :Boolean);


procedure sether_userid (AnuserId:string);


procedure setINTERACTIVE (yes:boolean);


procedure setkeyfile (Akeyfile:string);


procedure setkpbinary (yes:boolean);


procedure setlanguage (ALanguage:PGPLanguage);


procedure setMARGINALS_NEEDED (Mrgneede:integer);


procedure setmyname (AName:string);


procedure setNotBin (Yes :boolean);


procedure setpassword (THePassword:string);


procedure setPciphertextfile (ACipertextfile:string);


procedure setpgpcharset (ACharset:pgpcharset);


procedure setPGPPath (APath:string);


procedure SetPGP_Action (Onaction:PGPaction);


procedure setPlainTextFilename (Yes:boolean);


procedure setPpubkeyring (APubKeyring:string);


procedure SetPrintableAscii (Yes:boolean);


procedure setScreenonly (Yes:boolean);


procedure setseckeyring (Aseckeyring:string);


procedure setSHOWPASS (yes :boolean);


procedure settextfile (ATextfile:string);


procedure settextmode (yes:boolean);


procedure setTMP (Tempath:string);


procedure setTZFIX (AFix:Integer);


procedure setVERBOSE (ADetail:Messagedetail);


procedure setWipeout (Yes:boolean);


procedure setyour_userid (VYouruserid:string);


function Winexejn( pszPath, {pathname of program to execute} pszParams, {command line parameters} pszCWD:Pchar; { working directory} fiCmdShow:word {window state} ):integer;

redisplay hourglass

Properties

property Action : PgPAction


property ARMOR : boolean

- Specifies Local Character Set for Text Files ------------------------------------------------------ Default setting: CHARSET = NOCONV Because PGP must process messages in many non-English languages with non-ASCII character sets, you may have a need to tell PGP what local character set your machine uses.

property ARMORLINES : integer

- Enable ASCII Armor Output --------------------------------- Default setting: ARMOR = off The configuration parameter ARMOR is equivalent to the -a command line option.

property BAKRING : string

- How Deep May Introducers Be Nested ----------------------------------------------- Default setting: CERT_DEPTH = 4 The configuration parameter CERT_DEPTH specifies how many levels deep you may nest introducers to certify other introducers to certify public keys on your public key ring.

property CERT_DEPTH : integer

- Number of Marginally Trusted Introducers Needed ------------------------------------------------------------------ Default setting: MARGINALS_NEEDED = 2 The configuration parameter MARGINALS_NEEDED specifies the minimum number of marginally trusted introducers required to fully certify a public key on your public key ring.

property CHARSET : pgpcharset

- Assuming Plaintext is a Text File -------------------------------------------- Default setting: TEXTMODE = off The configuration parameter TEXTMODE is equivalent to the -t command line option.

property CLEARSIG : boolean

- Timezone Adjustment --------------------------- Default setting: TZFIX = 0 PGP provides timestamps for keys and signature certificates in Greenwich Mean Time (GMT), or Coordinated Universal Time (UTC), which means the same thing for our purposes.

property COMPLETES_NEEDED : integer

- Enable Compression ----------------------------- Default setting: COMPRESS = on The configuration parameter COMPRESS enables or disables data compression before encryption.

property COMPRESS : boolean

- Keep Binary Ciphertext Files After Decrypting ---------------------------------------------------------- Default setting: KEEPBINARY = off When PGP reads a ".

property INTERACTIVE : boolean

- Quiet, Normal, or Verbose Messages -------------------------------------------- Default setting: VERBOSE = 1 VERBOSE may be set to 0, 1, or 2, depending on how much detail you want to see from PGP diagnostic messages.

property KEEPBINARY : boolean

- Size of ASCII Armor Multipart Files ------------------------------------------------ Default setting: ARMORLINES = 720 When PGP creates a very large ".

property LANGUAGE : pgplanguage

- Directory Pathname for Temporary Files -------------------------------------------- Default setting: TMP = "" The configuration parameter TMP specifies what directory to use for PGP's temporary scratch files.

property MARGINALS_NEEDED : integer

- Number of Completely Trusted Introducers Needed ------------------------------------------------------------------ Default setting: COMPLETES_NEEDED = 1 The configuration parameter COMPLETES_NEEDED specifies the minimum number of completely trusted introducers required to fully certify a public key on your public key ring.

property MYNAME : string

- Foreign Language Selector ------------------------------------ Default setting: LANGUAGE = "en" PGP displays various prompts, warning messages, and advisories to the user on the screen.

property PActive : boolean

true if IO to/fro pgp shall be redirected

property Password : string

true if actions are to be executed

property Pciphertextfile : string

own userid

property PFilter : boolean

switch for testing purposes

property Pher_userid : string

plaintext-file to encrypt or just decrypted

property Pher_useridList : TstringList

userid in the public keyring

property PInput : TStrings


property Pkeyfile : string

file with encrypted text

property PNotBin : Boolean

To specify that a plaintext file contains ASCII text, not binary, and should be converted to recipient's local text line conventions, add the -t (text) option to other options: pgp -seat message.

property PPGPPath : string

enter passwor here,or give it in the Pinput, as PGP will not accept a password from the commandline in some cases

property PPrintableAscii : boolean

to specify a difererentkeyring

property Ppubkeyring : string


property PRecoverPlainTextFilename : boolean

To recover the original plaintext filename while decrypting, add the -p option: pgp -p ciphertextfile

property PScreenonly : boolean

To view the decrypted plaintext output on your screen (like the Unix-style "more" command), without writing it to a file, use the -m (more) option while decrypting: pgp -m ciphertextfile} {To specify that the recipient's decrypted plaintext will be shown ONLY on her screen and cannot be saved to disk, add the -m option: pgp -steam message.

property Pseckeyring : string

file for import/export of private or public keys

property Ptextfile : string

Path to pgp-program if the program is not found here you will get an exception immediately

property PWipeout : boolean

To wipe out the plaintext file after producing the ciphertext file, just add the -w (wipe) option when encrypting or signing a message: pgp -sew message.

property Pyour_userid : string

List of userid if you have a number of recipients

property SHOWPASS : boolean

- Filename for Backup Secret Keyring -------------------------------------------- Default setting: BAKRING = "" All of the key certification that PGP does on your public key ring ultimately depends on your own ultimately-trusted public key (or keys).

property test : boolean

enter redirected input here

property TEXTMODE : boolean

- Default User ID for Making Signatures ---------------------------------------------- Default setting: MYNAME = "" The configuration parameter MYNAME specifies the default user ID to use to select the secret key for making signatures.

property TMP : string

The following is a summary of the various parameters than may be defined in the configuration file.

property TZFIX : integer

- Echo Pass Phrase to User ----------------------------------- Default setting: SHOWPASS = off Normally, PGP does not let you see your pass phrase as you type it in.

property VERBOSE : messagedetail

- Enable Signed Messages to be Encapsulated as Clear Text ------------------------------------------------------------------ Default setting: CLEARSIG = on Normally, unencrypted PGP signed messages have a signature certificate prepended in binary form.

property POutput : TStrings

Public-Deklarationen

Events

Variables

ciphertextfile : string500;

own userid

configChanged : boolean;


configlist : Tstrings;


FActive : Boolean;

Switch for Win95 (doesn't run on Win 95 anyway if Filter Property set

FFilter : boolean;


FInput : TStrings;

Files for redirected IO

FInputfile : string500;

specify filenames for pub and sec keyring if not default

FOutput : TStrings;


FOutputfile : string500;


FPassword : string500;

true if configlist was changed

FPGP_Action : PGPAction;


Ftest : boolean;

List of userid if your letter goes to severesal people

her_userid : string500;

plaintext-file for encryption, give full path if necessary

her_useridList : TStringList;

contain PGPs IO

keyfile : string500;

ciphertextfile, has to be in the pgp-path

NoPif : boolean;

Private-Deklarationen

NotBin : string1;

To specify that a plaintext file contains ASCII text, not binary, and should be converted to recipient's local text line conventions, add the -t (text) option to other options: pgp -seat message.

PGPPath : String500;


PGPPIFCLOSEVAR : String500;


PGPPIFVAR : String500;


PGPVAR : String500;


PlainTextFilename : string1;

To recover the original plaintext filename while decrypting, add the -p option: pgp -p ciphertextfile

PrintableAscii : string1;

switch for testing purposes} {and this is Phil Zimmerman's manual itself --- Command options that can be used in combination with other command options (sometimes even spelling interesting words!): To produce a ciphertext file in ASCII radix-64 format, just add the -a option when encrypting or signing a message or extracting a key: pgp -sea textfile her_userid or: pgp -kxa userid keyfile [keyring]

pubkeyring : string500;


Screenonly : string1;

To view the decrypted plaintext output on your screen (like the Unix-style "more" command), without writing it to a file, use the -m (more) option while decrypting: pgp -m ciphertextfile} {To specify that the recipient's decrypted plaintext will be shown ONLY on her screen and cannot be saved to disk, add the -m option: pgp -steam message.

seckeyring : string500;

file for I/O of keys

Textfile : string500;

Password for secret key

Wipeout : string1;

contains 'a', if property E_Mail_Channel is set to true} {To wipe out the plaintext file after producing the ciphertext file, just add the -w (wipe) option when encrypting or signing a message: pgp -sew message.

your_userid : string500;

recipients userid


Constructors


constructor create (AOwner:TComponent);

read PGP's output from here


Functions


function Is_inOutput (What:string):boolean;

- Ask for Confirmation for Key Adds ----------------------------------------------- Default Setting: INTERACTIVE = off Enabling this mode will mean that if you add a key file containing multiple keys to your key ring, PGP will ask for confirmation for each key before adding it to your key ring.

if you close the window anyway you don't need to see it at all unless the user's keyboard input is neede by PGP for random key generation


destructor destroy;


Procedure whichWindows (var SubVersion, WinVersion :string);

writes Tstrings to file without the linefeeds


procedure anaction;

finds out the windows version


procedure exchange (Newtext,parameter:string);


function getarmor: boolean;


function getArmorlines:integer;


function getBAKRING:string;


function getCERT_DEPTH:integer;


function getciphertextfile :string;


function getCLEARSIG :boolean;


function getCOMPLETES_NEEDED:integer;


function getCompress:boolean;


function gether_userid:string;


function getINTERACTIVE:boolean;


function getkeyfile : string;


function getkpbinary:boolean;

file for import/exporting keys


function getlanguage:pgplanguage;


function getMARGINALS_NEEDED:integer;


function getmyname:string;


function GetNotbin: boolean;


function getpassword :string;


function getpgpcharset: pgpcharset;


function getPGPPath :string;

adds Backslash if necessary


function getPlainTextFilename:boolean;


function getPpubkeyring :string;


function GetPrintableAscii: boolean;

optional um bei Schlüsselmanagement den Schlüsselring zu spezifizieren


function getScreenonly:boolean ;


function getseckeyring:string;

file mit verschlüsseltem Text


function getSHOWPASS:boolean;


function gettextfile :string;


function gettextmode:boolean;


function getTmp:string;


function getTZFIX:integer;


function getVERBOSE:messagedetail;


function getWipeout:boolean;


function getyour_userid:string;


procedure nolinefeed (var Astringlist:Tstrings; afilename:string);


function searchlist (searchparameter:string):string;

exchange


procedure setarmor (yes:Boolean);


procedure setArmorlines (Howmanylines:integer);


procedure setBAKRING (ABakring:string);


procedure setCERT_DEPTH (ADepth:integer);


procedure setCLEARSIG (yes:Boolean);


procedure setCOMPLETES_NEEDED (Cplneeded:integer);


procedure setCompress (yes:boolean);


procedure setFactive ( yes :Boolean);


procedure sether_userid (AnuserId:string);


procedure setINTERACTIVE (yes:boolean);


procedure setkeyfile (Akeyfile:string);


procedure setkpbinary (yes:boolean);


procedure setlanguage (ALanguage:PGPLanguage);


procedure setMARGINALS_NEEDED (Mrgneede:integer);


procedure setmyname (AName:string);


procedure setNotBin (Yes :boolean);


procedure setpassword (THePassword:string);


procedure setPciphertextfile (ACipertextfile:string);


procedure setpgpcharset (ACharset:pgpcharset);


procedure setPGPPath (APath:string);


procedure SetPGP_Action (Onaction:PGPaction);


procedure setPlainTextFilename (Yes:boolean);


procedure setPpubkeyring (APubKeyring:string);


procedure SetPrintableAscii (Yes:boolean);


procedure setScreenonly (Yes:boolean);


procedure setseckeyring (Aseckeyring:string);


procedure setSHOWPASS (yes :boolean);


procedure settextfile (ATextfile:string);


procedure settextmode (yes:boolean);


procedure setTMP (Tempath:string);


procedure setTZFIX (AFix:Integer);


procedure setVERBOSE (ADetail:Messagedetail);


procedure setWipeout (Yes:boolean);


procedure setyour_userid (VYouruserid:string);


function Winexejn( pszPath, {pathname of program to execute} pszParams, {command line parameters} pszCWD:Pchar; { working directory} fiCmdShow:word {window state} ):integer;

redisplay hourglass


Properties


property Action : PgPAction


property ARMOR : boolean

- Specifies Local Character Set for Text Files ------------------------------------------------------ Default setting: CHARSET = NOCONV Because PGP must process messages in many non-English languages with non-ASCII character sets, you may have a need to tell PGP what local character set your machine uses. This determines what character conversions are performed when converting plaintext files to and from canonical text format. This is only a concern if you are in a non-English non-ASCII environment. The configuration parameter CHARSET selects the local character set. The choices are NOCONV (no conversion), LATIN1 (ISO 8859-1 Latin Alphabet 1), KOI8 (used by most Russian Unix systems), ALT_CODES (used by Russian MSDOS systems), ASCII, and CP850 (used by most western European languages on standard MSDOS PCs). LATIN1 is the internal representation used by PGP for canonical text, so if you select LATIN1, no conversion is done. Note also that PGP treats KOI8 as LATIN1, even though it is a completely different character set (Russian), because trying to convert KOI8 to either LATIN1 or CP850 would be futile anyway. This means that setting CHARSET to NOCONV, LATIN1, or KOI8 are all equivalent to PGP. If you use MSDOS and expect to send or receive traffic in western European languages, set CHARSET = "CP850". This will make PGP convert incoming canonical text messages from LATIN1 to CP850 after decryption. If you use the -t (textmode) option to convert to canonical text, PGP will convert your CP850 text to LATIN1 before encrypting it. For further details, see the section "Sending ASCII Text Files Across Different Machine Environments".


property ARMORLINES : integer

- Enable ASCII Armor Output --------------------------------- Default setting: ARMOR = off The configuration parameter ARMOR is equivalent to the -a command line option. If enabled, it causes PGP to emit ciphertext or keys in ASCII Radix-64 format suitable for transporting through E-mail channels. Output files are named with the ".asc" extension. If you intend to use PGP primarily for E-mail purposes, you should turn ARMOR=ON. For further details, see the section "Sending Ciphertext Through E-mail Channels: Radix-64 Format" in the Essential Topics volume.


property BAKRING : string

- How Deep May Introducers Be Nested ----------------------------------------------- Default setting: CERT_DEPTH = 4 The configuration parameter CERT_DEPTH specifies how many levels deep you may nest introducers to certify other introducers to certify public keys on your public key ring. For example, If CERT_DEPTH is set to 1, there may only be one layer of introducers below your own ultimately-trusted key. If that were the case, you would be required to directly certify the public keys of all trusted introducers on your key ring. If you set CERT_DEPTH to 0, you could have no introducers at all, and you would have to directly certify each and every key on your public key ring in order to use it. The minimum CERT_DEPTH is 0, the maximum is 8. For further details, see the section "How Does PGP Keep Track of Which Keys are Valid?" in the Essential Topics volume.


property CERT_DEPTH : integer

- Number of Marginally Trusted Introducers Needed ------------------------------------------------------------------ Default setting: MARGINALS_NEEDED = 2 The configuration parameter MARGINALS_NEEDED specifies the minimum number of marginally trusted introducers required to fully certify a public key on your public key ring. This gives you a way of tuning PGP's skepticism. For further details, see the section "How Does PGP Keep Track of Which Keys are Valid?" in the Essential Topics volume.


property CHARSET : pgpcharset

- Assuming Plaintext is a Text File -------------------------------------------- Default setting: TEXTMODE = off The configuration parameter TEXTMODE is equivalent to the -t command line option. If enabled, it causes PGP to assume the plaintext is a text file, not a binary file, and converts it to "canonical text" before encrypting it. Canonical text has a carriage return and a linefeed at the end of each line of text. This mode will be automatically turned off if PGP detects that the plaintext file contains what it thinks is non-text binary data. If you intend to use PGP primarily for E-mail purposes, you should turn TEXTMODE=ON. For VAX/VMS systems, the current version of PGP defaults TEXTMODE=ON. For further details, see the section "Sending ASCII Text Files Across Different Machine Environments".


property CLEARSIG : boolean

- Timezone Adjustment --------------------------- Default setting: TZFIX = 0 PGP provides timestamps for keys and signature certificates in Greenwich Mean Time (GMT), or Coordinated Universal Time (UTC), which means the same thing for our purposes. When PGP asks the system for the time of day, the system is supposed to provide it in GMT. But sometimes, because of improperly configured MSDOS systems, the system time is returned in US Pacific Standard Time time plus 8 hours. Sounds weird, doesn't it? Perhaps because of some sort of US west-coast jingoism, MSDOS presumes local time is US Pacific time, and pre-corrects Pacific time to GMT. This adversely affects the behavior of the internal MSDOS GMT time function that PGP calls. However, if your MSDOS environmental variable TZ is already properly defined for your timezone, this corrects the misconception MSDOS has that the whole world lives on the US west coast. The configuration parameter TZFIX specifies the number of hours to add to the system time function to get GMT, for GMT timestamps on keys and signatures. If the MSDOS environmental variable TZ is defined properly, you can leave TZFIX=0. Unix systems usually shouldn't need to worry about setting TZFIX at all. But if you are using some other obscure operating system that doesn't know about GMT, you may have to use TZFIX to adjust the system time to GMT. On MSDOS systems that do not have TZ defined in the environment, you should make TZFIX=0 for California, -1 for Colorado, -2 for Chicago, -3 for New York, -8 for London, -9 for Amsterdam. In the summer, TZFIX should be manually decremented from these values. What a mess. It would be much cleaner to set your MSDOS environmental variable TZ in your AUTOEXEC.BAT file, and not use the TZFIX correction. Then MSDOS gives you good GMT timestamps, and will handle daylight savings time adjustments for you. Here are some sample lines to insert into AUTOEXEC.BAT, depending on your time zone: For Los Angeles: SET TZ=PST8PDT For Denver: SET TZ=MST7MDT For Arizona: SET TZ=MST7 (Arizona never uses daylight savings time) For Chicago: SET TZ=CST6CDT For New York: SET TZ=EST5EDT For London: SET TZ=GMT0BST For Amsterdam: SET TZ=MET-1DST For Moscow: SET TZ=MSK-3MSD For Aukland: SET TZ=NZT-13


property COMPLETES_NEEDED : integer

- Enable Compression ----------------------------- Default setting: COMPRESS = on The configuration parameter COMPRESS enables or disables data compression before encryption. It is used mainly for debugging PGP. Normally, PGP attempts to compress the plaintext before it encrypts it. Generally, you should leave this alone and let PGP attempt to compress the plaintext.


property COMPRESS : boolean

- Keep Binary Ciphertext Files After Decrypting ---------------------------------------------------------- Default setting: KEEPBINARY = off When PGP reads a ".asc" file, it recognizes that the file is in radix-64 format and will convert it back to binary before processing as it normally does, producing as a by-product a ".pgp" ciphertext file in binary form. After further processing to decrypt the ".pgp" file, the final output file will be in normal plaintext form. You may want to delete the binary ".pgp" intermediate file, or you may want PGP to delete it for you automatically. You can still rerun PGP on the original ".asc" file. The configuration parameter KEEPBINARY enables or disables keeping the intermediate ".pgp" file during decryption. For further details, see the section "Sending Ciphertext Through E-mail Channels: Radix-64 Format" in the Essential Topics volume.


property INTERACTIVE : boolean

- Quiet, Normal, or Verbose Messages -------------------------------------------- Default setting: VERBOSE = 1 VERBOSE may be set to 0, 1, or 2, depending on how much detail you want to see from PGP diagnostic messages. The settings are: 0 - Display messages only if there is a problem. Unix fans wanted this "quiet mode" setting. 1 - Normal default setting. Displays a reasonable amount of detail in diagnostic or advisory messages. 2 - Displays maximum information, usually to help diagnose problems in PGP. Not recommended for normal use. Besides, PGP doesn't have any problems, right?


property KEEPBINARY : boolean

- Size of ASCII Armor Multipart Files ------------------------------------------------ Default setting: ARMORLINES = 720 When PGP creates a very large ".asc" radix-64 file for sending ciphertext or keys through the E-mail, it breaks the file up into separate chunks small enough to send through Internet mail utilities. Normally, Internet mailers prohibit files larger than about 50000 bytes, which means that if we restrict the number of lines to about 720, we'll be well within the limit. The file chunks are named with suffixes ".as1", ".as2", ".as3", ... The configuration parameter ARMORLINES specifies the maximum number of lines to make each chunk in a multipart ".asc" file sequence. If you set it to zero, PGP will not break up the file into chunks. Fidonet E-mail files usually have an upper limit of about 32K bytes, so 450 lines would be appropriate for Fidonet environments. For further details, see the section "Sending Ciphertext Through E-mail Channels: Radix-64 Format" in the Essential Topics volume.


property LANGUAGE : pgplanguage

- Directory Pathname for Temporary Files -------------------------------------------- Default setting: TMP = "" The configuration parameter TMP specifies what directory to use for PGP's temporary scratch files. The best place to put them is on a RAM disk, if you have one. That speeds things up quite a bit, and increases security somewhat. If TMP is undefined, the temporary files go in the current directory. If the shell environmental variable TMP is defined, PGP instead uses that to specify where the temporary files should go.


property MARGINALS_NEEDED : integer

- Number of Completely Trusted Introducers Needed ------------------------------------------------------------------ Default setting: COMPLETES_NEEDED = 1 The configuration parameter COMPLETES_NEEDED specifies the minimum number of completely trusted introducers required to fully certify a public key on your public key ring. This gives you a way of tuning PGP's skepticism. For further details, see the section "How Does PGP Keep Track of Which Keys are Valid?" in the Essential Topics volume.


property MYNAME : string

- Foreign Language Selector ------------------------------------ Default setting: LANGUAGE = "en" PGP displays various prompts, warning messages, and advisories to the user on the screen. For example, messages such as "File not found.", or "Please enter your pass phrase:". These messages are normally in English. But it is possible to get PGP to display its messages to the user in other languages, without having to modify the PGP executable program. A number of people in various countries have translated all of PGP's display messages, warnings, and prompts into their native languages. These hundreds of translated message strings have been placed in a special text file called "language.txt", distributed with the PGP release. The messages are stored in this file in English, Spanish, Dutch, German, French, Italian, Russian, Latvian, and Lithuanian. Other languages may be added later. The configuration parameter LANGUAGE specifies what language to display these messages in. LANGUAGE may be set to "en" for English, "es" for Spanish, "de" for German, "nl" for Dutch, "fr" for French, "it" for Italian, "ru" for Russian, "lt3" for Lithuanian, "lv" for Latvian, "esp" for Esperanto. For example, if this line appeared in the configuration file: LANGUAGE = "fr" PGP would select French as the language for its display messages. The default setting is English. When PGP needs to display a message to the user, it looks in the "language.txt" file for the equivalent message string in the selected foreign language and displays that translated message to the user. If PGP can't find the language string file, or if the selected language is not in the file, or if that one phrase is not translated into the selected language in the file, or if that phrase is missing entirely from the file, PGP displays the message in English. To conserve disk space, most foreign translations are not included in the standard PGP release package, but are available separately.


property PActive : boolean

true if IO to/fro pgp shall be redirected


property Password : string

true if actions are to be executed


property Pciphertextfile : string

own userid


property PFilter : boolean

switch for testing purposes


property Pher_userid : string

plaintext-file to encrypt or just decrypted


property Pher_useridList : TstringList

userid in the public keyring


property PInput : TStrings


property Pkeyfile : string

file with encrypted text


property PNotBin : Boolean

To specify that a plaintext file contains ASCII text, not binary, and should be converted to recipient's local text line conventions, add the -t (text) option to other options: pgp -seat message.txt her_userid


property PPGPPath : string

enter passwor here,or give it in the Pinput, as PGP will not accept a password from the commandline in some cases


property PPrintableAscii : boolean

to specify a difererentkeyring


property Ppubkeyring : string


property PRecoverPlainTextFilename : boolean

To recover the original plaintext filename while decrypting, add the -p option: pgp -p ciphertextfile


property PScreenonly : boolean

To view the decrypted plaintext output on your screen (like the Unix-style "more" command), without writing it to a file, use the -m (more) option while decrypting: pgp -m ciphertextfile} {To specify that the recipient's decrypted plaintext will be shown ONLY on her screen and cannot be saved to disk, add the -m option: pgp -steam message.txt her_userid


property Pseckeyring : string

file for import/export of private or public keys


property Ptextfile : string

Path to pgp-program if the program is not found here you will get an exception immediately


property PWipeout : boolean

To wipe out the plaintext file after producing the ciphertext file, just add the -w (wipe) option when encrypting or signing a message: pgp -sew message.txt her_userid


property Pyour_userid : string

List of userid if you have a number of recipients


property SHOWPASS : boolean

- Filename for Backup Secret Keyring -------------------------------------------- Default setting: BAKRING = "" All of the key certification that PGP does on your public key ring ultimately depends on your own ultimately-trusted public key (or keys). To detect any tampering of your public key ring, PGP must check that your own key has not been tampered with. To do this, PGP must compare your public key against a backup copy of your secret key on some tamper-resistant media, such as a write-protected floppy disk. A secret key contains all the information that your public key has, plus some secret components. This means PGP can check your public key against a backup copy of your secret key. The configuration parameter BAKRING specifies what pathname to use for PGP's trusted backup copy of your secret key ring. On MSDOS, you could set it to "a:\secring.pgp" to point it at a write-protected backup copy of your secret key ring on your floppy drive. This check is performed only when you execute the PGP -kc option to check your whole public key ring. If BAKRING is not defined, PGP will not check your own key against any backup copy. For further details, see the sections "How to Protect Public Keys from Tampering" and "How Does PGP Keep Track of Which Keys are Valid?" in the Essential Topics volume. !!! the next parameters are not implemented, useless for my component!!! PUBRING - Filename for Your Public Keyring ------------------------------------------ Default setting: PUBRING = "$PGPPATH/pubring.pgp" You may want to keep your public keyring in a directory separate from your PGP configuration file in the directory specified by your $PGPPATH environmental variable. You may specify the full path and filename for your public keyring by setting the PUBRING parameter. For example, on an MSDOS system, you might want to keep your public keyring on a floppy disk by: PUBRING = "a:pubring.pgp" This feature is especially handy for specifying an alternative keyring on the command line. SECRING - Filename for Your Secret Keyring ------------------------------------------ Default setting: SECRING = "$PGPPATH/secring.pgp" You may want to keep your secret keyring in a directory separate from your PGP configuration file in the directory specified by your $PGPPATH environmental variable. This comes in handy for putting your secret keyring in a directory or device that is more protected than your public keyring. You may specify the full path and filename for your secret keyring by setting the SECRING parameter. For example, on an MSDOS system, you might want to keep your secret keyring on a floppy disk by: SECRING = "a:secring.pgp" RANDSEED - Filename for Random Number Seed ------------------------------------------ Default setting: RANDSEED = "$PGPPATH/randseed.bin" You may want to keep your random number seed file (for generation of session keys) in a directory separate from your PGP configuration file in the directory specified by your $PGPPATH environmental variable. This comes in handy for putting your random number seed file in a directory or device that is more protected than your public keyring. You may specify the full path and filename for your random seed file by setting the RANDSEED parameter. For example, on an MSDOS system, you might want to keep it on a floppy disk by: RANDSEED = "a:randseed.bin" PAGER - Selects Shell Command to Display Plaintext Output --------------------------------------------------------- Default setting: PAGER = "" PGP lets you view the decrypted plaintext output on your screen (like the Unix-style "more" command), without writing it to a file, if you use the -m (more) option while decrypting. This displays the decrypted plaintext display on your screen one screenful at a time. If you prefer to use a fancier page display utility, rather than PGP's built-in one, you can specify the name of a shell command that PGP will invoke to display your plaintext output file. The configuration parameter PAGER specifies the shell command to invoke to display the file. For example, on MSDOS systems, you might want to use the popular shareware program "list.com" to display your plaintext message. Assuming you have a copy of "list.com", you may set PAGER accordingly: PAGER = "list" However, if the sender specified that this file is for your eyes only, and may not be written to disk, PGP always uses its own built-in display function. For further details, see the section "Displaying Decrypted Plaintext on Your Screen".


property test : boolean

enter redirected input here


property TEXTMODE : boolean

- Default User ID for Making Signatures ---------------------------------------------- Default setting: MYNAME = "" The configuration parameter MYNAME specifies the default user ID to use to select the secret key for making signatures. If MYNAME is not defined, the most recent secret key you installed on your secret key ring will be used. The user may also override this setting by specifying a user ID on the PGP command line with the -u option.


property TMP : string

The following is a summary of the various parameters than may be defined in the configuration file.


property TZFIX : integer

- Echo Pass Phrase to User ----------------------------------- Default setting: SHOWPASS = off Normally, PGP does not let you see your pass phrase as you type it in. This makes it harder for someone to look over your shoulder while you type and learn your pass phrase. But some typing-impaired people have problems typing their pass phrase without seeing what they are typing, and they may be typing in the privacy of their own homes. So they asked if PGP can be configured to let them see what they type when they type in their pass phrase. The configuration parameter SHOWPASS enables PGP to echo your typing during pass phrase entry.


property VERBOSE : messagedetail

- Enable Signed Messages to be Encapsulated as Clear Text ------------------------------------------------------------------ Default setting: CLEARSIG = on Normally, unencrypted PGP signed messages have a signature certificate prepended in binary form. Also, the signed message is compressed, rendering the message unreadable to casual human eyes, even though the message is not actually encrypted. To send this binary data through a 7-bit E-mail channel, radix-64 ASCII armor is applied (see the ARMOR parameter). Even if PGP didn't compress the message, the ASCII armor would still render the message unreadable to human eyes. The recipient must use PGP to strip the armor off and decompress it before reading the message. If the original plaintext message is in text (not binary) form, there is a way to send a signed message through an E-mail channel in such a way that the signed message is not compressed and the ASCII armor is applied only to the binary signature certificate, but not to the plaintext message. The CLEARSIG flag provides this useful feature, making it possible to generate a signed message that can be read with human eyes, without the aid of PGP. Of course, you still need PGP to actually check the signature. The CLEARSIG flag is preset to "on" beginning with PGP version 2.5. To enable the full CLEARSIG behavior, the ARMOR and TEXTMODE flags must also be turned on. Set ARMOR=ON (or use the -a option), and set TEXTMODE=ON (or use the -t option). If your config file has CLEARSIG turned off, you can turn it back on again directly on the command line, like so: pgp -sta +clearsig=on message.txt This message representation is analogous to the MIC-CLEAR message type used in Internet Privacy Enhanced Mail (PEM). It is important to note that since this method only applies ASCII armor to the binary signature certificate, and not to the message text itself, there is some risk that the unarmored message may suffer some accidental molestation while en route. This can happen if it passes through some E-mail gateway that performs character set conversions, or in some cases extra spaces may be added to or stripped from the ends of lines. If this occurs, the signature will fail to verify, which may give a false indication of intentional tampering. But since PEM lives under a similar vulnerability, it seems worth having this feature despite the risks. Beginning with PGP version 2.2, trailing blanks are ignored on each line in calculating the signature for text in CLEARSIG mode.


property POutput : TStrings

Public-Deklarationen


Events


Variables


ciphertextfile : string500;

own userid


configChanged : boolean;


configlist : Tstrings;


FActive : Boolean;

Switch for Win95 (doesn't run on Win 95 anyway if Filter Property set


FFilter : boolean;


FInput : TStrings;

Files for redirected IO


FInputfile : string500;

specify filenames for pub and sec keyring if not default


FOutput : TStrings;


FOutputfile : string500;


FPassword : string500;

true if configlist was changed


FPGP_Action : PGPAction;


Ftest : boolean;

List of userid if your letter goes to severesal people


her_userid : string500;

plaintext-file for encryption, give full path if necessary


her_useridList : TStringList;

contain PGPs IO


keyfile : string500;

ciphertextfile, has to be in the pgp-path


NoPif : boolean;

Private-Deklarationen


NotBin : string1;

To specify that a plaintext file contains ASCII text, not binary, and should be converted to recipient's local text line conventions, add the -t (text) option to other options: pgp -seat message.txt her_userid


PGPPath : String500;


PGPPIFCLOSEVAR : String500;


PGPPIFVAR : String500;


PGPVAR : String500;


PlainTextFilename : string1;

To recover the original plaintext filename while decrypting, add the -p option: pgp -p ciphertextfile


PrintableAscii : string1;

switch for testing purposes} {and this is Phil Zimmerman's manual itself --- Command options that can be used in combination with other command options (sometimes even spelling interesting words!): To produce a ciphertext file in ASCII radix-64 format, just add the -a option when encrypting or signing a message or extracting a key: pgp -sea textfile her_userid or: pgp -kxa userid keyfile [keyring]


pubkeyring : string500;


Screenonly : string1;

To view the decrypted plaintext output on your screen (like the Unix-style "more" command), without writing it to a file, use the -m (more) option while decrypting: pgp -m ciphertextfile} {To specify that the recipient's decrypted plaintext will be shown ONLY on her screen and cannot be saved to disk, add the -m option: pgp -steam message.txt her_userid


seckeyring : string500;

file for I/O of keys


Textfile : string500;

Password for secret key


Wipeout : string1;

contains 'a', if property E_Mail_Channel is set to true} {To wipe out the plaintext file after producing the ciphertext file, just add the -w (wipe) option when encrypting or signing a message: pgp -sew message.txt her_userid


your_userid : string500;

recipients userid