1 /* 2 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * All rights reserved 5 * Functions to interface with the SSH_AUTHENTICATION_FD socket. 6 * 7 * As far as I am concerned, the code I have written for this software 8 * can be used freely for any purpose. Any derived versions of this 9 * software must be clearly marked as such, and if the derived work is 10 * incompatible with the protocol description in the RFC file, it must be 11 * called by a name other than "ssh" or "Secure Shell". 12 */ 13 #ifndef AUTHFILE_H 14 #define AUTHFILE_H 15 16 /* 17 * Saves the authentication (private) key in a file, encrypting it with 18 * passphrase. 19 * For RSA keys: The identification of the file (lowest 64 bits of n) 20 * will precede the key to provide identification of the key without 21 * needing a passphrase. 22 */ 23 int 24 save_private_key(const char *filename, const char *passphrase, 25 Key * private_key, const char *comment); 26 27 /* 28 * Loads the public part of the key file (public key and comment). Returns 0 29 * if an error occurred; zero if the public key was successfully read. The 30 * comment of the key is returned in comment_return if it is non-NULL; the 31 * caller must free the value with xfree. 32 */ 33 int load_public_key(const char *filename, Key * pub, char **comment_return); 34 int try_load_public_key(const char *filename, Key * pub, char **comment_return); 35 36 /* 37 * Loads the private key from the file. Returns 0 if an error is encountered 38 * (file does not exist or is not readable, or passphrase is bad). This 39 * initializes the private key. The comment of the key is returned in 40 * comment_return if it is non-NULL; the caller must free the value with 41 * xfree. 42 */ 43 int 44 load_private_key(const char *filename, const char *passphrase, 45 Key * private_key, char **comment_return); 46 47 #endif 48