aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/pk_pad/hash_id
diff options
context:
space:
mode:
authorJack Lloyd <[email protected]>2017-05-19 12:13:42 -0400
committerJack Lloyd <[email protected]>2017-05-19 12:13:42 -0400
commitb0fbcf8d24fb1c677aad3d2cfdd0c18274493f07 (patch)
treef3a64f226ef505df925dae82b8d376d418f8f9c7 /src/lib/pk_pad/hash_id
parentb517f47683a6aef6badd97374446ffb7797657d3 (diff)
Add SM3 OIDs and PKCSv1.5 hash prefix
Diffstat (limited to 'src/lib/pk_pad/hash_id')
-rw-r--r--src/lib/pk_pad/hash_id/hash_id.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/lib/pk_pad/hash_id/hash_id.cpp b/src/lib/pk_pad/hash_id/hash_id.cpp
index 71a3dbe22..4cb613f76 100644
--- a/src/lib/pk_pad/hash_id/hash_id.cpp
+++ b/src/lib/pk_pad/hash_id/hash_id.cpp
@@ -44,6 +44,11 @@ const uint8_t SHA_512_256_PKCS_ID[] = {
0x30, 0x31, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01,
0x65, 0x03, 0x04, 0x02, 0x06, 0x05, 0x00, 0x04, 0x20 };
+const uint8_t SM3_PKCS_ID[] = {
+0x30, 0x30, 0x30, 0x0C, 0x06, 0x08, 0x2A, 0x81, 0x1C, 0xCF,
+0x55, 0x01, 0x83, 0x11, 0x05, 0x00, 0x04, 0x20,
+};
+
const uint8_t TIGER_PKCS_ID[] = {
0x30, 0x29, 0x30, 0x0D, 0x06, 0x09, 0x2B, 0x06, 0x01, 0x04,
0x01, 0xDA, 0x47, 0x0C, 0x02, 0x05, 0x00, 0x04, 0x18 };
@@ -91,6 +96,9 @@ std::vector<uint8_t> pkcs_hash_id(const std::string& name)
return std::vector<uint8_t>(SHA_512_256_PKCS_ID,
SHA_512_256_PKCS_ID + sizeof(SHA_512_256_PKCS_ID));
+ if(name == "SM3")
+ return std::vector<uint8_t>(SM3_PKCS_ID, SM3_PKCS_ID + sizeof(SM3_PKCS_ID));
+
if(name == "Tiger(24,3)")
return std::vector<uint8_t>(TIGER_PKCS_ID,
TIGER_PKCS_ID + sizeof(TIGER_PKCS_ID));