Authentication2.cr
Copyright © 1986 by Xerox Corporation. All rights reserved.
Bill Jackson (bj) August 8, 1986 7:23:43 pm PDT
Demers, January 5, 1987 7:54:22 pm PST
Primitive types
HashedPassword: TYPE = CARDINAL;
SimpleCredentials: TYPE = CHName.Name;
SimpleVerifier: TYPE = HashedPassword;
Enumerated types
CallProblem:
TYPE = {
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)
};
CredentialsType:
TYPE = {
simple(0),
strong(1)
};
Problem:
TYPE = {
credentialsInvalid(0),
verifierInvalid(1),
verifierExpired(2),
verifierReused(3),
credentialsExpired(4),
inappropriateCredentials(5)
};
Which:
TYPE = {
notApplicable(0),
initiator(1),
recipient(2),
client(3)
};
Remote Errors
AuthenticationError: ERROR [problem: Problem] = 2;
CallError: ERROR [problem: CallProblem, whichArg: Which] = 1;
Remote procedures
GetStrongCredentials:
PROCEDURE [initiator: CHName.Name, recipient: CHName.Name, nonce:
LONG
CARDINAL]
RETURNS [encryptedCredentialsPackage: SeqWords]
REPORTS [AuthenticationError, CallError] = 1;
CheckSimpleCredentials:
PROCEDURE [credentials: Credentials, verifier: Verifier]
RETURNS [ok: BOOLEAN]
REPORTS [AuthenticationError, CallError] = 2;
CreateStrongKey:
PROCEDURE [credentials: Credentials, verifier: Verifier, name: CHName.Name, key: Block]
REPORTS [AuthenticationError, CallError] = 3;
ChangeStrongKey:
PROCEDURE [credentials: Credentials, verifier: Verifier, newKey: Block]
REPORTS [AuthenticationError, CallError] = 4;
DeleteStrongKey:
PROCEDURE [credentials: Credentials, verifier: Verifier, name: CHName.Name]
REPORTS [AuthenticationError, CallError] = 5;
CreateSimpleKey:
PROCEDURE [credentials: Credentials, verifier: Verifier, name: CHName.Name, key: HashedPassword]
REPORTS [AuthenticationError, CallError] = 6;
ChangeSimpleKey:
PROCEDURE [credentials: Credentials, verifier: Verifier, newKey: HashedPassword]
REPORTS [AuthenticationError, CallError] = 7;
DeleteSimpleKey:
PROCEDURE [credentials: Credentials, verifier: Verifier, name: CHName.Name]
REPORTS [AuthenticationError, CallError] = 8;