From: Richard Levitte Date: Mon, 29 Sep 2008 15:30:41 +0000 (+0000) Subject: First draft of personalization functionality X-Git-Tag: yubikey-personalisation_1.3.5-1~4^2~209 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f847826e6c672ddad63bf3358df0d7d2ae5cf780;p=yubikey-personalization.old First draft of personalization functionality --- diff --git a/ykpers.h b/ykpers.h new file mode 100644 index 0000000..f98c108 --- /dev/null +++ b/ykpers.h @@ -0,0 +1,48 @@ +/* -*- mode:C; c-file-style: "bsd" -*- */ +/* + * Copyright (c) 2008, Yubico AB + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef __YKPERS_H_INCLUDED__ +#define __YKPERS_H_INCLUDED__ + +#include + +int ykp_AES_key_from_passphrase(CONFIG *cfg, const char *passphrase); +int ykp_random_AES_key(CONFIG *cfg); +int ykp_set_access_code(CONFIG *cfg, unsigned char *access_code); + +int ykp_write_config(CONFIG *cfg, + int (*writer)(const void *buf, size_t count, + void *userdata)); +int ykp_read_config(CONFIG *cfg, + int (*reader)(const void *buf, size_t count, + void *userdata)); + + +#endif // __YKPERS_H_INCLUDED__