Annotation of src/usr.bin/ssh/authfile.h, Revision 1.3
1.3 ! deraadt 1: /*
! 2: * Copyright (c) 2000 Markus Friedl. All rights reserved.
! 3: *
! 4: * Redistribution and use in source and binary forms, with or without
! 5: * modification, are permitted provided that the following conditions
! 6: * are met:
! 7: * 1. Redistributions of source code must retain the above copyright
! 8: * notice, this list of conditions and the following disclaimer.
! 9: * 2. Redistributions in binary form must reproduce the above copyright
! 10: * notice, this list of conditions and the following disclaimer in the
! 11: * documentation and/or other materials provided with the distribution.
! 12: *
! 13: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
! 14: * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
! 15: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
! 16: * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
! 17: * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
! 18: * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
! 19: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
! 20: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
! 21: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
! 22: * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
! 23: */
1.1 markus 24: #ifndef AUTHFILE_H
25: #define AUTHFILE_H
26:
27: /*
28: * Saves the authentication (private) key in a file, encrypting it with
29: * passphrase.
30: * For RSA keys: The identification of the file (lowest 64 bits of n)
31: * will precede the key to provide identification of the key without
32: * needing a passphrase.
33: */
34: int
35: save_private_key(const char *filename, const char *passphrase,
36: Key * private_key, const char *comment);
37:
38: /*
39: * Loads the public part of the key file (public key and comment). Returns 0
40: * if an error occurred; zero if the public key was successfully read. The
41: * comment of the key is returned in comment_return if it is non-NULL; the
42: * caller must free the value with xfree.
43: */
1.2 markus 44: int load_public_key(const char *filename, Key * pub, char **comment_return);
45: int try_load_public_key(const char *filename, Key * pub, char **comment_return);
1.1 markus 46:
47: /*
48: * Loads the private key from the file. Returns 0 if an error is encountered
49: * (file does not exist or is not readable, or passphrase is bad). This
50: * initializes the private key. The comment of the key is returned in
51: * comment_return if it is non-NULL; the caller must free the value with
52: * xfree.
53: */
54: int
55: load_private_key(const char *filename, const char *passphrase,
56: Key * private_key, char **comment_return);
57:
58: #endif