summaryrefslogtreecommitdiff
path: root/src/libstrongswan/asn1
diff options
context:
space:
mode:
authorYves-Alexis Perez <corsac@corsac.net>2012-06-28 21:16:07 +0200
committerYves-Alexis Perez <corsac@corsac.net>2012-06-28 21:16:07 +0200
commitb34738ed08c2227300d554b139e2495ca5da97d6 (patch)
tree62f33b52820f2e49f0e53c0f8c636312037c8054 /src/libstrongswan/asn1
parent0a9d51a49042a68daa15b0c74a2b7f152f52606b (diff)
downloadvyos-strongswan-b34738ed08c2227300d554b139e2495ca5da97d6.tar.gz
vyos-strongswan-b34738ed08c2227300d554b139e2495ca5da97d6.zip
Imported Upstream version 4.6.4
Diffstat (limited to 'src/libstrongswan/asn1')
-rw-r--r--src/libstrongswan/asn1/asn1.c69
-rw-r--r--src/libstrongswan/asn1/asn1.h10
-rw-r--r--src/libstrongswan/asn1/asn1_parser.c18
-rw-r--r--src/libstrongswan/asn1/oid.c676
-rw-r--r--src/libstrongswan/asn1/oid.h357
-rw-r--r--src/libstrongswan/asn1/oid.txt6
6 files changed, 584 insertions, 552 deletions
diff --git a/src/libstrongswan/asn1/asn1.c b/src/libstrongswan/asn1/asn1.c
index 4466b37a4..4cb38d126 100644
--- a/src/libstrongswan/asn1/asn1.c
+++ b/src/libstrongswan/asn1/asn1.c
@@ -222,7 +222,7 @@ size_t asn1_length(chunk_t *blob)
if (blob->len < 2)
{
- DBG2(DBG_LIB, "insufficient number of octets to parse ASN.1 length");
+ DBG2(DBG_ASN, "insufficient number of octets to parse ASN.1 length");
return ASN1_INVALID_LENGTH;
}
@@ -234,7 +234,7 @@ size_t asn1_length(chunk_t *blob)
{ /* single length octet */
if (n > blob->len)
{
- DBG2(DBG_LIB, "length is larger than remaining blob size");
+ DBG2(DBG_ASN, "length is larger than remaining blob size");
return ASN1_INVALID_LENGTH;
}
return n;
@@ -245,13 +245,13 @@ size_t asn1_length(chunk_t *blob)
if (n == 0 || n > blob->len)
{
- DBG2(DBG_LIB, "number of length octets invalid");
+ DBG2(DBG_ASN, "number of length octets invalid");
return ASN1_INVALID_LENGTH;
}
if (n > sizeof(len))
{
- DBG2(DBG_LIB, "number of length octets is larger than limit of"
+ DBG2(DBG_ASN, "number of length octets is larger than limit of"
" %d octets", (int)sizeof(len));
return ASN1_INVALID_LENGTH;
}
@@ -265,7 +265,7 @@ size_t asn1_length(chunk_t *blob)
}
if (len > blob->len)
{
- DBG2(DBG_LIB, "length is larger than remaining blob size");
+ DBG2(DBG_ASN, "length is larger than remaining blob size");
return ASN1_INVALID_LENGTH;
}
return len;
@@ -326,10 +326,10 @@ static const int tm_leap_1970 = 477;
*/
time_t asn1_to_time(const chunk_t *utctime, asn1_t type)
{
- int tm_year, tm_mon, tm_day, tm_days, tm_hour, tm_min, tm_sec;
+ int tm_year, tm_mon, tm_day, tm_hour, tm_min, tm_sec;
int tm_leap_4, tm_leap_100, tm_leap_400, tm_leap;
int tz_hour, tz_min, tz_offset;
- time_t tm_secs;
+ time_t tm_days, tm_secs;
u_char *eot = NULL;
if ((eot = memchr(utctime->ptr, 'Z', utctime->len)) != NULL)
@@ -435,6 +435,11 @@ chunk_t asn1_from_time(const time_t *time, asn1_t type)
struct tm t;
gmtime_r(time, &t);
+ /* RFC 5280 says that dates through the year 2049 MUST be encoded as UTCTIME
+ * and dates in 2050 or later MUST be encoded as GENERALIZEDTIME. We only
+ * enforce the latter to avoid overflows but allow callers to force the
+ * encoding to GENERALIZEDTIME */
+ type = (t.tm_year >= 150) ? ASN1_GENERALIZEDTIME : type;
if (type == ASN1_GENERALIZEDTIME)
{
format = "%04d%02d%02d%02d%02d%02dZ";
@@ -443,7 +448,7 @@ chunk_t asn1_from_time(const time_t *time, asn1_t type)
else /* ASN1_UTCTIME */
{
format = "%02d%02d%02d%02d%02d%02dZ";
- offset = (t.tm_year < 100)? 0 : -100;
+ offset = (t.tm_year < 100) ? 0 : -100;
}
snprintf(buf, BUF_LEN, format, t.tm_year + offset,
t.tm_mon + 1, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec);
@@ -471,12 +476,12 @@ void asn1_debug_simple_object(chunk_t object, asn1_t type, bool private)
{
break;
}
- DBG2(DBG_LIB, " %s", oid_str);
+ DBG2(DBG_ASN, " %s", oid_str);
free(oid_str);
}
else
{
- DBG2(DBG_LIB, " '%s'", oid_names[oid].name);
+ DBG2(DBG_ASN, " '%s'", oid_names[oid].name);
}
return;
case ASN1_UTF8STRING:
@@ -484,14 +489,14 @@ void asn1_debug_simple_object(chunk_t object, asn1_t type, bool private)
case ASN1_PRINTABLESTRING:
case ASN1_T61STRING:
case ASN1_VISIBLESTRING:
- DBG2(DBG_LIB, " '%.*s'", (int)object.len, object.ptr);
+ DBG2(DBG_ASN, " '%.*s'", (int)object.len, object.ptr);
return;
case ASN1_UTCTIME:
case ASN1_GENERALIZEDTIME:
{
time_t time = asn1_to_time(&object, type);
- DBG2(DBG_LIB, " '%T'", &time, TRUE);
+ DBG2(DBG_ASN, " '%T'", &time, TRUE);
}
return;
default:
@@ -499,11 +504,11 @@ void asn1_debug_simple_object(chunk_t object, asn1_t type, bool private)
}
if (private)
{
- DBG4(DBG_LIB, "%B", &object);
+ DBG4(DBG_ASN, "%B", &object);
}
else
{
- DBG3(DBG_LIB, "%B", &object);
+ DBG3(DBG_ASN, "%B", &object);
}
}
@@ -517,14 +522,14 @@ bool asn1_parse_simple_object(chunk_t *object, asn1_t type, u_int level, const c
/* an ASN.1 object must possess at least a tag and length field */
if (object->len < 2)
{
- DBG2(DBG_LIB, "L%d - %s: ASN.1 object smaller than 2 octets", level,
+ DBG2(DBG_ASN, "L%d - %s: ASN.1 object smaller than 2 octets", level,
name);
return FALSE;
}
if (*object->ptr != type)
{
- DBG2(DBG_LIB, "L%d - %s: ASN1 tag 0x%02x expected, but is 0x%02x",
+ DBG2(DBG_ASN, "L%d - %s: ASN1 tag 0x%02x expected, but is 0x%02x",
level, name, type, *object->ptr);
return FALSE;
}
@@ -533,12 +538,12 @@ bool asn1_parse_simple_object(chunk_t *object, asn1_t type, u_int level, const c
if (len == ASN1_INVALID_LENGTH || object->len < len)
{
- DBG2(DBG_LIB, "L%d - %s: length of ASN.1 object invalid or too large",
+ DBG2(DBG_ASN, "L%d - %s: length of ASN.1 object invalid or too large",
level, name);
return FALSE;
}
- DBG2(DBG_LIB, "L%d - %s:", level, name);
+ DBG2(DBG_ASN, "L%d - %s:", level, name);
asn1_debug_simple_object(*object, type, FALSE);
return TRUE;
}
@@ -547,14 +552,20 @@ bool asn1_parse_simple_object(chunk_t *object, asn1_t type, u_int level, const c
* ASN.1 definition of an algorithmIdentifier
*/
static const asn1Object_t algorithmIdentifierObjects[] = {
- { 0, "algorithmIdentifier", ASN1_SEQUENCE, ASN1_NONE }, /* 0 */
- { 1, "algorithm", ASN1_OID, ASN1_BODY }, /* 1 */
- { 1, "parameters", ASN1_EOC, ASN1_RAW|ASN1_OPT }, /* 2 */
- { 1, "end opt", ASN1_EOC, ASN1_END }, /* 3 */
- { 0, "exit", ASN1_EOC, ASN1_EXIT }
+ { 0, "algorithmIdentifier", ASN1_SEQUENCE, ASN1_NONE }, /* 0 */
+ { 1, "algorithm", ASN1_OID, ASN1_BODY }, /* 1 */
+ { 1, "parameters", ASN1_OID, ASN1_RAW|ASN1_OPT }, /* 2 */
+ { 1, "end opt", ASN1_EOC, ASN1_END }, /* 3 */
+ { 1, "parameters", ASN1_SEQUENCE, ASN1_RAW|ASN1_OPT }, /* 4 */
+ { 1, "end opt", ASN1_EOC, ASN1_END }, /* 5 */
+ { 1, "parameters", ASN1_OCTET_STRING, ASN1_RAW|ASN1_OPT }, /* 6 */
+ { 1, "end opt", ASN1_EOC, ASN1_END }, /* 7 */
+ { 0, "exit", ASN1_EOC, ASN1_EXIT }
};
-#define ALGORITHM_ID_ALG 1
-#define ALGORITHM_ID_PARAMETERS 2
+#define ALGORITHM_ID_ALG 1
+#define ALGORITHM_ID_PARAMETERS_OID 2
+#define ALGORITHM_ID_PARAMETERS_SEQ 4
+#define ALGORITHM_ID_PARAMETERS_OCT 6
/*
* Defined in header
@@ -576,7 +587,9 @@ int asn1_parse_algorithmIdentifier(chunk_t blob, int level0, chunk_t *parameters
case ALGORITHM_ID_ALG:
alg = asn1_known_oid(object);
break;
- case ALGORITHM_ID_PARAMETERS:
+ case ALGORITHM_ID_PARAMETERS_OID:
+ case ALGORITHM_ID_PARAMETERS_SEQ:
+ case ALGORITHM_ID_PARAMETERS_OCT:
if (parameters != NULL)
{
*parameters = object;
@@ -606,7 +619,7 @@ bool is_asn1(chunk_t blob)
tag = *blob.ptr;
if (tag != ASN1_SEQUENCE && tag != ASN1_SET && tag != ASN1_OCTET_STRING)
{
- DBG2(DBG_LIB, " file content is not binary ASN.1");
+ DBG2(DBG_ASN, " file content is not binary ASN.1");
return FALSE;
}
@@ -624,7 +637,7 @@ bool is_asn1(chunk_t blob)
return TRUE;
}
- DBG2(DBG_LIB, " file size does not match ASN.1 coded length");
+ DBG2(DBG_ASN, " file size does not match ASN.1 coded length");
return FALSE;
}
diff --git a/src/libstrongswan/asn1/asn1.h b/src/libstrongswan/asn1/asn1.h
index 05a060827..15ffff62e 100644
--- a/src/libstrongswan/asn1/asn1.h
+++ b/src/libstrongswan/asn1/asn1.h
@@ -35,8 +35,8 @@ typedef enum {
ASN1_BOOLEAN = 0x01,
ASN1_INTEGER = 0x02,
ASN1_BIT_STRING = 0x03,
- ASN1_OCTET_STRING = 0x04,
- ASN1_NULL = 0x05,
+ ASN1_OCTET_STRING = 0x04,
+ ASN1_NULL = 0x05,
ASN1_OID = 0x06,
ASN1_ENUMERATED = 0x0A,
ASN1_UTF8STRING = 0x0C,
@@ -48,7 +48,7 @@ typedef enum {
ASN1_UTCTIME = 0x17,
ASN1_GENERALIZEDTIME = 0x18,
ASN1_GRAPHICSTRING = 0x19,
- ASN1_VISIBLESTRING = 0x1A,
+ ASN1_VISIBLESTRING = 0x1A,
ASN1_GENERALSTRING = 0x1B,
ASN1_UNIVERSALSTRING = 0x1C,
ASN1_BMPSTRING = 0x1E,
@@ -75,7 +75,7 @@ typedef enum {
ASN1_CONTEXT_C_4 = 0xA4,
ASN1_CONTEXT_C_5 = 0xA5,
- ASN1_INVALID = 0x100,
+ ASN1_INVALID = 0x100,
} asn1_t;
#define ASN1_INVALID_LENGTH 0xffffffff
@@ -191,6 +191,8 @@ time_t asn1_to_time(const chunk_t *utctime, asn1_t type);
/**
* Converts time_t to an ASN.1 UTCTIME or GENERALIZEDTIME string
*
+ * @note The type is automatically changed to GENERALIZEDTIME if needed
+ *
* @param time time_t in UTC
* @param type ASN1_UTCTIME or ASN1_GENERALIZEDTIME
* @return body of an ASN.1 code time object
diff --git a/src/libstrongswan/asn1/asn1_parser.c b/src/libstrongswan/asn1/asn1_parser.c
index 2a7a38a52..40e11b321 100644
--- a/src/libstrongswan/asn1/asn1_parser.c
+++ b/src/libstrongswan/asn1/asn1_parser.c
@@ -120,7 +120,7 @@ METHOD(asn1_parser_t, iterate, bool,
if ((obj.flags & ASN1_DEF) && (blob->len == 0 || *start_ptr != obj.type) )
{
/* field is missing */
- DBG2(DBG_LIB, "L%d - %s:", level, obj.name);
+ DBG2(DBG_ASN, "L%d - %s:", level, obj.name);
if (obj.type & ASN1_CONSTRUCTED)
{
this->line++ ; /* skip context-specific tag */
@@ -147,7 +147,7 @@ METHOD(asn1_parser_t, iterate, bool,
if (blob->len < 2)
{
- DBG1(DBG_LIB, "L%d - %s: ASN.1 object smaller than 2 octets",
+ DBG1(DBG_ASN, "L%d - %s: ASN.1 object smaller than 2 octets",
level, obj.name);
this->success = FALSE;
goto end;
@@ -157,7 +157,7 @@ METHOD(asn1_parser_t, iterate, bool,
if (blob1->len == ASN1_INVALID_LENGTH)
{
- DBG1(DBG_LIB, "L%d - %s: length of ASN.1 object invalid or too large",
+ DBG1(DBG_ASN, "L%d - %s: length of ASN.1 object invalid or too large",
level, obj.name);
this->success = FALSE;
}
@@ -170,7 +170,7 @@ METHOD(asn1_parser_t, iterate, bool,
if (obj.flags & ASN1_RAW)
{
- DBG2(DBG_LIB, "L%d - %s:", level, obj.name);
+ DBG2(DBG_ASN, "L%d - %s:", level, obj.name);
object->ptr = start_ptr;
object->len = (size_t)(blob->ptr - start_ptr);
goto end;
@@ -178,14 +178,14 @@ METHOD(asn1_parser_t, iterate, bool,
if (*start_ptr != obj.type && !(this->implicit && this->line == 0))
{
- DBG1(DBG_LIB, "L%d - %s: ASN1 tag 0x%02x expected, but is 0x%02x",
+ DBG2(DBG_ASN, "L%d - %s: ASN1 tag 0x%02x expected, but is 0x%02x",
level, obj.name, obj.type, *start_ptr);
- DBG3(DBG_LIB, "%b", start_ptr, (u_int)(blob->ptr - start_ptr));
+ DBG3(DBG_ASN, "%b", start_ptr, (u_int)(blob->ptr - start_ptr));
this->success = FALSE;
goto end;
}
- DBG2(DBG_LIB, "L%d - %s:", level, obj.name);
+ DBG2(DBG_ASN, "L%d - %s:", level, obj.name);
/* In case of "SEQUENCE OF" or "SET OF" start a loop */
if (obj.flags & ASN1_LOOP)
@@ -214,11 +214,11 @@ METHOD(asn1_parser_t, iterate, bool,
object->len = (size_t)(blob->ptr - start_ptr);
if (this->private)
{
- DBG4(DBG_LIB, "%B", object);
+ DBG4(DBG_ASN, "%B", object);
}
else
{
- DBG3(DBG_LIB, "%B", object);
+ DBG3(DBG_ASN, "%B", object);
}
}
else if (obj.flags & ASN1_BODY)
diff --git a/src/libstrongswan/asn1/oid.c b/src/libstrongswan/asn1/oid.c
index 6af088fd2..bfc985c25 100644
--- a/src/libstrongswan/asn1/oid.c
+++ b/src/libstrongswan/asn1/oid.c
@@ -28,8 +28,8 @@ const oid_t oid_names[] = {
{ 0x01, 0, 1, 8, "pilotAttributeType" }, /* 15 */
{ 0x01, 17, 0, 9, "UID" }, /* 16 */
{ 0x19, 0, 0, 9, "DC" }, /* 17 */
- {0x55, 64, 1, 0, "X.500" }, /* 18 */
- { 0x04, 36, 1, 1, "X.509" }, /* 19 */
+ {0x55, 65, 1, 0, "X.500" }, /* 18 */
+ { 0x04, 37, 1, 1, "X.509" }, /* 19 */
{ 0x03, 21, 0, 2, "CN" }, /* 20 */
{ 0x04, 22, 0, 2, "S" }, /* 21 */
{ 0x05, 23, 0, 2, "SN" }, /* 22 */
@@ -45,337 +45,343 @@ const oid_t oid_names[] = {
{ 0x2A, 33, 0, 2, "G" }, /* 32 */
{ 0x2B, 34, 0, 2, "I" }, /* 33 */
{ 0x2D, 35, 0, 2, "ID" }, /* 34 */
- { 0x48, 0, 0, 2, "role" }, /* 35 */
- { 0x1D, 0, 1, 1, "id-ce" }, /* 36 */
- { 0x09, 38, 0, 2, "subjectDirectoryAttrs" }, /* 37 */
- { 0x0E, 39, 0, 2, "subjectKeyIdentifier" }, /* 38 */
- { 0x0F, 40, 0, 2, "keyUsage" }, /* 39 */
- { 0x10, 41, 0, 2, "privateKeyUsagePeriod" }, /* 40 */
- { 0x11, 42, 0, 2, "subjectAltName" }, /* 41 */
- { 0x12, 43, 0, 2, "issuerAltName" }, /* 42 */
- { 0x13, 44, 0, 2, "basicConstraints" }, /* 43 */
- { 0x14, 45, 0, 2, "crlNumber" }, /* 44 */
- { 0x15, 46, 0, 2, "reasonCode" }, /* 45 */
- { 0x17, 47, 0, 2, "holdInstructionCode" }, /* 46 */
- { 0x18, 48, 0, 2, "invalidityDate" }, /* 47 */
- { 0x1B, 49, 0, 2, "deltaCrlIndicator" }, /* 48 */
- { 0x1C, 50, 0, 2, "issuingDistributionPoint" }, /* 49 */
- { 0x1D, 51, 0, 2, "certificateIssuer" }, /* 50 */
- { 0x1E, 52, 0, 2, "nameConstraints" }, /* 51 */
- { 0x1F, 53, 0, 2, "crlDistributionPoints" }, /* 52 */
- { 0x20, 55, 1, 2, "certificatePolicies" }, /* 53 */
- { 0x00, 0, 0, 3, "anyPolicy" }, /* 54 */
- { 0x21, 56, 0, 2, "policyMappings" }, /* 55 */
- { 0x23, 57, 0, 2, "authorityKeyIdentifier" }, /* 56 */
- { 0x24, 58, 0, 2, "policyConstraints" }, /* 57 */
- { 0x25, 60, 1, 2, "extendedKeyUsage" }, /* 58 */
- { 0x00, 0, 0, 3, "anyExtendedKeyUsage" }, /* 59 */
- { 0x2E, 61, 0, 2, "freshestCRL" }, /* 60 */
- { 0x36, 62, 0, 2, "inhibitAnyPolicy" }, /* 61 */
- { 0x37, 63, 0, 2, "targetInformation" }, /* 62 */
- { 0x38, 0, 0, 2, "noRevAvail" }, /* 63 */
- {0x2A, 163, 1, 0, "" }, /* 64 */
- { 0x83, 77, 1, 1, "" }, /* 65 */
- { 0x08, 0, 1, 2, "jp" }, /* 66 */
- { 0x8C, 0, 1, 3, "" }, /* 67 */
- { 0x9A, 0, 1, 4, "" }, /* 68 */
- { 0x4B, 0, 1, 5, "" }, /* 69 */
- { 0x3D, 0, 1, 6, "" }, /* 70 */
- { 0x01, 0, 1, 7, "security" }, /* 71 */
- { 0x01, 0, 1, 8, "algorithm" }, /* 72 */
- { 0x01, 0, 1, 9, "symm-encryption-alg" }, /* 73 */
- { 0x02, 75, 0, 10, "camellia128-cbc" }, /* 74 */
- { 0x03, 76, 0, 10, "camellia192-cbc" }, /* 75 */
- { 0x04, 0, 0, 10, "camellia256-cbc" }, /* 76 */
- { 0x86, 0, 1, 1, "" }, /* 77 */
- { 0x48, 0, 1, 2, "us" }, /* 78 */
- { 0x86, 122, 1, 3, "" }, /* 79 */
- { 0xF6, 85, 1, 4, "" }, /* 80 */
- { 0x7D, 0, 1, 5, "NortelNetworks" }, /* 81 */
- { 0x07, 0, 1, 6, "Entrust" }, /* 82 */
- { 0x41, 0, 1, 7, "nsn-ce" }, /* 83 */
- { 0x00, 0, 0, 8, "entrustVersInfo" }, /* 84 */
- { 0xF7, 0, 1, 4, "" }, /* 85 */
- { 0x0D, 0, 1, 5, "RSADSI" }, /* 86 */
- { 0x01, 117, 1, 6, "PKCS" }, /* 87 */
- { 0x01, 99, 1, 7, "PKCS-1" }, /* 88 */
- { 0x01, 90, 0, 8, "rsaEncryption" }, /* 89 */
- { 0x02, 91, 0, 8, "md2WithRSAEncryption" }, /* 90 */
- { 0x04, 92, 0, 8, "md5WithRSAEncryption" }, /* 91 */
- { 0x05, 93, 0, 8, "sha-1WithRSAEncryption" }, /* 92 */
- { 0x07, 94, 0, 8, "id-RSAES-OAEP" }, /* 93 */
- { 0x09, 95, 0, 8, "id-pSpecified" }, /* 94 */
- { 0x0B, 96, 0, 8, "sha256WithRSAEncryption" }, /* 95 */
- { 0x0C, 97, 0, 8, "sha384WithRSAEncryption" }, /* 96 */
- { 0x0D, 98, 0, 8, "sha512WithRSAEncryption" }, /* 97 */
- { 0x0E, 0, 0, 8, "sha224WithRSAEncryption" }, /* 98 */
- { 0x07, 106, 1, 7, "PKCS-7" }, /* 99 */
- { 0x01, 101, 0, 8, "data" }, /* 100 */
- { 0x02, 102, 0, 8, "signedData" }, /* 101 */
- { 0x03, 103, 0, 8, "envelopedData" }, /* 102 */
- { 0x04, 104, 0, 8, "signedAndEnvelopedData" }, /* 103 */
- { 0x05, 105, 0, 8, "digestedData" }, /* 104 */
- { 0x06, 0, 0, 8, "encryptedData" }, /* 105 */
- { 0x09, 0, 1, 7, "PKCS-9" }, /* 106 */
- { 0x01, 108, 0, 8, "E" }, /* 107 */
- { 0x02, 109, 0, 8, "unstructuredName" }, /* 108 */
- { 0x03, 110, 0, 8, "contentType" }, /* 109 */
- { 0x04, 111, 0, 8, "messageDigest" }, /* 110 */
- { 0x05, 112, 0, 8, "signingTime" }, /* 111 */
- { 0x06, 113, 0, 8, "counterSignature" }, /* 112 */
- { 0x07, 114, 0, 8, "challengePassword" }, /* 113 */
- { 0x08, 115, 0, 8, "unstructuredAddress" }, /* 114 */
- { 0x0E, 116, 0, 8, "extensionRequest" }, /* 115 */
- { 0x0F, 0, 0, 8, "S/MIME Capabilities" }, /* 116 */
- { 0x02, 120, 1, 6, "digestAlgorithm" }, /* 117 */
- { 0x02, 119, 0, 7, "md2" }, /* 118 */
- { 0x05, 0, 0, 7, "md5" }, /* 119 */
- { 0x03, 0, 1, 6, "encryptionAlgorithm" }, /* 120 */
- { 0x07, 0, 0, 7, "3des-ede-cbc" }, /* 121 */
- { 0xCE, 0, 1, 3, "" }, /* 122 */
- { 0x3D, 0, 1, 4, "ansi-X9-62" }, /* 123 */
- { 0x02, 126, 1, 5, "id-publicKeyType" }, /* 124 */
- { 0x01, 0, 0, 6, "id-ecPublicKey" }, /* 125 */
- { 0x03, 156, 1, 5, "ellipticCurve" }, /* 126 */
- { 0x00, 148, 1, 6, "c-TwoCurve" }, /* 127 */
- { 0x01, 129, 0, 7, "c2pnb163v1" }, /* 128 */
- { 0x02, 130, 0, 7, "c2pnb163v2" }, /* 129 */
- { 0x03, 131, 0, 7, "c2pnb163v3" }, /* 130 */
- { 0x04, 132, 0, 7, "c2pnb176w1" }, /* 131 */
- { 0x05, 133, 0, 7, "c2tnb191v1" }, /* 132 */
- { 0x06, 134, 0, 7, "c2tnb191v2" }, /* 133 */
- { 0x07, 135, 0, 7, "c2tnb191v3" }, /* 134 */
- { 0x08, 136, 0, 7, "c2onb191v4" }, /* 135 */
- { 0x09, 137, 0, 7, "c2onb191v5" }, /* 136 */
- { 0x0A, 138, 0, 7, "c2pnb208w1" }, /* 137 */
- { 0x0B, 139, 0, 7, "c2tnb239v1" }, /* 138 */
- { 0x0C, 140, 0, 7, "c2tnb239v2" }, /* 139 */
- { 0x0D, 141, 0, 7, "c2tnb239v3" }, /* 140 */
- { 0x0E, 142, 0, 7, "c2onb239v4" }, /* 141 */
- { 0x0F, 143, 0, 7, "c2onb239v5" }, /* 142 */
- { 0x10, 144, 0, 7, "c2pnb272w1" }, /* 143 */
- { 0x11, 145, 0, 7, "c2pnb304w1" }, /* 144 */
- { 0x12, 146, 0, 7, "c2tnb359v1" }, /* 145 */
- { 0x13, 147, 0, 7, "c2pnb368w1" }, /* 146 */
- { 0x14, 0, 0, 7, "c2tnb431r1" }, /* 147 */
- { 0x01, 0, 1, 6, "primeCurve" }, /* 148 */
- { 0x01, 150, 0, 7, "prime192v1" }, /* 149 */
- { 0x02, 151, 0, 7, "prime192v2" }, /* 150 */
- { 0x03, 152, 0, 7, "prime192v3" }, /* 151 */
- { 0x04, 153, 0, 7, "prime239v1" }, /* 152 */
- { 0x05, 154, 0, 7, "prime239v2" }, /* 153 */
- { 0x06, 155, 0, 7, "prime239v3" }, /* 154 */
- { 0x07, 0, 0, 7, "prime256v1" }, /* 155 */
- { 0x04, 0, 1, 5, "id-ecSigType" }, /* 156 */
- { 0x01, 158, 0, 6, "ecdsa-with-SHA1" }, /* 157 */
- { 0x03, 0, 1, 6, "ecdsa-with-Specified" }, /* 158 */
- { 0x01, 160, 0, 7, "ecdsa-with-SHA224" }, /* 159 */
- { 0x02, 161, 0, 7, "ecdsa-with-SHA256" }, /* 160 */
- { 0x03, 162, 0, 7, "ecdsa-with-SHA384" }, /* 161 */
- { 0x04, 0, 0, 7, "ecdsa-with-SHA512" }, /* 162 */
- {0x2B, 314, 1, 0, "" }, /* 163 */
- { 0x06, 228, 1, 1, "dod" }, /* 164 */
- { 0x01, 0, 1, 2, "internet" }, /* 165 */
- { 0x04, 188, 1, 3, "private" }, /* 166 */
- { 0x01, 0, 1, 4, "enterprise" }, /* 167 */
- { 0x82, 181, 1, 5, "" }, /* 168 */
- { 0x37, 178, 1, 6, "Microsoft" }, /* 169 */
- { 0x0A, 174, 1, 7, "" }, /* 170 */
- { 0x03, 0, 1, 8, "" }, /* 171 */
- { 0x03, 173, 0, 9, "msSGC" }, /* 172 */
- { 0x04, 0, 0, 9, "msEncryptingFileSystem" }, /* 173 */
- { 0x14, 0, 1, 7, "msEnrollmentInfrastructure"}, /* 174 */
- { 0x02, 0, 1, 8, "msCertificateTypeExtension"}, /* 175 */
- { 0x02, 177, 0, 9, "msSmartcardLogon" }, /* 176 */
- { 0x03, 0, 0, 9, "msUPN" }, /* 177 */
- { 0xA0, 0, 1, 6, "" }, /* 178 */
- { 0x2A, 0, 1, 7, "ITA" }, /* 179 */
- { 0x01, 0, 0, 8, "strongSwan" }, /* 180 */
- { 0x89, 0, 1, 5, "" }, /* 181 */
- { 0x31, 0, 1, 6, "" }, /* 182 */
- { 0x01, 0, 1, 7, "" }, /* 183 */
- { 0x01, 0, 1, 8, "" }, /* 184 */
- { 0x02, 0, 1, 9, "" }, /* 185 */
- { 0x02, 0, 1, 10, "" }, /* 186 */
- { 0x4B, 0, 0, 11, "TCGID" }, /* 187 */
- { 0x05, 0, 1, 3, "security" }, /* 188 */
- { 0x05, 0, 1, 4, "mechanisms" }, /* 189 */
- { 0x07, 0, 1, 5, "id-pkix" }, /* 190 */
- { 0x01, 195, 1, 6, "id-pe" }, /* 191 */
- { 0x01, 193, 0, 7, "authorityInfoAccess" }, /* 192 */
- { 0x03, 194, 0, 7, "qcStatements" }, /* 193 */
- { 0x07, 0, 0, 7, "ipAddrBlocks" }, /* 194 */
- { 0x02, 198, 1, 6, "id-qt" }, /* 195 */
- { 0x01, 197, 0, 7, "cps" }, /* 196 */
- { 0x02, 0, 0, 7, "unotice" }, /* 197 */
- { 0x03, 208, 1, 6, "id-kp" }, /* 198 */
- { 0x01, 200, 0, 7, "serverAuth" }, /* 199 */
- { 0x02, 201, 0, 7, "clientAuth" }, /* 200 */
- { 0x03, 202, 0, 7, "codeSigning" }, /* 201 */
- { 0x04, 203, 0, 7, "emailProtection" }, /* 202 */
- { 0x05, 204, 0, 7, "ipsecEndSystem" }, /* 203 */
- { 0x06, 205, 0, 7, "ipsecTunnel" }, /* 204 */
- { 0x07, 206, 0, 7, "ipsecUser" }, /* 205 */
- { 0x08, 207, 0, 7, "timeStamping" }, /* 206 */
- { 0x09, 0, 0, 7, "ocspSigning" }, /* 207 */
- { 0x08, 210, 1, 6, "id-otherNames" }, /* 208 */
- { 0x05, 0, 0, 7, "xmppAddr" }, /* 209 */
- { 0x0A, 215, 1, 6, "id-aca" }, /* 210 */
- { 0x01, 212, 0, 7, "authenticationInfo" }, /* 211 */
- { 0x02, 213, 0, 7, "accessIdentity" }, /* 212 */
- { 0x03, 214, 0, 7, "chargingIdentity" }, /* 213 */
- { 0x04, 0, 0, 7, "group" }, /* 214 */
- { 0x0B, 216, 0, 6, "subjectInfoAccess" }, /* 215 */
- { 0x30, 0, 1, 6, "id-ad" }, /* 216 */
- { 0x01, 225, 1, 7, "ocsp" }, /* 217 */
- { 0x01, 219, 0, 8, "basic" }, /* 218 */
- { 0x02, 220, 0, 8, "nonce" }, /* 219 */
- { 0x03, 221, 0, 8, "crl" }, /* 220 */
- { 0x04, 222, 0, 8, "response" }, /* 221 */
- { 0x05, 223, 0, 8, "noCheck" }, /* 222 */
- { 0x06, 224, 0, 8, "archiveCutoff" }, /* 223 */
- { 0x07, 0, 0, 8, "serviceLocator" }, /* 224 */
- { 0x02, 226, 0, 7, "caIssuers" }, /* 225 */
- { 0x03, 227, 0, 7, "timeStamping" }, /* 226 */
- { 0x05, 0, 0, 7, "caRepository" }, /* 227 */
- { 0x0E, 234, 1, 1, "oiw" }, /* 228 */
- { 0x03, 0, 1, 2, "secsig" }, /* 229 */
- { 0x02, 0, 1, 3, "algorithms" }, /* 230 */
- { 0x07, 232, 0, 4, "des-cbc" }, /* 231 */
- { 0x1A, 233, 0, 4, "sha-1" }, /* 232 */
- { 0x1D, 0, 0, 4, "sha-1WithRSASignature" }, /* 233 */
- { 0x24, 280, 1, 1, "TeleTrusT" }, /* 234 */
- { 0x03, 0, 1, 2, "algorithm" }, /* 235 */
- { 0x03, 0, 1, 3, "signatureAlgorithm" }, /* 236 */
- { 0x01, 241, 1, 4, "rsaSignature" }, /* 237 */
- { 0x02, 239, 0, 5, "rsaSigWithripemd160" }, /* 238 */
- { 0x03, 240, 0, 5, "rsaSigWithripemd128" }, /* 239 */
- { 0x04, 0, 0, 5, "rsaSigWithripemd256" }, /* 240 */
- { 0x02, 0, 1, 4, "ecSign" }, /* 241 */
- { 0x01, 243, 0, 5, "ecSignWithsha1" }, /* 242 */
- { 0x02, 244, 0, 5, "ecSignWithripemd160" }, /* 243 */
- { 0x03, 245, 0, 5, "ecSignWithmd2" }, /* 244 */
- { 0x04, 246, 0, 5, "ecSignWithmd5" }, /* 245 */
- { 0x05, 263, 1, 5, "ttt-ecg" }, /* 246 */
- { 0x01, 251, 1, 6, "fieldType" }, /* 247 */
- { 0x01, 0, 1, 7, "characteristictwoField" }, /* 248 */
- { 0x01, 0, 1, 8, "basisType" }, /* 249 */
- { 0x01, 0, 0, 9, "ipBasis" }, /* 250 */
- { 0x02, 253, 1, 6, "keyType" }, /* 251 */
- { 0x01, 0, 0, 7, "ecgPublicKey" }, /* 252 */
- { 0x03, 254, 0, 6, "curve" }, /* 253 */
- { 0x04, 261, 1, 6, "signatures" }, /* 254 */
- { 0x01, 256, 0, 7, "ecgdsa-with-RIPEMD160" }, /* 255 */
- { 0x02, 257, 0, 7, "ecgdsa-with-SHA1" }, /* 256 */
- { 0x03, 258, 0, 7, "ecgdsa-with-SHA224" }, /* 257 */
- { 0x04, 259, 0, 7, "ecgdsa-with-SHA256" }, /* 258 */
- { 0x05, 260, 0, 7, "ecgdsa-with-SHA384" }, /* 259 */
- { 0x06, 0, 0, 7, "ecgdsa-with-SHA512" }, /* 260 */
- { 0x05, 0, 1, 6, "module" }, /* 261 */
- { 0x01, 0, 0, 7, "1" }, /* 262 */
- { 0x08, 0, 1, 5, "ecStdCurvesAndGeneration" }, /* 263 */
- { 0x01, 0, 1, 6, "ellipticCurve" }, /* 264 */
- { 0x01, 0, 1, 7, "versionOne" }, /* 265 */
- { 0x01, 267, 0, 8, "brainpoolP160r1" }, /* 266 */
- { 0x02, 268, 0, 8, "brainpoolP160t1" }, /* 267 */
- { 0x03, 269, 0, 8, "brainpoolP192r1" }, /* 268 */
- { 0x04, 270, 0, 8, "brainpoolP192t1" }, /* 269 */
- { 0x05, 271, 0, 8, "brainpoolP224r1" }, /* 270 */
- { 0x06, 272, 0, 8, "brainpoolP224t1" }, /* 271 */
- { 0x07, 273, 0, 8, "brainpoolP256r1" }, /* 272 */
- { 0x08, 274, 0, 8, "brainpoolP256t1" }, /* 273 */
- { 0x09, 275, 0, 8, "brainpoolP320r1" }, /* 274 */
- { 0x0A, 276, 0, 8, "brainpoolP320t1" }, /* 275 */
- { 0x0B, 277, 0, 8, "brainpoolP384r1" }, /* 276 */
- { 0x0C, 278, 0, 8, "brainpoolP384t1" }, /* 277 */
- { 0x0D, 279, 0, 8, "brainpoolP512r1" }, /* 278 */
- { 0x0E, 0, 0, 8, "brainpoolP512t1" }, /* 279 */
- { 0x81, 0, 1, 1, "" }, /* 280 */
- { 0x04, 0, 1, 2, "Certicom" }, /* 281 */
- { 0x00, 0, 1, 3, "curve" }, /* 282 */
- { 0x01, 284, 0, 4, "sect163k1" }, /* 283 */
- { 0x02, 285, 0, 4, "sect163r1" }, /* 284 */
- { 0x03, 286, 0, 4, "sect239k1" }, /* 285 */
- { 0x04, 287, 0, 4, "sect113r1" }, /* 286 */
- { 0x05, 288, 0, 4, "sect113r2" }, /* 287 */
- { 0x06, 289, 0, 4, "secp112r1" }, /* 288 */
- { 0x07, 290, 0, 4, "secp112r2" }, /* 289 */
- { 0x08, 291, 0, 4, "secp160r1" }, /* 290 */
- { 0x09, 292, 0, 4, "secp160k1" }, /* 291 */
- { 0x0A, 293, 0, 4, "secp256k1" }, /* 292 */
- { 0x0F, 294, 0, 4, "sect163r2" }, /* 293 */
- { 0x10, 295, 0, 4, "sect283k1" }, /* 294 */
- { 0x11, 296, 0, 4, "sect283r1" }, /* 295 */
- { 0x16, 297, 0, 4, "sect131r1" }, /* 296 */
- { 0x17, 298, 0, 4, "sect131r2" }, /* 297 */
- { 0x18, 299, 0, 4, "sect193r1" }, /* 298 */
- { 0x19, 300, 0, 4, "sect193r2" }, /* 299 */
- { 0x1A, 301, 0, 4, "sect233k1" }, /* 300 */
- { 0x1B, 302, 0, 4, "sect233r1" }, /* 301 */
- { 0x1C, 303, 0, 4, "secp128r1" }, /* 302 */
- { 0x1D, 304, 0, 4, "secp128r2" }, /* 303 */
- { 0x1E, 305, 0, 4, "secp160r2" }, /* 304 */
- { 0x1F, 306, 0, 4, "secp192k1" }, /* 305 */
- { 0x20, 307, 0, 4, "secp224k1" }, /* 306 */
- { 0x21, 308, 0, 4, "secp224r1" }, /* 307 */
- { 0x22, 309, 0, 4, "secp384r1" }, /* 308 */
- { 0x23, 310, 0, 4, "secp521r1" }, /* 309 */
- { 0x24, 311, 0, 4, "sect409k1" }, /* 310 */
- { 0x25, 312, 0, 4, "sect409r1" }, /* 311 */
- { 0x26, 313, 0, 4, "sect571k1" }, /* 312 */
- { 0x27, 0, 0, 4, "sect571r1" }, /* 313 */
- {0x60, 360, 1, 0, "" }, /* 314 */
- { 0x86, 0, 1, 1, "" }, /* 315 */
- { 0x48, 0, 1, 2, "" }, /* 316 */
- { 0x01, 0, 1, 3, "organization" }, /* 317 */
- { 0x65, 336, 1, 4, "gov" }, /* 318 */
- { 0x03, 0, 1, 5, "csor" }, /* 319 */
- { 0x04, 0, 1, 6, "nistalgorithm" }, /* 320 */
- { 0x01, 331, 1, 7, "aes" }, /* 321 */
- { 0x02, 323, 0, 8, "id-aes128-CBC" }, /* 322 */
- { 0x06, 324, 0, 8, "id-aes128-GCM" }, /* 323 */
- { 0x07, 325, 0, 8, "id-aes128-CCM" }, /* 324 */
- { 0x16, 326, 0, 8, "id-aes192-CBC" }, /* 325 */
- { 0x1A, 327, 0, 8, "id-aes192-GCM" }, /* 326 */
- { 0x1B, 328, 0, 8, "id-aes192-CCM" }, /* 327 */
- { 0x2A, 329, 0, 8, "id-aes256-CBC" }, /* 328 */
- { 0x2E, 330, 0, 8, "id-aes256-GCM" }, /* 329 */
- { 0x2F, 0, 0, 8, "id-aes256-CCM" }, /* 330 */
- { 0x02, 0, 1, 7, "hashalgs" }, /* 331 */
- { 0x01, 333, 0, 8, "id-SHA-256" }, /* 332 */
- { 0x02, 334, 0, 8, "id-SHA-384" }, /* 333 */
- { 0x03, 335, 0, 8, "id-SHA-512" }, /* 334 */
- { 0x04, 0, 0, 8, "id-SHA-224" }, /* 335 */
- { 0x86, 0, 1, 4, "" }, /* 336 */
- { 0xf8, 0, 1, 5, "" }, /* 337 */
- { 0x42, 350, 1, 6, "netscape" }, /* 338 */
- { 0x01, 345, 1, 7, "" }, /* 339 */
- { 0x01, 341, 0, 8, "nsCertType" }, /* 340 */
- { 0x03, 342, 0, 8, "nsRevocationUrl" }, /* 341 */
- { 0x04, 343, 0, 8, "nsCaRevocationUrl" }, /* 342 */
- { 0x08, 344, 0, 8, "nsCaPolicyUrl" }, /* 343 */
- { 0x0d, 0, 0, 8, "nsComment" }, /* 344 */
- { 0x03, 348, 1, 7, "directory" }, /* 345 */
- { 0x01, 0, 1, 8, "" }, /* 346 */
- { 0x03, 0, 0, 9, "employeeNumber" }, /* 347 */
- { 0x04, 0, 1, 7, "policy" }, /* 348 */
- { 0x01, 0, 0, 8, "nsSGC" }, /* 349 */
- { 0x45, 0, 1, 6, "verisign" }, /* 350 */
- { 0x01, 0, 1, 7, "pki" }, /* 351 */
- { 0x09, 0, 1, 8, "attributes" }, /* 352 */
- { 0x02, 354, 0, 9, "messageType" }, /* 353 */
- { 0x03, 355, 0, 9, "pkiStatus" }, /* 354 */
- { 0x04, 356, 0, 9, "failInfo" }, /* 355 */
- { 0x05, 357, 0, 9, "senderNonce" }, /* 356 */
- { 0x06, 358, 0, 9, "recipientNonce" }, /* 357 */
- { 0x07, 359, 0, 9, "transID" }, /* 358 */
- { 0x08, 0, 0, 9, "extensionReq" }, /* 359 */
- {0x67, 0, 1, 0, "" }, /* 360 */
- { 0x81, 0, 1, 1, "" }, /* 361 */
- { 0x05, 0, 1, 2, "" }, /* 362 */
- { 0x02, 0, 1, 3, "tcg-attribute" }, /* 363 */
- { 0x01, 365, 0, 4, "tcg-at-tpmManufacturer" }, /* 364 */
- { 0x02, 366, 0, 4, "tcg-at-tpmModel" }, /* 365 */
- { 0x03, 367, 0, 4, "tcg-at-tpmVersion" }, /* 366 */
- { 0x0F, 0, 0, 4, "tcg-at-tpmIdLabel" } /* 367 */
+ { 0x2E, 36, 0, 2, "dnQualifier" }, /* 35 */
+ { 0x48, 0, 0, 2, "role" }, /* 36 */
+ { 0x1D, 0, 1, 1, "id-ce" }, /* 37 */
+ { 0x09, 39, 0, 2, "subjectDirectoryAttrs" }, /* 38 */
+ { 0x0E, 40, 0, 2, "subjectKeyIdentifier" }, /* 39 */
+ { 0x0F, 41, 0, 2, "keyUsage" }, /* 40 */
+ { 0x10, 42, 0, 2, "privateKeyUsagePeriod" }, /* 41 */
+ { 0x11, 43, 0, 2, "subjectAltName" }, /* 42 */
+ { 0x12, 44, 0, 2, "issuerAltName" }, /* 43 */
+ { 0x13, 45, 0, 2, "basicConstraints" }, /* 44 */
+ { 0x14, 46, 0, 2, "crlNumber" }, /* 45 */
+ { 0x15, 47, 0, 2, "reasonCode" }, /* 46 */
+ { 0x17, 48, 0, 2, "holdInstructionCode" }, /* 47 */
+ { 0x18, 49, 0, 2, "invalidityDate" }, /* 48 */
+ { 0x1B, 50, 0, 2, "deltaCrlIndicator" }, /* 49 */
+ { 0x1C, 51, 0, 2, "issuingDistributionPoint" }, /* 50 */
+ { 0x1D, 52, 0, 2, "certificateIssuer" }, /* 51 */
+ { 0x1E, 53, 0, 2, "nameConstraints" }, /* 52 */
+ { 0x1F, 54, 0, 2, "crlDistributionPoints" }, /* 53 */
+ { 0x20, 56, 1, 2, "certificatePolicies" }, /* 54 */
+ { 0x00, 0, 0, 3, "anyPolicy" }, /* 55 */
+ { 0x21, 57, 0, 2, "policyMappings" }, /* 56 */
+ { 0x23, 58, 0, 2, "authorityKeyIdentifier" }, /* 57 */
+ { 0x24, 59, 0, 2, "policyConstraints" }, /* 58 */
+ { 0x25, 61, 1, 2, "extendedKeyUsage" }, /* 59 */
+ { 0x00, 0, 0, 3, "anyExtendedKeyUsage" }, /* 60 */
+ { 0x2E, 62, 0, 2, "freshestCRL" }, /* 61 */
+ { 0x36, 63, 0, 2, "inhibitAnyPolicy" }, /* 62 */
+ { 0x37, 64, 0, 2, "targetInformation" }, /* 63 */
+ { 0x38, 0, 0, 2, "noRevAvail" }, /* 64 */
+ {0x2A, 169, 1, 0, "" }, /* 65 */
+ { 0x83, 78, 1, 1, "" }, /* 66 */
+ { 0x08, 0, 1, 2, "jp" }, /* 67 */
+ { 0x8C, 0, 1, 3, "" }, /* 68 */
+ { 0x9A, 0, 1, 4, "" }, /* 69 */
+ { 0x4B, 0, 1, 5, "" }, /* 70 */
+ { 0x3D, 0, 1, 6, "" }, /* 71 */
+ { 0x01, 0, 1, 7, "security" }, /* 72 */
+ { 0x01, 0, 1, 8, "algorithm" }, /* 73 */
+ { 0x01, 0, 1, 9, "symm-encryption-alg" }, /* 74 */
+ { 0x02, 76, 0, 10, "camellia128-cbc" }, /* 75 */
+ { 0x03, 77, 0, 10, "camellia192-cbc" }, /* 76 */
+ { 0x04, 0, 0, 10, "camellia256-cbc" }, /* 77 */
+ { 0x86, 0, 1, 1, "" }, /* 78 */
+ { 0x48, 0, 1, 2, "us" }, /* 79 */
+ { 0x86, 128, 1, 3, "" }, /* 80 */
+ { 0xF6, 86, 1, 4, "" }, /* 81 */
+ { 0x7D, 0, 1, 5, "NortelNetworks" }, /* 82 */
+ { 0x07, 0, 1, 6, "Entrust" }, /* 83 */
+ { 0x41, 0, 1, 7, "nsn-ce" }, /* 84 */
+ { 0x00, 0, 0, 8, "entrustVersInfo" }, /* 85 */
+ { 0xF7, 0, 1, 4, "" }, /* 86 */
+ { 0x0D, 0, 1, 5, "RSADSI" }, /* 87 */
+ { 0x01, 123, 1, 6, "PKCS" }, /* 88 */
+ { 0x01, 100, 1, 7, "PKCS-1" }, /* 89 */
+ { 0x01, 91, 0, 8, "rsaEncryption" }, /* 90 */
+ { 0x02, 92, 0, 8, "md2WithRSAEncryption" }, /* 91 */
+ { 0x04, 93, 0, 8, "md5WithRSAEncryption" }, /* 92 */
+ { 0x05, 94, 0, 8, "sha-1WithRSAEncryption" }, /* 93 */
+ { 0x07, 95, 0, 8, "id-RSAES-OAEP" }, /* 94 */
+ { 0x09, 96, 0, 8, "id-pSpecified" }, /* 95 */
+ { 0x0B, 97, 0, 8, "sha256WithRSAEncryption" }, /* 96 */
+ { 0x0C, 98, 0, 8, "sha384WithRSAEncryption" }, /* 97 */
+ { 0x0D, 99, 0, 8, "sha512WithRSAEncryption" }, /* 98 */
+ { 0x0E, 0, 0, 8, "sha224WithRSAEncryption" }, /* 99 */
+ { 0x05, 105, 1, 7, "PKCS-5" }, /* 100 */
+ { 0x03, 102, 0, 8, "pbeWithMD5AndDES-CBC" }, /* 101 */
+ { 0x0A, 103, 0, 8, "pbeWithSHA1AndDES-CBC" }, /* 102 */
+ { 0x0C, 104, 0, 8, "id-PBKDF2" }, /* 103 */
+ { 0x0D, 0, 0, 8, "id-PBES2" }, /* 104 */
+ { 0x07, 112, 1, 7, "PKCS-7" }, /* 105 */
+ { 0x01, 107, 0, 8, "data" }, /* 106 */
+ { 0x02, 108, 0, 8, "signedData" }, /* 107 */
+ { 0x03, 109, 0, 8, "envelopedData" }, /* 108 */
+ { 0x04, 110, 0, 8, "signedAndEnvelopedData" }, /* 109 */
+ { 0x05, 111, 0, 8, "digestedData" }, /* 110 */
+ { 0x06, 0, 0, 8, "encryptedData" }, /* 111 */
+ { 0x09, 0, 1, 7, "PKCS-9" }, /* 112 */
+ { 0x01, 114, 0, 8, "E" }, /* 113 */
+ { 0x02, 115, 0, 8, "unstructuredName" }, /* 114 */
+ { 0x03, 116, 0, 8, "contentType" }, /* 115 */
+ { 0x04, 117, 0, 8, "messageDigest" }, /* 116 */
+ { 0x05, 118, 0, 8, "signingTime" }, /* 117 */
+ { 0x06, 119, 0, 8, "counterSignature" }, /* 118 */
+ { 0x07, 120, 0, 8, "challengePassword" }, /* 119 */
+ { 0x08, 121, 0, 8, "unstructuredAddress" }, /* 120 */
+ { 0x0E, 122, 0, 8, "extensionRequest" }, /* 121 */
+ { 0x0F, 0, 0, 8, "S/MIME Capabilities" }, /* 122 */
+ { 0x02, 126, 1, 6, "digestAlgorithm" }, /* 123 */
+ { 0x02, 125, 0, 7, "md2" }, /* 124 */
+ { 0x05, 0, 0, 7, "md5" }, /* 125 */
+ { 0x03, 0, 1, 6, "encryptionAlgorithm" }, /* 126 */
+ { 0x07, 0, 0, 7, "3des-ede-cbc" }, /* 127 */
+ { 0xCE, 0, 1, 3, "" }, /* 128 */
+ { 0x3D, 0, 1, 4, "ansi-X9-62" }, /* 129 */
+ { 0x02, 132, 1, 5, "id-publicKeyType" }, /* 130 */
+ { 0x01, 0, 0, 6, "id-ecPublicKey" }, /* 131 */
+ { 0x03, 162, 1, 5, "ellipticCurve" }, /* 132 */
+ { 0x00, 154, 1, 6, "c-TwoCurve" }, /* 133 */
+ { 0x01, 135, 0, 7, "c2pnb163v1" }, /* 134 */
+ { 0x02, 136, 0, 7, "c2pnb163v2" }, /* 135 */
+ { 0x03, 137, 0, 7, "c2pnb163v3" }, /* 136 */
+ { 0x04, 138, 0, 7, "c2pnb176w1" }, /* 137 */
+ { 0x05, 139, 0, 7, "c2tnb191v1" }, /* 138 */
+ { 0x06, 140, 0, 7, "c2tnb191v2" }, /* 139 */
+ { 0x07, 141, 0, 7, "c2tnb191v3" }, /* 140 */
+ { 0x08, 142, 0, 7, "c2onb191v4" }, /* 141 */
+ { 0x09, 143, 0, 7, "c2onb191v5" }, /* 142 */
+ { 0x0A, 144, 0, 7, "c2pnb208w1" }, /* 143 */
+ { 0x0B, 145, 0, 7, "c2tnb239v1" }, /* 144 */
+ { 0x0C, 146, 0, 7, "c2tnb239v2" }, /* 145 */
+ { 0x0D, 147, 0, 7, "c2tnb239v3" }, /* 146 */
+ { 0x0E, 148, 0, 7, "c2onb239v4" }, /* 147 */
+ { 0x0F, 149, 0, 7, "c2onb239v5" }, /* 148 */
+ { 0x10, 150, 0, 7, "c2pnb272w1" }, /* 149 */
+ { 0x11, 151, 0, 7, "c2pnb304w1" }, /* 150 */
+ { 0x12, 152, 0, 7, "c2tnb359v1" }, /* 151 */
+ { 0x13, 153, 0, 7, "c2pnb368w1" }, /* 152 */
+ { 0x14, 0, 0, 7, "c2tnb431r1" }, /* 153 */
+ { 0x01, 0, 1, 6, "primeCurve" }, /* 154 */
+ { 0x01, 156, 0, 7, "prime192v1" }, /* 155 */
+ { 0x02, 157, 0, 7, "prime192v2" }, /* 156 */
+ { 0x03, 158, 0, 7, "prime192v3" }, /* 157 */
+ { 0x04, 159, 0, 7, "prime239v1" }, /* 158 */
+ { 0x05, 160, 0, 7, "prime239v2" }, /* 159 */
+ { 0x06, 161, 0, 7, "prime239v3" }, /* 160 */
+ { 0x07, 0, 0, 7, "prime256v1" }, /* 161 */
+ { 0x04, 0, 1, 5, "id-ecSigType" }, /* 162 */
+ { 0x01, 164, 0, 6, "ecdsa-with-SHA1" }, /* 163 */
+ { 0x03, 0, 1, 6, "ecdsa-with-Specified" }, /* 164 */
+ { 0x01, 166, 0, 7, "ecdsa-with-SHA224" }, /* 165 */
+ { 0x02, 167, 0, 7, "ecdsa-with-SHA256" }, /* 166 */
+ { 0x03, 168, 0, 7, "ecdsa-with-SHA384" }, /* 167 */
+ { 0x04, 0, 0, 7, "ecdsa-with-SHA512" }, /* 168 */
+ {0x2B, 320, 1, 0, "" }, /* 169 */
+ { 0x06, 234, 1, 1, "dod" }, /* 170 */
+ { 0x01, 0, 1, 2, "internet" }, /* 171 */
+ { 0x04, 194, 1, 3, "private" }, /* 172 */
+ { 0x01, 0, 1, 4, "enterprise" }, /* 173 */
+ { 0x82, 187, 1, 5, "" }, /* 174 */
+ { 0x37, 184, 1, 6, "Microsoft" }, /* 175 */
+ { 0x0A, 180, 1, 7, "" }, /* 176 */
+ { 0x03, 0, 1, 8, "" }, /* 177 */
+ { 0x03, 179, 0, 9, "msSGC" }, /* 178 */
+ { 0x04, 0, 0, 9, "msEncryptingFileSystem" }, /* 179 */
+ { 0x14, 0, 1, 7, "msEnrollmentInfrastructure"}, /* 180 */
+ { 0x02, 0, 1, 8, "msCertificateTypeExtension"}, /* 181 */
+ { 0x02, 183, 0, 9, "msSmartcardLogon" }, /* 182 */
+ { 0x03, 0, 0, 9, "msUPN" }, /* 183 */
+ { 0xA0, 0, 1, 6, "" }, /* 184 */
+ { 0x2A, 0, 1, 7, "ITA" }, /* 185 */
+ { 0x01, 0, 0, 8, "strongSwan" }, /* 186 */
+ { 0x89, 0, 1, 5, "" }, /* 187 */
+ { 0x31, 0, 1, 6, "" }, /* 188 */
+ { 0x01, 0, 1, 7, "" }, /* 189 */
+ { 0x01, 0, 1, 8, "" }, /* 190 */
+ { 0x02, 0, 1, 9, "" }, /* 191 */
+ { 0x02, 0, 1, 10, "" }, /* 192 */
+ { 0x4B, 0, 0, 11, "TCGID" }, /* 193 */
+ { 0x05, 0, 1, 3, "security" }, /* 194 */
+ { 0x05, 0, 1, 4, "mechanisms" }, /* 195 */
+ { 0x07, 0, 1, 5, "id-pkix" }, /* 196 */
+ { 0x01, 201, 1, 6, "id-pe" }, /* 197 */
+ { 0x01, 199, 0, 7, "authorityInfoAccess" }, /* 198 */
+ { 0x03, 200, 0, 7, "qcStatements" }, /* 199 */
+ { 0x07, 0, 0, 7, "ipAddrBlocks" }, /* 200 */
+ { 0x02, 204, 1, 6, "id-qt" }, /* 201 */
+ { 0x01, 203, 0, 7, "cps" }, /* 202 */
+ { 0x02, 0, 0, 7, "unotice" }, /* 203 */
+ { 0x03, 214, 1, 6, "id-kp" }, /* 204 */
+ { 0x01, 206, 0, 7, "serverAuth" }, /* 205 */
+ { 0x02, 207, 0, 7, "clientAuth" }, /* 206 */
+ { 0x03, 208, 0, 7, "codeSigning" }, /* 207 */
+ { 0x04, 209, 0, 7, "emailProtection" }, /* 208 */
+ { 0x05, 210, 0, 7, "ipsecEndSystem" }, /* 209 */
+ { 0x06, 211, 0, 7, "ipsecTunnel" }, /* 210 */
+ { 0x07, 212, 0, 7, "ipsecUser" }, /* 211 */
+ { 0x08, 213, 0, 7, "timeStamping" }, /* 212 */
+ { 0x09, 0, 0, 7, "ocspSigning" }, /* 213 */
+ { 0x08, 216, 1, 6, "id-otherNames" }, /* 214 */
+ { 0x05, 0, 0, 7, "xmppAddr" }, /* 215 */
+ { 0x0A, 221, 1, 6, "id-aca" }, /* 216 */
+ { 0x01, 218, 0, 7, "authenticationInfo" }, /* 217 */
+ { 0x02, 219, 0, 7, "accessIdentity" }, /* 218 */
+ { 0x03, 220, 0, 7, "chargingIdentity" }, /* 219 */
+ { 0x04, 0, 0, 7, "group" }, /* 220 */
+ { 0x0B, 222, 0, 6, "subjectInfoAccess" }, /* 221 */
+ { 0x30, 0, 1, 6, "id-ad" }, /* 222 */
+ { 0x01, 231, 1, 7, "ocsp" }, /* 223 */
+ { 0x01, 225, 0, 8, "basic" }, /* 224 */
+ { 0x02, 226, 0, 8, "nonce" }, /* 225 */
+ { 0x03, 227, 0, 8, "crl" }, /* 226 */
+ { 0x04, 228, 0, 8, "response" }, /* 227 */
+ { 0x05, 229, 0, 8, "noCheck" }, /* 228 */
+ { 0x06, 230, 0, 8, "archiveCutoff" }, /* 229 */
+ { 0x07, 0, 0, 8, "serviceLocator" }, /* 230 */
+ { 0x02, 232, 0, 7, "caIssuers" }, /* 231 */
+ { 0x03, 233, 0, 7, "timeStamping" }, /* 232 */
+ { 0x05, 0, 0, 7, "caRepository" }, /* 233 */
+ { 0x0E, 240, 1, 1, "oiw" }, /* 234 */
+ { 0x03, 0, 1, 2, "secsig" }, /* 235 */
+ { 0x02, 0, 1, 3, "algorithms" }, /* 236 */
+ { 0x07, 238, 0, 4, "des-cbc" }, /* 237 */
+ { 0x1A, 239, 0, 4, "sha-1" }, /* 238 */
+ { 0x1D, 0, 0, 4, "sha-1WithRSASignature" }, /* 239 */
+ { 0x24, 286, 1, 1, "TeleTrusT" }, /* 240 */
+ { 0x03, 0, 1, 2, "algorithm" }, /* 241 */
+ { 0x03, 0, 1, 3, "signatureAlgorithm" }, /* 242 */
+ { 0x01, 247, 1, 4, "rsaSignature" }, /* 243 */
+ { 0x02, 245, 0, 5, "rsaSigWithripemd160" }, /* 244 */
+ { 0x03, 246, 0, 5, "rsaSigWithripemd128" }, /* 245 */
+ { 0x04, 0, 0, 5, "rsaSigWithripemd256" }, /* 246 */
+ { 0x02, 0, 1, 4, "ecSign" }, /* 247 */
+ { 0x01, 249, 0, 5, "ecSignWithsha1" }, /* 248 */
+ { 0x02, 250, 0, 5, "ecSignWithripemd160" }, /* 249 */
+ { 0x03, 251, 0, 5, "ecSignWithmd2" }, /* 250 */
+ { 0x04, 252, 0, 5, "ecSignWithmd5" }, /* 251 */
+ { 0x05, 269, 1, 5, "ttt-ecg" }, /* 252 */
+ { 0x01, 257, 1, 6, "fieldType" }, /* 253 */
+ { 0x01, 0, 1, 7, "characteristictwoField" }, /* 254 */
+ { 0x01, 0, 1, 8, "basisType" }, /* 255 */
+ { 0x01, 0, 0, 9, "ipBasis" }, /* 256 */
+ { 0x02, 259, 1, 6, "keyType" }, /* 257 */
+ { 0x01, 0, 0, 7, "ecgPublicKey" }, /* 258 */
+ { 0x03, 260, 0, 6, "curve" }, /* 259 */
+ { 0x04, 267, 1, 6, "signatures" }, /* 260 */
+ { 0x01, 262, 0, 7, "ecgdsa-with-RIPEMD160" }, /* 261 */
+ { 0x02, 263, 0, 7, "ecgdsa-with-SHA1" }, /* 262 */
+ { 0x03, 264, 0, 7, "ecgdsa-with-SHA224" }, /* 263 */
+ { 0x04, 265, 0, 7, "ecgdsa-with-SHA256" }, /* 264 */
+ { 0x05, 266, 0, 7, "ecgdsa-with-SHA384" }, /* 265 */
+ { 0x06, 0, 0, 7, "ecgdsa-with-SHA512" }, /* 266 */
+ { 0x05, 0, 1, 6, "module" }, /* 267 */
+ { 0x01, 0, 0, 7, "1" }, /* 268 */
+ { 0x08, 0, 1, 5, "ecStdCurvesAndGeneration" }, /* 269 */
+ { 0x01, 0, 1, 6, "ellipticCurve" }, /* 270 */
+ { 0x01, 0, 1, 7, "versionOne" }, /* 271 */
+ { 0x01, 273, 0, 8, "brainpoolP160r1" }, /* 272 */
+ { 0x02, 274, 0, 8, "brainpoolP160t1" }, /* 273 */
+ { 0x03, 275, 0, 8, "brainpoolP192r1" }, /* 274 */
+ { 0x04, 276, 0, 8, "brainpoolP192t1" }, /* 275 */
+ { 0x05, 277, 0, 8, "brainpoolP224r1" }, /* 276 */
+ { 0x06, 278, 0, 8, "brainpoolP224t1" }, /* 277 */
+ { 0x07, 279, 0, 8, "brainpoolP256r1" }, /* 278 */
+ { 0x08, 280, 0, 8, "brainpoolP256t1" }, /* 279 */
+ { 0x09, 281, 0, 8, "brainpoolP320r1" }, /* 280 */
+ { 0x0A, 282, 0, 8, "brainpoolP320t1" }, /* 281 */
+ { 0x0B, 283, 0, 8, "brainpoolP384r1" }, /* 282 */
+ { 0x0C, 284, 0, 8, "brainpoolP384t1" }, /* 283 */
+ { 0x0D, 285, 0, 8, "brainpoolP512r1" }, /* 284 */
+ { 0x0E, 0, 0, 8, "brainpoolP512t1" }, /* 285 */
+ { 0x81, 0, 1, 1, "" }, /* 286 */
+ { 0x04, 0, 1, 2, "Certicom" }, /* 287 */
+ { 0x00, 0, 1, 3, "curve" }, /* 288 */
+ { 0x01, 290, 0, 4, "sect163k1" }, /* 289 */
+ { 0x02, 291, 0, 4, "sect163r1" }, /* 290 */
+ { 0x03, 292, 0, 4, "sect239k1" }, /* 291 */
+ { 0x04, 293, 0, 4, "sect113r1" }, /* 292 */
+ { 0x05, 294, 0, 4, "sect113r2" }, /* 293 */
+ { 0x06, 295, 0, 4, "secp112r1" }, /* 294 */
+ { 0x07, 296, 0, 4, "secp112r2" }, /* 295 */
+ { 0x08, 297, 0, 4, "secp160r1" }, /* 296 */
+ { 0x09, 298, 0, 4, "secp160k1" }, /* 297 */
+ { 0x0A, 299, 0, 4, "secp256k1" }, /* 298 */
+ { 0x0F, 300, 0, 4, "sect163r2" }, /* 299 */
+ { 0x10, 301, 0, 4, "sect283k1" }, /* 300 */
+ { 0x11, 302, 0, 4, "sect283r1" }, /* 301 */
+ { 0x16, 303, 0, 4, "sect131r1" }, /* 302 */
+ { 0x17, 304, 0, 4, "sect131r2" }, /* 303 */
+ { 0x18, 305, 0, 4, "sect193r1" }, /* 304 */
+ { 0x19, 306, 0, 4, "sect193r2" }, /* 305 */
+ { 0x1A, 307, 0, 4, "sect233k1" }, /* 306 */
+ { 0x1B, 308, 0, 4, "sect233r1" }, /* 307 */
+ { 0x1C, 309, 0, 4, "secp128r1" }, /* 308 */
+ { 0x1D, 310, 0, 4, "secp128r2" }, /* 309 */
+ { 0x1E, 311, 0, 4, "secp160r2" }, /* 310 */
+ { 0x1F, 312, 0, 4, "secp192k1" }, /* 311 */
+ { 0x20, 313, 0, 4, "secp224k1" }, /* 312 */
+ { 0x21, 314, 0, 4, "secp224r1" }, /* 313 */
+ { 0x22, 315, 0, 4, "secp384r1" }, /* 314 */
+ { 0x23, 316, 0, 4, "secp521r1" }, /* 315 */
+ { 0x24, 317, 0, 4, "sect409k1" }, /* 316 */
+ { 0x25, 318, 0, 4, "sect409r1" }, /* 317 */
+ { 0x26, 319, 0, 4, "sect571k1" }, /* 318 */
+ { 0x27, 0, 0, 4, "sect571r1" }, /* 319 */
+ {0x60, 366, 1, 0, "" }, /* 320 */
+ { 0x86, 0, 1, 1, "" }, /* 321 */
+ { 0x48, 0, 1, 2, "" }, /* 322 */
+ { 0x01, 0, 1, 3, "organization" }, /* 323 */
+ { 0x65, 342, 1, 4, "gov" }, /* 324 */
+ { 0x03, 0, 1, 5, "csor" }, /* 325 */
+ { 0x04, 0, 1, 6, "nistalgorithm" }, /* 326 */
+ { 0x01, 337, 1, 7, "aes" }, /* 327 */
+ { 0x02, 329, 0, 8, "id-aes128-CBC" }, /* 328 */
+ { 0x06, 330, 0, 8, "id-aes128-GCM" }, /* 329 */
+ { 0x07, 331, 0, 8, "id-aes128-CCM" }, /* 330 */
+ { 0x16, 332, 0, 8, "id-aes192-CBC" }, /* 331 */
+ { 0x1A, 333, 0, 8, "id-aes192-GCM" }, /* 332 */
+ { 0x1B, 334, 0, 8, "id-aes192-CCM" }, /* 333 */
+ { 0x2A, 335, 0, 8, "id-aes256-CBC" }, /* 334 */
+ { 0x2E, 336, 0, 8, "id-aes256-GCM" }, /* 335 */
+ { 0x2F, 0, 0, 8, "id-aes256-CCM" }, /* 336 */
+ { 0x02, 0, 1, 7, "hashalgs" }, /* 337 */
+ { 0x01, 339, 0, 8, "id-SHA-256" }, /* 338 */
+ { 0x02, 340, 0, 8, "id-SHA-384" }, /* 339 */
+ { 0x03, 341, 0, 8, "id-SHA-512" }, /* 340 */
+ { 0x04, 0, 0, 8, "id-SHA-224" }, /* 341 */
+ { 0x86, 0, 1, 4, "" }, /* 342 */
+ { 0xf8, 0, 1, 5, "" }, /* 343 */
+ { 0x42, 356, 1, 6, "netscape" }, /* 344 */
+ { 0x01, 351, 1, 7, "" }, /* 345 */
+ { 0x01, 347, 0, 8, "nsCertType" }, /* 346 */
+ { 0x03, 348, 0, 8, "nsRevocationUrl" }, /* 347 */
+ { 0x04, 349, 0, 8, "nsCaRevocationUrl" }, /* 348 */
+ { 0x08, 350, 0, 8, "nsCaPolicyUrl" }, /* 349 */
+ { 0x0d, 0, 0, 8, "nsComment" }, /* 350 */
+ { 0x03, 354, 1, 7, "directory" }, /* 351 */
+ { 0x01, 0, 1, 8, "" }, /* 352 */
+ { 0x03, 0, 0, 9, "employeeNumber" }, /* 353 */
+ { 0x04, 0, 1, 7, "policy" }, /* 354 */
+ { 0x01, 0, 0, 8, "nsSGC" }, /* 355 */
+ { 0x45, 0, 1, 6, "verisign" }, /* 356 */
+ { 0x01, 0, 1, 7, "pki" }, /* 357 */
+ { 0x09, 0, 1, 8, "attributes" }, /* 358 */
+ { 0x02, 360, 0, 9, "messageType" }, /* 359 */
+ { 0x03, 361, 0, 9, "pkiStatus" }, /* 360 */
+ { 0x04, 362, 0, 9, "failInfo" }, /* 361 */
+ { 0x05, 363, 0, 9, "senderNonce" }, /* 362 */
+ { 0x06, 364, 0, 9, "recipientNonce" }, /* 363 */
+ { 0x07, 365, 0, 9, "transID" }, /* 364 */
+ { 0x08, 0, 0, 9, "extensionReq" }, /* 365 */
+ {0x67, 0, 1, 0, "" }, /* 366 */
+ { 0x81, 0, 1, 1, "" }, /* 367 */
+ { 0x05, 0, 1, 2, "" }, /* 368 */
+ { 0x02, 0, 1, 3, "tcg-attribute" }, /* 369 */
+ { 0x01, 371, 0, 4, "tcg-at-tpmManufacturer" }, /* 370 */
+ { 0x02, 372, 0, 4, "tcg-at-tpmModel" }, /* 371 */
+ { 0x03, 373, 0, 4, "tcg-at-tpmVersion" }, /* 372 */
+ { 0x0F, 0, 0, 4, "tcg-at-tpmIdLabel" } /* 373 */
};
diff --git a/src/libstrongswan/asn1/oid.h b/src/libstrongswan/asn1/oid.h
index 61db061f7..a01c434a9 100644
--- a/src/libstrongswan/asn1/oid.h
+++ b/src/libstrongswan/asn1/oid.h
@@ -39,182 +39,187 @@ extern const oid_t oid_names[];
#define OID_GIVEN_NAME 32
#define OID_INITIALS 33
#define OID_UNIQUE_IDENTIFIER 34
-#define OID_ROLE 35
-#define OID_SUBJECT_KEY_ID 38
-#define OID_KEY_USAGE 39
-#define OID_SUBJECT_ALT_NAME 41
-#define OID_BASIC_CONSTRAINTS 43
-#define OID_CRL_NUMBER 44
-#define OID_CRL_REASON_CODE 45
-#define OID_DELTA_CRL_INDICATOR 48
-#define OID_NAME_CONSTRAINTS 51
-#define OID_CRL_DISTRIBUTION_POINTS 52
-#define OID_CERTIFICATE_POLICIES 53
-#define OID_ANY_POLICY 54
-#define OID_POLICY_MAPPINGS 55
-#define OID_AUTHORITY_KEY_ID 56
-#define OID_POLICY_CONSTRAINTS 57
-#define OID_EXTENDED_KEY_USAGE 58
-#define OID_FRESHEST_CRL 60
-#define OID_INHIBIT_ANY_POLICY 61
-#define OID_TARGET_INFORMATION 62
-#define OID_NO_REV_AVAIL 63
-#define OID_CAMELLIA128_CBC 74
-#define OID_CAMELLIA192_CBC 75
-#define OID_CAMELLIA256_CBC 76
-#define OID_RSA_ENCRYPTION 89
-#define OID_MD2_WITH_RSA 90
-#define OID_MD5_WITH_RSA 91
-#define OID_SHA1_WITH_RSA 92
-#define OID_RSAES_OAEP 93
-#define OID_SHA256_WITH_RSA 95
-#define OID_SHA384_WITH_RSA 96
-#define OID_SHA512_WITH_RSA 97
-#define OID_SHA224_WITH_RSA 98
-#define OID_PKCS7_DATA 100
-#define OID_PKCS7_SIGNED_DATA 101
-#define OID_PKCS7_ENVELOPED_DATA 102
-#define OID_PKCS7_SIGNED_ENVELOPED_DATA 103
-#define OID_PKCS7_DIGESTED_DATA 104
-#define OID_PKCS7_ENCRYPTED_DATA 105
-#define OID_EMAIL_ADDRESS 107
-#define OID_UNSTRUCTURED_NAME 108
-#define OID_PKCS9_CONTENT_TYPE 109
-#define OID_PKCS9_MESSAGE_DIGEST 110
-#define OID_PKCS9_SIGNING_TIME 111
-#define OID_CHALLENGE_PASSWORD 113
-#define OID_UNSTRUCTURED_ADDRESS 114
-#define OID_EXTENSION_REQUEST 115
-#define OID_MD2 118
-#define OID_MD5 119
-#define OID_3DES_EDE_CBC 121
-#define OID_EC_PUBLICKEY 125
-#define OID_C2PNB163V1 128
-#define OID_C2PNB163V2 129
-#define OID_C2PNB163V3 130
-#define OID_C2PNB176W1 131
-#define OID_C2PNB191V1 132
-#define OID_C2PNB191V2 133
-#define OID_C2PNB191V3 134
-#define OID_C2PNB191V4 135
-#define OID_C2PNB191V5 136
-#define OID_C2PNB208W1 137
-#define OID_C2PNB239V1 138
-#define OID_C2PNB239V2 139
-#define OID_C2PNB239V3 140
-#define OID_C2PNB239V4 141
-#define OID_C2PNB239V5 142
-#define OID_C2PNB272W1 143
-#define OID_C2PNB304W1 144
-#define OID_C2PNB359V1 145
-#define OID_C2PNB368W1 146
-#define OID_C2PNB431R1 147
-#define OID_PRIME192V1 149
-#define OID_PRIME192V2 150
-#define OID_PRIME192V3 151
-#define OID_PRIME239V1 152
-#define OID_PRIME239V2 153
-#define OID_PRIME239V3 154
-#define OID_PRIME256V1 155
-#define OID_ECDSA_WITH_SHA1 157
-#define OID_ECDSA_WITH_SHA224 159
-#define OID_ECDSA_WITH_SHA256 160
-#define OID_ECDSA_WITH_SHA384 161
-#define OID_ECDSA_WITH_SHA512 162
-#define OID_USER_PRINCIPAL_NAME 177
-#define OID_STRONGSWAN 180
-#define OID_TCGID 187
-#define OID_AUTHORITY_INFO_ACCESS 192
-#define OID_IP_ADDR_BLOCKS 194
-#define OID_POLICY_QUALIFIER_CPS 196
-#define OID_POLICY_QUALIFIER_UNOTICE 197
-#define OID_SERVER_AUTH 199
-#define OID_CLIENT_AUTH 200
-#define OID_OCSP_SIGNING 207
-#define OID_XMPP_ADDR 209
-#define OID_AUTHENTICATION_INFO 211
-#define OID_ACCESS_IDENTITY 212
-#define OID_CHARGING_IDENTITY 213
-#define OID_GROUP 214
-#define OID_OCSP 217
-#define OID_BASIC 218
-#define OID_NONCE 219
-#define OID_CRL 220
-#define OID_RESPONSE 221
-#define OID_NO_CHECK 222
-#define OID_ARCHIVE_CUTOFF 223
-#define OID_SERVICE_LOCATOR 224
-#define OID_CA_ISSUERS 225
-#define OID_DES_CBC 231
-#define OID_SHA1 232
-#define OID_SHA1_WITH_RSA_OIW 233
-#define OID_ECGDSA_PUBKEY 252
-#define OID_ECGDSA_SIG_WITH_RIPEMD160 255
-#define OID_ECGDSA_SIG_WITH_SHA1 256
-#define OID_ECGDSA_SIG_WITH_SHA224 257
-#define OID_ECGDSA_SIG_WITH_SHA256 258
-#define OID_ECGDSA_SIG_WITH_SHA384 259
-#define OID_ECGDSA_SIG_WITH_SHA512 260
-#define OID_SECT163K1 283
-#define OID_SECT163R1 284
-#define OID_SECT239K1 285
-#define OID_SECT113R1 286
-#define OID_SECT113R2 287
-#define OID_SECT112R1 288
-#define OID_SECT112R2 289
-#define OID_SECT160R1 290
-#define OID_SECT160K1 291
-#define OID_SECT256K1 292
-#define OID_SECT163R2 293
-#define OID_SECT283K1 294
-#define OID_SECT283R1 295
-#define OID_SECT131R1 296
-#define OID_SECT131R2 297
-#define OID_SECT193R1 298
-#define OID_SECT193R2 299
-#define OID_SECT233K1 300
-#define OID_SECT233R1 301
-#define OID_SECT128R1 302
-#define OID_SECT128R2 303
-#define OID_SECT160R2 304
-#define OID_SECT192K1 305
-#define OID_SECT224K1 306
-#define OID_SECT224R1 307
-#define OID_SECT384R1 308
-#define OID_SECT521R1 309
-#define OID_SECT409K1 310
-#define OID_SECT409R1 311
-#define OID_SECT571K1 312
-#define OID_SECT571R1 313
-#define OID_AES128_CBC 322
-#define OID_AES128_GCM 323
-#define OID_AES128_CCM 324
-#define OID_AES192_CBC 325
-#define OID_AES192_GCM 326
-#define OID_AES192_CCM 327
-#define OID_AES256_CBC 328
-#define OID_AES256_GCM 329
-#define OID_AES256_CCM 330
-#define OID_SHA256 332
-#define OID_SHA384 333
-#define OID_SHA512 334
-#define OID_SHA224 335
-#define OID_NS_REVOCATION_URL 341
-#define OID_NS_CA_REVOCATION_URL 342
-#define OID_NS_CA_POLICY_URL 343
-#define OID_NS_COMMENT 344
-#define OID_EMPLOYEE_NUMBER 347
-#define OID_PKI_MESSAGE_TYPE 353
-#define OID_PKI_STATUS 354
-#define OID_PKI_FAIL_INFO 355
-#define OID_PKI_SENDER_NONCE 356
-#define OID_PKI_RECIPIENT_NONCE 357
-#define OID_PKI_TRANS_ID 358
-#define OID_TPM_MANUFACTURER 364
-#define OID_TPM_MODEL 365
-#define OID_TPM_VERSION 366
-#define OID_TPM_ID_LABEL 367
+#define OID_DN_QUALIFIER 35
+#define OID_ROLE 36
+#define OID_SUBJECT_KEY_ID 39
+#define OID_KEY_USAGE 40
+#define OID_SUBJECT_ALT_NAME 42
+#define OID_BASIC_CONSTRAINTS 44
+#define OID_CRL_NUMBER 45
+#define OID_CRL_REASON_CODE 46
+#define OID_DELTA_CRL_INDICATOR 49
+#define OID_NAME_CONSTRAINTS 52
+#define OID_CRL_DISTRIBUTION_POINTS 53
+#define OID_CERTIFICATE_POLICIES 54
+#define OID_ANY_POLICY 55
+#define OID_POLICY_MAPPINGS 56
+#define OID_AUTHORITY_KEY_ID 57
+#define OID_POLICY_CONSTRAINTS 58
+#define OID_EXTENDED_KEY_USAGE 59
+#define OID_FRESHEST_CRL 61
+#define OID_INHIBIT_ANY_POLICY 62
+#define OID_TARGET_INFORMATION 63
+#define OID_NO_REV_AVAIL 64
+#define OID_CAMELLIA128_CBC 75
+#define OID_CAMELLIA192_CBC 76
+#define OID_CAMELLIA256_CBC 77
+#define OID_RSA_ENCRYPTION 90
+#define OID_MD2_WITH_RSA 91
+#define OID_MD5_WITH_RSA 92
+#define OID_SHA1_WITH_RSA 93
+#define OID_RSAES_OAEP 94
+#define OID_SHA256_WITH_RSA 96
+#define OID_SHA384_WITH_RSA 97
+#define OID_SHA512_WITH_RSA 98
+#define OID_SHA224_WITH_RSA 99
+#define OID_PBE_MD5_DES_CBC 101
+#define OID_PBE_SHA1_DES_CBC 102
+#define OID_PBKDF2 103
+#define OID_PBES2 104
+#define OID_PKCS7_DATA 106
+#define OID_PKCS7_SIGNED_DATA 107
+#define OID_PKCS7_ENVELOPED_DATA 108
+#define OID_PKCS7_SIGNED_ENVELOPED_DATA 109
+#define OID_PKCS7_DIGESTED_DATA 110
+#define OID_PKCS7_ENCRYPTED_DATA 111
+#define OID_EMAIL_ADDRESS 113
+#define OID_UNSTRUCTURED_NAME 114
+#define OID_PKCS9_CONTENT_TYPE 115
+#define OID_PKCS9_MESSAGE_DIGEST 116
+#define OID_PKCS9_SIGNING_TIME 117
+#define OID_CHALLENGE_PASSWORD 119
+#define OID_UNSTRUCTURED_ADDRESS 120
+#define OID_EXTENSION_REQUEST 121
+#define OID_MD2 124
+#define OID_MD5 125
+#define OID_3DES_EDE_CBC 127
+#define OID_EC_PUBLICKEY 131
+#define OID_C2PNB163V1 134
+#define OID_C2PNB163V2 135
+#define OID_C2PNB163V3 136
+#define OID_C2PNB176W1 137
+#define OID_C2PNB191V1 138
+#define OID_C2PNB191V2 139
+#define OID_C2PNB191V3 140
+#define OID_C2PNB191V4 141
+#define OID_C2PNB191V5 142
+#define OID_C2PNB208W1 143
+#define OID_C2PNB239V1 144
+#define OID_C2PNB239V2 145
+#define OID_C2PNB239V3 146
+#define OID_C2PNB239V4 147
+#define OID_C2PNB239V5 148
+#define OID_C2PNB272W1 149
+#define OID_C2PNB304W1 150
+#define OID_C2PNB359V1 151
+#define OID_C2PNB368W1 152
+#define OID_C2PNB431R1 153
+#define OID_PRIME192V1 155
+#define OID_PRIME192V2 156
+#define OID_PRIME192V3 157
+#define OID_PRIME239V1 158
+#define OID_PRIME239V2 159
+#define OID_PRIME239V3 160
+#define OID_PRIME256V1 161
+#define OID_ECDSA_WITH_SHA1 163
+#define OID_ECDSA_WITH_SHA224 165
+#define OID_ECDSA_WITH_SHA256 166
+#define OID_ECDSA_WITH_SHA384 167
+#define OID_ECDSA_WITH_SHA512 168
+#define OID_USER_PRINCIPAL_NAME 183
+#define OID_STRONGSWAN 186
+#define OID_TCGID 193
+#define OID_AUTHORITY_INFO_ACCESS 198
+#define OID_IP_ADDR_BLOCKS 200
+#define OID_POLICY_QUALIFIER_CPS 202
+#define OID_POLICY_QUALIFIER_UNOTICE 203
+#define OID_SERVER_AUTH 205
+#define OID_CLIENT_AUTH 206
+#define OID_OCSP_SIGNING 213
+#define OID_XMPP_ADDR 215
+#define OID_AUTHENTICATION_INFO 217
+#define OID_ACCESS_IDENTITY 218
+#define OID_CHARGING_IDENTITY 219
+#define OID_GROUP 220
+#define OID_OCSP 223
+#define OID_BASIC 224
+#define OID_NONCE 225
+#define OID_CRL 226
+#define OID_RESPONSE 227
+#define OID_NO_CHECK 228
+#define OID_ARCHIVE_CUTOFF 229
+#define OID_SERVICE_LOCATOR 230
+#define OID_CA_ISSUERS 231
+#define OID_DES_CBC 237
+#define OID_SHA1 238
+#define OID_SHA1_WITH_RSA_OIW 239
+#define OID_ECGDSA_PUBKEY 258
+#define OID_ECGDSA_SIG_WITH_RIPEMD160 261
+#define OID_ECGDSA_SIG_WITH_SHA1 262
+#define OID_ECGDSA_SIG_WITH_SHA224 263
+#define OID_ECGDSA_SIG_WITH_SHA256 264
+#define OID_ECGDSA_SIG_WITH_SHA384 265
+#define OID_ECGDSA_SIG_WITH_SHA512 266
+#define OID_SECT163K1 289
+#define OID_SECT163R1 290
+#define OID_SECT239K1 291
+#define OID_SECT113R1 292
+#define OID_SECT113R2 293
+#define OID_SECT112R1 294
+#define OID_SECT112R2 295
+#define OID_SECT160R1 296
+#define OID_SECT160K1 297
+#define OID_SECT256K1 298
+#define OID_SECT163R2 299
+#define OID_SECT283K1 300
+#define OID_SECT283R1 301
+#define OID_SECT131R1 302
+#define OID_SECT131R2 303
+#define OID_SECT193R1 304
+#define OID_SECT193R2 305
+#define OID_SECT233K1 306
+#define OID_SECT233R1 307
+#define OID_SECT128R1 308
+#define OID_SECT128R2 309
+#define OID_SECT160R2 310
+#define OID_SECT192K1 311
+#define OID_SECT224K1 312
+#define OID_SECT224R1 313
+#define OID_SECT384R1 314
+#define OID_SECT521R1 315
+#define OID_SECT409K1 316
+#define OID_SECT409R1 317
+#define OID_SECT571K1 318
+#define OID_SECT571R1 319
+#define OID_AES128_CBC 328
+#define OID_AES128_GCM 329
+#define OID_AES128_CCM 330
+#define OID_AES192_CBC 331
+#define OID_AES192_GCM 332
+#define OID_AES192_CCM 333
+#define OID_AES256_CBC 334
+#define OID_AES256_GCM 335
+#define OID_AES256_CCM 336
+#define OID_SHA256 338
+#define OID_SHA384 339
+#define OID_SHA512 340
+#define OID_SHA224 341
+#define OID_NS_REVOCATION_URL 347
+#define OID_NS_CA_REVOCATION_URL 348
+#define OID_NS_CA_POLICY_URL 349
+#define OID_NS_COMMENT 350
+#define OID_EMPLOYEE_NUMBER 353
+#define OID_PKI_MESSAGE_TYPE 359
+#define OID_PKI_STATUS 360
+#define OID_PKI_FAIL_INFO 361
+#define OID_PKI_SENDER_NONCE 362
+#define OID_PKI_RECIPIENT_NONCE 363
+#define OID_PKI_TRANS_ID 364
+#define OID_TPM_MANUFACTURER 370
+#define OID_TPM_MODEL 371
+#define OID_TPM_VERSION 372
+#define OID_TPM_ID_LABEL 373
-#define OID_MAX 368
+#define OID_MAX 374
#endif /* OID_H_ */
diff --git a/src/libstrongswan/asn1/oid.txt b/src/libstrongswan/asn1/oid.txt
index f16287cb2..c3ff1a9e7 100644
--- a/src/libstrongswan/asn1/oid.txt
+++ b/src/libstrongswan/asn1/oid.txt
@@ -33,6 +33,7 @@
0x2A "G" OID_GIVEN_NAME
0x2B "I" OID_INITIALS
0x2D "ID" OID_UNIQUE_IDENTIFIER
+ 0x2E "dnQualifier" OID_DN_QUALIFIER
0x48 "role" OID_ROLE
0x1D "id-ce"
0x09 "subjectDirectoryAttrs"
@@ -97,6 +98,11 @@
0x0C "sha384WithRSAEncryption" OID_SHA384_WITH_RSA
0x0D "sha512WithRSAEncryption" OID_SHA512_WITH_RSA
0x0E "sha224WithRSAEncryption" OID_SHA224_WITH_RSA
+ 0x05 "PKCS-5"
+ 0x03 "pbeWithMD5AndDES-CBC" OID_PBE_MD5_DES_CBC
+ 0x0A "pbeWithSHA1AndDES-CBC" OID_PBE_SHA1_DES_CBC
+ 0x0C "id-PBKDF2" OID_PBKDF2
+ 0x0D "id-PBES2" OID_PBES2
0x07 "PKCS-7"
0x01 "data" OID_PKCS7_DATA
0x02 "signedData" OID_PKCS7_SIGNED_DATA