X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=crypt_backend.h;h=b0998d8513f35303243ccd632abc3c0aa46f6377;hp=481a215fb24bc4257c1faebde329c07fa1d7ff1e;hb=HEAD;hpb=9c5fbc5dd8b53604d7e73fb6714ee2b5e3458866 diff --git a/crypt_backend.h b/crypt_backend.h index 481a215f..b0998d85 100644 --- a/crypt_backend.h +++ b/crypt_backend.h @@ -1,16 +1,19 @@ -/* - * Copyright (C) 2011-2013 Andre Noll - * - * Licensed under the GPL v2. For licencing details see COPYING. - */ +/* Copyright (C) 2011 Andre Noll , see file COPYING. */ /** \file crypt_backend.h Non-public crypto interface. */ -/* This should only be incuded from files which provide crypto functions. */ +/* This should only be included from files which provide crypto functions. */ -size_t is_ssh_rsa_key(char *data, size_t size); -uint32_t read_ssh_u32(const void *vp); -int uudecode(const char *src, unsigned char *target, size_t targsize); -int check_ssh_key_header(const unsigned char *blob, int blen); -int check_key_file(const char *file, bool private_key); -int base64_decode(char const *src, unsigned char *target, size_t targsize); +/** AES block size in bytes. */ +#define AES_CRT128_BLOCK_SIZE 16 + +int decode_public_key(const char *filename, unsigned char **blob, + size_t *decoded_size); +int decode_private_key(const char *key_file, unsigned char **result, + size_t *blob_size); +/** Legacy PEM keys (openssh-7.7 and earlier, paraslash.0.6.2 and earlier) */ +#define PKT_PEM (0) +/** OPENSSH keys (since openssh-7.8, paraslash.0.6.3) */ +#define PKT_OPENSSH (1) +int check_private_key_file(const char *file); +int find_openssh_bignum_offset(const unsigned char *data, int len);