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 b5bb7d553ac23e1ceb09198de7c21a0db071a856..b779194ad67ede9c6bc54e82cf6ded4015151c3d 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 9ba8b2032b2cc9476b2da36b32e613c928b71ee0..2fc7e3d6658744b2f7045cf8532268f400353062 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,