summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
Diffstat (limited to 'extra')
-rw-r--r--extra/yassl/taocrypt/src/asn.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/extra/yassl/taocrypt/src/asn.cpp b/extra/yassl/taocrypt/src/asn.cpp
index 2994b906e76..a06ab658c7b 100644
--- a/extra/yassl/taocrypt/src/asn.cpp
+++ b/extra/yassl/taocrypt/src/asn.cpp
@@ -732,9 +732,21 @@ void CertDecoder::GetName(NameType nt)
source_.advance(strLen);
}
else {
- // skip
+ bool email = false;
+ if (joint[0] == 0x2a && joint[1] == 0x86) // email id hdr
+ email = true;
+
source_.advance(oidSz + 1);
word32 length = GetLength(source_);
+
+ if (email) {
+ memcpy(&ptr[idx], "/emailAddress=", 14);
+ idx += 14;
+
+ memcpy(&ptr[idx], source_.get_current(), length);
+ idx += length;
+ }
+
source_.advance(length);
}
}