YACA: key_format and key_file_format handlers for vector 51/77951/1
authorLukasz Pawelczyk <l.pawelczyk@samsung.com>
Thu, 30 Jun 2016 09:59:28 +0000 (11:59 +0200)
committerLukasz Pawelczyk <l.pawelczyk@samsung.com>
Thu, 30 Jun 2016 09:59:28 +0000 (11:59 +0200)
Change-Id: I550ed4e91a155520fb2e62ee00d4e2efb2f1cf1d

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

index 47b8124..da706ba 100644 (file)
@@ -53,6 +53,18 @@ Buffer hex2bin(const std::string &hex_str)
     return data;
 }
 
+std::map<std::string, yaca_key_format_e> str2keyformat = {
+        std::make_pair("DEFAULT",  YACA_KEY_FORMAT_DEFAULT),
+        std::make_pair("PKCS8",    YACA_KEY_FORMAT_PKCS8)
+};
+
+std::map<std::string, yaca_key_file_format_e> str2keyfileformat = {
+        std::make_pair("RAW",     YACA_KEY_FILE_FORMAT_RAW),
+        std::make_pair("BASE64",  YACA_KEY_FILE_FORMAT_BASE64),
+        std::make_pair("PEM",     YACA_KEY_FILE_FORMAT_PEM),
+        std::make_pair("DER",     YACA_KEY_FILE_FORMAT_DER)
+};
+
 std::map<std::string, yaca_key_type_e> str2keytype = {
         std::make_pair("SYMMETRIC",  YACA_KEY_TYPE_SYMMETRIC),
         std::make_pair("DES",        YACA_KEY_TYPE_DES),
@@ -114,6 +126,16 @@ void TestVector::get(const std::string &key, Buffer &val) const
     val = hex2bin(value(key));
 }
 
+void TestVector::get(const std::string &key, yaca_key_format_e &val) const
+{
+    val = str2keyformat.at(value(key));
+}
+
+void TestVector::get(const std::string &key, yaca_key_file_format_e &val) const
+{
+    val = str2keyfileformat.at(value(key));
+}
+
 void TestVector::get(const std::string &key, yaca_key_type_e &val) const
 {
     val = str2keytype.at(value(key));
index b37f6c7..dde7982 100644 (file)
@@ -43,6 +43,10 @@ public:
     void get(const std::string &key, std::string &val) const;
     /* special case for buffer */
     void get(const std::string &key, Buffer &val) const;
+    /* special case for key format */
+    void get(const std::string &key, yaca_key_format_e &val) const;
+    /* special case for key file format */
+    void get(const std::string &key, yaca_key_file_format_e &val) const;
     /* special case for key type */
     void get(const std::string &key, yaca_key_type_e &val) const;
     /* special case for message digest */