From 0d03d04084be1c7ee7744efad35d3059c0de41e8 Mon Sep 17 00:00:00 2001
From: Quan Nguyen <quannguyen@google.com>
Date: Wed, 11 Jul 2018 19:43:34 -0700
Subject: [PATCH] Add enum RsaSignatureEncoding

PiperOrigin-RevId: 204232671
GitOrigin-RevId: 33ca66ee5ff8124dd3951ea390c5c8572b058d6c
---
 cc/subtle/common_enums.cc      | 13 +++++++++++++
 cc/subtle/common_enums.h       |  7 +++++++
 cc/subtle/common_enums_test.cc |  9 +++++++++
 3 files changed, 29 insertions(+)

diff --git a/cc/subtle/common_enums.cc b/cc/subtle/common_enums.cc
index d8bccd8f9..c9c99adda 100644
--- a/cc/subtle/common_enums.cc
+++ b/cc/subtle/common_enums.cc
@@ -65,6 +65,19 @@ std::string EnumToString(HashType type) {
   }
 }
 
+std::string EnumToString(RsaSignatureEncoding encoding) {
+  switch (encoding) {
+    case RsaSignatureEncoding::PKCS1_ENCODING:
+      return "PKCS1_ENCODING";
+    case RsaSignatureEncoding::PSS_ENCODING:
+      return "PSS_ENCODING";
+    case RsaSignatureEncoding::UNKNOWN_ENCODING:
+      return "UNKNOWN_ENCODING";
+    default:
+      return "UNKNOWN_ENCODING" + std::to_string(encoding);
+  }
+}
+
 }  // namespace subtle
 }  // namespace tink
 }  // namespace crypto
diff --git a/cc/subtle/common_enums.h b/cc/subtle/common_enums.h
index cce4b9d04..e87931965 100644
--- a/cc/subtle/common_enums.h
+++ b/cc/subtle/common_enums.h
@@ -44,9 +44,16 @@ enum HashType {
   SHA512 = 4,
 };
 
+enum RsaSignatureEncoding {
+  UNKNOWN_ENCODING = 0,
+  PKCS1_ENCODING = 1,
+  PSS_ENCODING = 2,
+};
+
 std::string EnumToString(EllipticCurveType type);
 std::string EnumToString(EcPointFormat format);
 std::string EnumToString(HashType type);
+std::string EnumToString(RsaSignatureEncoding encoding);
 
 }  // namespace subtle
 }  // namespace tink
diff --git a/cc/subtle/common_enums_test.cc b/cc/subtle/common_enums_test.cc
index 9c5c58058..bf7ce5d89 100644
--- a/cc/subtle/common_enums_test.cc
+++ b/cc/subtle/common_enums_test.cc
@@ -47,6 +47,15 @@ TEST_F(CommonEnumsTest, testEcPointFormatToString) {
   EXPECT_EQ("UNKNOWN_FORMAT: 42", EnumToString((EcPointFormat)42));
 }
 
+TEST_F(CommonEnumsTest, testRsaSignatureEncodingToString) {
+  EXPECT_EQ("UNKNOWN_ENCODING",
+            EnumToString(RsaSignatureEncoding::UNKNOWN_ENCODING));
+  EXPECT_EQ("PKCS1_ENCODING",
+            EnumToString(RsaSignatureEncoding::PKCS1_ENCODING));
+  EXPECT_EQ("PSS_ENCODING",
+            EnumToString(RsaSignatureEncoding::PSS_ENCODING));
+}
+
 }  // namespace
 }  // namespace subtle
 }  // namespace tink
-- 
GitLab