AuthenticationP14V2.Mesa
Copyright (C) 1986 by Xerox Corporation. All rights reserved.
Generated by demers.pa at October 7, 1986 9:23:29 am PDT
using Sirocco [1.0] of September 25, 1986 3:44:23 am PDT
DIRECTORY
CrRPC,
TimeP15V2,
CHNameP2V0,
Rope;
AuthenticationP14V2: CEDAR DEFINITIONS ~ {
ROPE: TYPE ~ Rope.ROPE;
SimpleVerifier: TYPE ~ CARDINAL;
ChangeSimpleKey: PROC [h: CrRPC.Handle, credentials: Credentials, verifier: SeqWords, newKey: CARDINAL];
Problem: TYPE ~ MACHINE DEPENDENT {
credentialsInvalid(0),
verifierInvalid(1),
verifierExpired(2),
verifierReused(3),
credentialsExpired(4),
inappropriateCredentials(5)
};
CreateStrongKey: PROC [h: CrRPC.Handle, credentials: Credentials, verifier: SeqWords, name: CHNameP2V0.ThreePartName, key: Block];
AuthenticationError: ERROR [problem: Problem];
SimpleCredentials: TYPE ~ RECORD [
organization: ROPE,
domain: ROPE,
object: ROPE
];
StrongVerifier: TYPE ~ RECORD [
timeStamp: CARD,
ticks: CARD
];
SeqWords: TYPE ~ REF SeqWordsObject;
SeqWordsObject: TYPE ~ MACHINE DEPENDENT RECORD [
body: PACKED SEQUENCE length: CARDINAL OF CARDINAL
];
Credentials: TYPE ~ RECORD [
type: CredentialsType,
value: SeqWords
];
DeleteSimpleKey: PROC [h: CrRPC.Handle, credentials: Credentials, verifier: SeqWords, name: CHNameP2V0.ThreePartName];
GetStrongCredentials: PROC [h: CrRPC.Handle, initiator: CHNameP2V0.ThreePartName, recipient: CHNameP2V0.ThreePartName, nonce: CARD] RETURNS [encryptedCredentialsPackage: SeqWords];
Which: TYPE ~ MACHINE DEPENDENT {
notApplicable(0),
initiator(1),
recipient(2),
client(3)
};
CredentialsPackage: TYPE ~ RECORD [
credentials: Credentials,
nonce: CARD,
recipient: CHNameP2V0.ThreePartName,
conversationKey: Block
];
Verifier: TYPE ~ SeqWords;
Key: TYPE ~ Block;
CheckSimpleCredentials: PROC [h: CrRPC.Handle, credentials: Credentials, verifier: SeqWords] RETURNS [ok: BOOLEAN];
ChangeStrongKey: PROC [h: CrRPC.Handle, credentials: Credentials, verifier: SeqWords, newKey: Block];
StrongCredentials: TYPE ~ RECORD [
conversationKey: Block,
expirationTime: CARD,
initiator: CHNameP2V0.ThreePartName
];
Block: TYPE ~ ARRAY [0..4) OF CARDINAL;
DeleteStrongKey: PROC [h: CrRPC.Handle, credentials: Credentials, verifier: SeqWords, name: CHNameP2V0.ThreePartName];
CallError: ERROR [problem: CallProblem, whichArg: Which];
HashedPassword: TYPE ~ CARDINAL;
CredentialsType: TYPE ~ MACHINE DEPENDENT {
simple(0),
strong(1)
};
CreateSimpleKey: PROC [h: CrRPC.Handle, credentials: Credentials, verifier: SeqWords, name: CHNameP2V0.ThreePartName, key: CARDINAL];
CallProblem: TYPE ~ MACHINE DEPENDENT {
tooBusy(0),
accessRightsInsufficient(1),
keysUnavailable(2),
strongKeyDoesNotExist(3),
simpleKeyDoesNotExist(4),
strongKeyAlreadyRegistered(5),
simpleKeyAlreadyRegistered(6),
domainForNewKeyUnavailable(7),
domainForNewKeyUnknown(8),
badKey(9),
badName(10),
databaseFull(11),
other(12)
};
}...