Use hardening option to add only hardening flags
[tinc] / src / gcrypt / rsa.h
index 2ea5e65..14f0381 100644 (file)
@@ -3,7 +3,7 @@
 
 /*
     rsa.h -- RSA key handling
-    Copyright (C) 2007 Guus Sliepen <guus@tinc-vpn.org>
+    Copyright (C) 2007-2022 Guus Sliepen <guus@tinc-vpn.org>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
 
 #include <gcrypt.h>
 
+#include "../rsa.h"
+#include "../xalloc.h"
+
+#define TINC_RSA_INTERNAL
 typedef struct rsa {
        gcry_mpi_t n;
        gcry_mpi_t e;
        gcry_mpi_t d;
 } rsa_t;
 
-extern bool rsa_set_hex_public_key(rsa_t *rsa, char *n, char *e);
-extern bool rsa_set_hex_private_key(rsa_t *rsa, char *n, char *e, char *d);
-extern bool rsa_read_pem_public_key(rsa_t *rsa, FILE *fp);
-extern bool rsa_read_pem_private_key(rsa_t *rsa, FILE *fp);
-extern size_t rsa_size(rsa_t *rsa);
-extern bool rsa_public_encrypt(rsa_t *rsa, void *in, size_t len, void *out);
-extern bool rsa_private_decrypt(rsa_t *rsa, void *in, size_t len, void *out);
+extern rsa_t *rsa_new(void) ATTR_MALLOC ATTR_DEALLOCATOR(rsa_free);
 
 #endif