X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=crypt_backend.h;h=b0998d8513f35303243ccd632abc3c0aa46f6377;hp=fccdd2efbda6da1f8dac7a3a4731885e4e8f7290;hb=HEAD;hpb=40b1bbc50682effec5cf18b0923cfab24e154245 diff --git a/crypt_backend.h b/crypt_backend.h index fccdd2ef..b0998d85 100644 --- a/crypt_backend.h +++ b/crypt_backend.h @@ -1,8 +1,4 @@ -/* - * Copyright (C) 2011 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,7 +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 check_ssh_key_header(const unsigned char *blob, int blen); +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);