openssl: Add support for RFC4716 keys
[paraslash.git] / crypt_backend.h
index 175a6881c3d6567137513043055f548700c6ab65..b0998d8513f35303243ccd632abc3c0aa46f6377 100644 (file)
@@ -7,6 +7,13 @@
 /** AES block size in bytes. */
 #define AES_CRT128_BLOCK_SIZE 16
 
-int decode_ssh_key(const char *filename, unsigned char **blob,
+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);