<> <> <> DIRECTORY BigCardinals USING[BigCARD], Rope USING[ROPE]; EncryptionKeys: CEDAR DEFINITIONS = BEGIN KeyFail: ERROR [subclass: ATOM _ $Unspecified]; <> CreateKey: PROC[]; <> <> << /indigo/cryptography/UserName.PublicKey, where UserName is the login name without the>> << .pa or similar extension. Raises KeyFail if it 1) cannot open a local file named>> << ///Keys/UserName.PrivateKey, or 2) cannot open a local file named ///Temp/UserName.PublicKey, or 3) cannot copy ///Temp/UserName.Publickey to /indigo/cryptography/UserName.PublicKey, with subclass $CannotOpenPrivate, $CannotOpenPublic, or $CannotCopy, respectively.>> GetPrivateKey: PROC[] RETURNS[PrivateKey: BigCardinals.BigCARD]; --retrieves the user's private key from ///Keys/UserName.PrivateKey. Raises KeyFail with subclass --$CannotOpenPrivate if there's a problem. GetPublicKey: PROC[sender: Rope.ROPE, authenticate: BOOLEAN _ FALSE] RETURNS[PublicKey: BigCardinals.BigCARD]; --retrieves the user's public key from ///Indigo/Cryptography/UserName.PublicKey. Raises KeyFail --with subclass $PublicKeyNotFound if there's a problem. ToLowerCase: PROC[in: Rope.ROPE] RETURNS[out: Rope.ROPE]; END.