X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=crypt_backend.h;h=f9a69d9490057382126e4efe04a15bfda9025419;hp=040a719bbc4c41fc92855da2b57ffcdae9712ab8;hb=refs%2Fheads%2Fmaint;hpb=4d9d588c5df359c3c5f279fbfd4ea51d3a2afc87 diff --git a/crypt_backend.h b/crypt_backend.h index 040a719b..b0998d85 100644 --- a/crypt_backend.h +++ b/crypt_backend.h @@ -1,19 +1,19 @@ -/* - * 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. */ -/* This should only be incuded from files which provide crypto functions. */ +/* This should only be included from files which provide crypto functions. */ /** 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);