X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=crypt_backend.h;h=b0998d8513f35303243ccd632abc3c0aa46f6377;hp=8ff6919418335f4db0b965aadea51d1ba6561d1e;hb=09dbc597fa9661f8dfd96684430531fe6575d26c;hpb=3a6b996d8b39fdc067df352d1eee757ef2a8f49b diff --git a/crypt_backend.h b/crypt_backend.h index 8ff69194..b0998d85 100644 --- a/crypt_backend.h +++ b/crypt_backend.h @@ -1,8 +1,4 @@ -/* - * Copyright (C) 2011-2014 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. */ @@ -11,9 +7,13 @@ /** AES block size in bytes. */ #define AES_CRT128_BLOCK_SIZE 16 -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); +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);