YACA: Simple key import/export wrappers for auto types 89/75589/4
authorLukasz Pawelczyk <l.pawelczyk@samsung.com>
Mon, 20 Jun 2016 13:25:28 +0000 (15:25 +0200)
committerKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Thu, 23 Jun 2016 10:06:50 +0000 (03:06 -0700)
Change-Id: I4364d24c5b10bc195803918aeec198e117cb2788

src/yaca/yaca-test-common.cpp
src/yaca/yaca-test-common.h

index b5bb7d5..b779194 100644 (file)
@@ -99,6 +99,32 @@ KeyPtr extract_public_key(const KeyPtr& key_priv)
     return wrap_ptr(key_pub);
 }
 
+BufPtr export_key(const KeyPtr &key,
+                  yaca_key_format_e key_fmt,
+                  yaca_key_file_format_e key_file_fmt,
+                  const char *password,
+                  size_t *data_len)
+{
+    char *data;
+
+    YACA_SUCCESS(yaca_key_export(key.get(), key_fmt, key_file_fmt,
+                                 password, &data, data_len));
+
+    return wrap_ptr(data);
+}
+
+KeyPtr import_key(yaca_key_type_e key_type,
+                  const char *password,
+                  const char *data,
+                  size_t data_len)
+{
+    yaca_key_h key;
+
+    YACA_SUCCESS(yaca_key_import(key_type, password, data, data_len, &key));
+
+    return wrap_ptr(key);
+}
+
 size_t get_output_length(const CtxPtr &ctx, size_t input_len)
 {
     size_t output_len;
index 9ba8b20..2fc7e3d 100644 (file)
@@ -124,6 +124,17 @@ KeyPtr generate_key(yaca_key_type_e type, size_t bit_len);
 
 KeyPtr extract_public_key(const KeyPtr &key_priv);
 
+BufPtr export_key(const KeyPtr &key,
+                  yaca_key_format_e key_fmt,
+                  yaca_key_file_format_e key_file_fmt,
+                  const char *password,
+                  size_t *data_len);
+
+KeyPtr import_key(yaca_key_type_e key_type,
+                  const char *password,
+                  const char *data,
+                  size_t data_len);
+
 size_t get_output_length(const CtxPtr &ctx, size_t input_len = 0);
 
 CtxPtr seal_init(const KeyPtr &key_pub,