Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (2) — Plan9 3rd Edition (Vita Nuova)

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getauthinfo(8)

keyring-auth(2)

login(6)

createsignerkey(8)

logind(8)

SECURITY-LOGIN(2)

NAME

login − verify credentials

SYNOPSIS

include "security.m";
login := load Login Login->PATH;
 login: fn(name, password, addr: string):
(string, ref Keyring->Authinfo);

DESCRIPTION

The Login module is provided for use by a client of a certifying authority (CA) or ‘signer’.  The ­login function communicates with a certifying authority (CA) in order to create a ­Keyring->Authinfo adt (see keyring-intro(2)). It assumes a secret, i.e. a password, has already been established between the user and the CA. See changelogin(8) and password(6) for how this password is managed at the CA.

­Login connects, using sys-dial(2), to the signer at network address addr, which is any form accepted by cs(8), including the special address $SIGNER, which cs will translate to the client’s default signer (if there is one).  Normally the incoming call will be given to logind(8) by srv(8).

­Login sends the user ­name and password, using the protocol described in login(6), to justify the server’s issuing a certificate, which is returned in a ­Keyring->Authinfo adt on success.  The certificate can if desired be stored by Keyring->writeauthinfo; see keyring-auth(2). The password is used by the encrypted key exchange protocol to establish a secure channel between user and CA.

SOURCE

­/appl/lib/login.b

SEE ALSO

getauthinfo(8), keyring-auth(2), login(6), createsignerkey(8), logind(8)

DIAGNOSTICS

­Login returns nil in the string component on success and a diagnostic string on error (with a nil ­Keyring->Authinfo reference). 

Plan 9  —  June 29, 2000

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026