| SKEY(3) | Library Functions Manual | SKEY(3) |
skey,
skeychallenge, skeylookup,
skeygetnext, skeyverify,
skeyzero, getskeyprompt,
skey_set_algorithm,
skey_get_algorithm,
skey_haskey, skey_keyinfo,
skey_passcheck,
skey_authenticate — one-time
password (OTP) library
S/key One-Time Password Library (libskey, -lskey)
#include
<skey.h>
int
skeychallenge(struct
skey *mp, const char
*name, char *ss,
size_t sslen);
int
skeylookup(struct
skey *mp, const char
*name);
int
skeygetnext(struct
skey *mp);
int
skeyverify(struct
skey *mp, char
*response);
int
skeyzero(struct
skey *mp, char
*response);
int
getskeyprompt(struct
skey *mp, char
*name, char
*prompt);
const char *
skey_set_algorithm(const
char *new);
const char *
skey_get_algorithm(void);
int
skey_haskey(const
char *username);
const char *
skey_keyinfo(const
char *username);
int
skey_passcheck(const
char *username, char
*passwd);
int
skey_authenticate(const
char *username);
void
f(char
*x);
int
keycrunch(char
*result, const char
*seed, const char
*passwd);
void
rip(char
*buf);
char *
readpass(char
*buf, int n);
char *
readskey(char
*buf, int n);
int
atob8(char
*out, const char
*in);
int
btoa8(char
*out, const char
*in);
int
htoi(int
c);
const char *
skipspace(const
char *cp);
void
backspace(char
*buf);
void
sevenbit(char
*buf);
char *
btoe(char
*engout, const char
*c);
int
etob(char
*out, const char
*e);
char *
put8(char
*out, const char
*s);
The skey library provides routines for
accessing NetBSD's one-time password (OTP)
authentication system.
Most S/Key operations take a pointer to a struct skey, which should be considered as an opaque identifier.
The following high-level functions are available:
skeychallenge(mp,
name, ss,
sslen)skeylookup(mp,
name)skeygetnext(mp)skeyverify(mp,
response)skeyzero(mp,
response)getskeyprompt(mp,
name, prompt)The following lower-level functions are available:
skey_set_algorithm(new)skey_get_algorithm(void)skey_haskey(username)skey_keyinfo(username)skey_passcheck(username,
passwd)skey_authenticate(username)The following miscellaneous functions are available:
f(x)keycrunch(char
*result, const char *seed, const
char *passwd)rip(buf)readpass(buf,
n)readskey(buf,
n)atob8(out,
in)btoa8(out,
in)htoi(int
c)skipspace(cp)backspace(buf)sevenbit(buf)btoe(engout,
c)etob(out,
e)put8(out,
s)The skey library functions are not
re-entrant or thread-safe.
The skey library defines many poorly named
functions which pollute the name space.
| November 10, 2001 | NetBSD 11.0 |