diff --git a/cc/subtle/common_enums.cc b/cc/subtle/common_enums.cc
index d8bccd8f950c59d609f14064dd7fcfaba83d4f6e..c9c99adda69a041bbf616445936a71caafd18753 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 cce4b9d04a178bd4f17cfe2f43ca5d686f86d33e..e879319653afa0cd2b5a8c248b93cefa3e5fb44f 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 9c5c580588c41587f33ca9574fe104a48b64441a..bf7ce5d8931c07f8bb4482dc52839b58d972a02f 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