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;
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,