瀏覽代碼

add missing ASN1 types in der_encode_set()

Steffen Jaeckel 11 年之前
父節點
當前提交
7a5ea10e60
共有 1 個文件被更改,包括 9 次插入4 次删除
  1. 9 4
      src/pk/asn1/der/set/der_encode_set.c

+ 9 - 4
src/pk/asn1/der/set/der_encode_set.c

@@ -18,27 +18,32 @@
 #ifdef LTC_DER
 #ifdef LTC_DER
 
 
 /* LTC define to ASN.1 TAG */
 /* LTC define to ASN.1 TAG */
-static int ltc_to_asn1(int v)
+static int ltc_to_asn1(ltc_asn1_type v)
 {
 {
    switch (v) {
    switch (v) {
       case LTC_ASN1_BOOLEAN:                 return 0x01;
       case LTC_ASN1_BOOLEAN:                 return 0x01;
       case LTC_ASN1_INTEGER:
       case LTC_ASN1_INTEGER:
       case LTC_ASN1_SHORT_INTEGER:           return 0x02;
       case LTC_ASN1_SHORT_INTEGER:           return 0x02;
+      case LTC_ASN1_RAW_BIT_STRING:
       case LTC_ASN1_BIT_STRING:              return 0x03;
       case LTC_ASN1_BIT_STRING:              return 0x03;
       case LTC_ASN1_OCTET_STRING:            return 0x04;
       case LTC_ASN1_OCTET_STRING:            return 0x04;
       case LTC_ASN1_NULL:                    return 0x05;
       case LTC_ASN1_NULL:                    return 0x05;
       case LTC_ASN1_OBJECT_IDENTIFIER:       return 0x06;
       case LTC_ASN1_OBJECT_IDENTIFIER:       return 0x06;
       case LTC_ASN1_UTF8_STRING:             return 0x0C;
       case LTC_ASN1_UTF8_STRING:             return 0x0C;
       case LTC_ASN1_PRINTABLE_STRING:        return 0x13;
       case LTC_ASN1_PRINTABLE_STRING:        return 0x13;
+      case LTC_ASN1_TELETEX_STRING:          return 0x14;
       case LTC_ASN1_IA5_STRING:              return 0x16;
       case LTC_ASN1_IA5_STRING:              return 0x16;
       case LTC_ASN1_UTCTIME:                 return 0x17;
       case LTC_ASN1_UTCTIME:                 return 0x17;
       case LTC_ASN1_SEQUENCE:                return 0x30;
       case LTC_ASN1_SEQUENCE:                return 0x30;
       case LTC_ASN1_SET:
       case LTC_ASN1_SET:
       case LTC_ASN1_SETOF:                   return 0x31;
       case LTC_ASN1_SETOF:                   return 0x31;
-      default: return -1;
+      case LTC_ASN1_CHOICE:
+      case LTC_ASN1_CONSTRUCTED:
+      case LTC_ASN1_EOL:                     return -1;
    }
    }
-}         
-      
+   return -1;
+}
+
 
 
 static int qsort_helper(const void *a, const void *b)
 static int qsort_helper(const void *a, const void *b)
 {
 {