3 #include "componentlib.h"
5 AsnTypetoMatchingRuleTable directory_component_matching_table[] = {
6 "1.2.36.79672281.1.13.7",
8 { BASICTYPE_BOOLEAN,NULL,"1.3.6.1.4.1.1466.115.121.1.7", NULL },
9 { BASICTYPE_INTEGER,NULL ,"1.3.6.1.4.1.1466.115.121.1.27", NULL },
10 { BASICTYPE_BITSTRING,NULL ,"1.3.6.1.4.1.1466.115.121.1.6", NULL },
11 { BASICTYPE_OCTETSTRING,NULL , "1.3.6.1.4.1.1466.115.121.1.40", NULL },
12 { BASICTYPE_NULL,NULL , NULL, NULL },
13 { BASICTYPE_OID,NULL ,"1.3.6.1.4.1.1466.115.121.1.38", NULL },
14 { BASICTYPE_REAL,NULL , NULL, NULL },
15 { BASICTYPE_ENUMERATED,NULL , NULL, NULL },
16 { BASICTYPE_NUMERIC_STR, "numericStringMatch", "1.3.6.1.4.1.1466.115.121.1.36", NULL },
17 { BASICTYPE_PRINTABLE_STR, "caseIgnoreMatch", "1.3.6.1.4.1.1466.115.121.1.44", NULL },
18 { BASICTYPE_UNIVERSAL_STR, "caseIgnoreMatch" , NULL, NULL },
19 { BASICTYPE_IA5_STR, "caseIgnoreMatch", "1.3.6.1.4.1.1466.115.121.1.26", NULL },
20 { BASICTYPE_BMP_STR, "caseIgnoreMatch" , NULL, NULL },
21 { BASICTYPE_UTF8_STR, "caseIgnoreMatch" , NULL, NULL },
22 { BASICTYPE_UTCTIME, "uTCTimeMatch" , "1.3.6.1.4.1.1466.115.121.1.53", NULL },
23 { BASICTYPE_GENERALIZEDTIME, "generalizedTimeMatch" ,"1.3.6.1.4.1.1466.115.121.1.24", NULL },
24 { BASICTYPE_GRAPHIC_STR, "caseIgnoreMatch", NULL, NULL },
25 { BASICTYPE_VISIBLE_STR, "caseIgnoreMatch", NULL, NULL },
26 { BASICTYPE_GENERAL_STR, "caseIgnoreMatch", NULL, NULL },
27 { BASICTYPE_OBJECTDESCRIPTOR, NULL , NULL, NULL },
28 { BASICTYPE_VIDEOTEX_STR, "caseIgnoreMatch", NULL, NULL },
29 { BASICTYPE_T61_STR, "caseIgnoreMatch", NULL, NULL },
30 { BASICTYPE_OCTETCONTAINING, NULL , NULL, NULL },
31 { BASICTYPE_BITCONTAINING, NULL , NULL, NULL },
32 { BASICTYPE_RELATIVE_OID, NULL, "1.2.36.79672281.1.5.0", NULL },
33 { RDNSequence, "distinguishedNameMatch" , NULL, NULL },
34 { RelativeDistinguishedName, NULL , NULL, NULL },
35 { TelephoneNumber, "telephoneNumberMatch" , "1.3.6.1.4.1.1466.115.121.1.50", NULL },
36 { FacsimileTelephoneNumber__telephoneNumber, "telephoneNumberMatch","1.3.6.1.4.1.1466.115.121.1.22", NULL },
37 { DirectoryString, "caseIgnoreMatch" ,"1.3.6.1.4.1.1466.115.121.1.15", NULL },
38 { ASN_COMP_CERTIFICATE, NULL , "1.2.36.79672281.1.5.2" , NULL },
39 { ASNTYPE_END , NULL , NULL, NULL }
44 AsnTypetoSyntax asn_to_syntax_mapping_tbl[] = {
45 { BASICTYPE_BOOLEAN,"Boolean","1.3.6.1.4.1.1466.115.121.1.7", NULL },
46 { BASICTYPE_INTEGER,"Integer","1.3.6.1.4.1.1466.115.121.1.27", NULL },
47 { BASICTYPE_BITSTRING,"Bit String","1.3.6.1.4.1.1466.115.121.1.6", NULL },
48 { BASICTYPE_OCTETSTRING,"Octet String", "1.3.6.1.4.1.1466.115.121.1.40", NULL },
49 { BASICTYPE_NULL,NULL, NULL, NULL },
50 { BASICTYPE_OID,"OID","1.3.6.1.4.1.1466.115.121.1.38", NULL },
51 { BASICTYPE_REAL,NULL, NULL, NULL },
52 { BASICTYPE_ENUMERATED,"Integer", "1.3.6.1.4.1.1466.115.121.1.27", NULL },
53 { BASICTYPE_NUMERIC_STR, "Numeric String", "1.3.6.1.4.1.1466.115.121.1.36", NULL },
54 { BASICTYPE_PRINTABLE_STR, "Printable String", "1.3.6.1.4.1.1466.115.121.1.44", NULL },
55 { BASICTYPE_UNIVERSAL_STR, NULL , NULL, NULL },
56 { BASICTYPE_IA5_STR, "IA5 String", "1.3.6.1.4.1.1466.115.121.1.26", NULL },
57 { BASICTYPE_BMP_STR, NULL , NULL, NULL },
58 { BASICTYPE_UTF8_STR, "Directory String" , "1.3.6.1.4.1.1466.115.121.1.15", NULL },
59 { BASICTYPE_UTCTIME, "UTC Time" , "1.3.6.1.4.1.1466.115.121.1.53", NULL },
60 { BASICTYPE_GENERALIZEDTIME, "Generalized Time" ,"1.3.6.1.4.1.1466.115.121.1.24", NULL },
61 { BASICTYPE_GRAPHIC_STR, NULL, NULL, NULL },
62 { BASICTYPE_VISIBLE_STR, "Directory String", "1.3.6.1.4.1.1466.115.121.1.15", NULL },
63 { BASICTYPE_GENERAL_STR, NULL, NULL, NULL },
64 { BASICTYPE_OBJECTDESCRIPTOR, "Object Class Description", "1.3.6.1.4.1.1466.115.121.1.37", NULL },
65 { BASICTYPE_VIDEOTEX_STR, NULL, NULL, NULL },
66 { BASICTYPE_T61_STR, NULL, NULL, NULL },
67 { BASICTYPE_OCTETCONTAINING, NULL , NULL, NULL },
68 { BASICTYPE_BITCONTAINING, NULL , NULL, NULL },
69 { BASICTYPE_RELATIVE_OID, "OID", "1.3.6.1.4.1.1466.115.121.1.38", NULL },
70 { BASICTYPE_ANY, NULL, NULL, NULL },
71 { COMPOSITE_ASN1_TYPE, NULL , NULL, NULL },
72 { RDNSequence, "Distinguished Name" , "1.3.6.1.4.1.1466.115.121.1.12", NULL },
73 { RelativeDistinguishedName, "RDN", "1.2.36.79672281.1.5.0", NULL },
74 { TelephoneNumber, "Telephone Number" , "1.3.6.1.4.1.1466.115.121.1.50", NULL },
75 { FacsimileTelephoneNumber__telephoneNumber, "Facsimile Telephone Number","1.3.6.1.4.1.1466.115.121.1.22", NULL },
76 { DirectoryString, "Directory String" ,"1.3.6.1.4.1.1466.115.121.1.15", NULL },
77 { ASN_COMP_CERTIFICATE, "componentCertificate", "1.2.36.79672281.1.5.2" , NULL },
78 { ASNTYPE_END , NULL , NULL, NULL }
82 * This table describes relationship between an ASN.1 type and its
83 * potential matching rules such as equality, approx, ordering, and substring
84 * Based on the description of this table, the following ComponentType
85 * table is initialized
87 AsnTypetoCompMatchingRule asntype_to_compMR_mapping_tbl[] = {
88 { BASICTYPE_BOOLEAN, "booleanMatch", NULL, NULL, NULL },
89 { BASICTYPE_INTEGER, "integerMatch", NULL, "integerOrderingMatch", NULL },
90 { BASICTYPE_BITSTRING, "bitStringMatch", NULL, NULL, NULL },
91 { BASICTYPE_OCTETSTRING, "octetStringMatch", NULL, "octetStringOrderingMatch", NULL },
92 { BASICTYPE_NULL, NULL, NULL, NULL, NULL },
93 { BASICTYPE_OID, "objectIdentifierMatch", NULL, NULL, NULL },
94 { BASICTYPE_REAL, NULL, NULL, NULL, NULL },
95 { BASICTYPE_ENUMERATED, "integerMatch", NULL, "integerOrderingMatch", NULL },
96 { BASICTYPE_NUMERIC_STR, "numericStringMatch", NULL, "numericStringOrderingMatch", "numericStringSubstringsMatch"},
97 { BASICTYPE_PRINTABLE_STR, "caseIgnoreMatch", "directoryStringApproxMatch", "caseIgnoreOrderingMatch", "caseIgnoreSubstringsMatch" },
98 { BASICTYPE_UNIVERSAL_STR, "caseIgnoreMatch", "directoryStringApproxMatch", "caseIgnoreOrderingMatch", "caseIgnoreSubstringsMatch" },
99 { BASICTYPE_IA5_STR, "caseIgnoreMatch", "IA5StringApproxMatch", "caseIgnoreOrderingMatch", "caseIgnoreSubstringsMatch" },
100 { BASICTYPE_BMP_STR, "caseIgnoreMatch", "directoryStringApproxMatch", "caseIgnoreOrderingMatch", "caseIgnoreSubstringsMatch" },
101 { BASICTYPE_UTF8_STR, "caseIgnoreMatch", "directoryStringApproxMatch", "caseIgnoreOrderingMatch", "caseIgnoreSubstringsMatch" },
102 { BASICTYPE_UTCTIME, NULL, NULL, NULL, NULL },
103 { BASICTYPE_GENERALIZEDTIME, NULL, NULL, NULL, NULL },
104 { BASICTYPE_GRAPHIC_STR, NULL, NULL, NULL, NULL },
105 { BASICTYPE_VISIBLE_STR, "caseIgnoreMatch", "directoryStringApproxMatch", "caseIgnoreOrderingMatch", "caseIgnoreSubstringsMatch" },
106 { BASICTYPE_GENERAL_STR, NULL, NULL, NULL, NULL },
107 { BASICTYPE_OBJECTDESCRIPTOR, "objectIdentifierFirstComponentMatch", NULL, NULL, NULL },
108 { BASICTYPE_VIDEOTEX_STR, NULL, NULL, NULL, NULL },
109 { BASICTYPE_T61_STR, NULL, NULL, NULL, NULL },
110 { BASICTYPE_OCTETCONTAINING, NULL, NULL, NULL, NULL },
111 { BASICTYPE_BITCONTAINING, NULL, NULL, NULL, NULL },
112 { BASICTYPE_RELATIVE_OID, "objectIdentifierFirstComponentMatch", NULL, NULL, NULL },
113 { BASICTYPE_ANY, NULL, NULL, NULL, NULL },
114 { COMPOSITE_ASN1_TYPE, NULL, NULL, NULL, NULL },
115 { RDNSequence, "distinguishedNameMatch", NULL, NULL, NULL },
116 { RelativeDistinguishedName, "rdnMatch" , NULL, NULL, NULL },
117 { TelephoneNumber, NULL, NULL, NULL, NULL },
118 { FacsimileTelephoneNumber__telephoneNumber, "caseIgnoreMatch", "directoryStringApproxMatch", "caseIgnoreOrderingMatch", "caseIgnoreSubstringsMatch" },
119 { DirectoryString, "caseIgnoreMatch", "directoryStringApproxMatch", "caseIgnoreOrderingMatch", "caseIgnoreSubstringsMatch"},
120 { ASN_COMP_CERTIFICATE, "componentFilterMatch", NULL, NULL, NULL },
121 { ASNTYPE_END, NULL, NULL, NULL, NULL }
125 * This table mapps an ASN type to a corresponding ComponentType which has
126 * equivalent contents of an existing AttributeType
128 AsnTypetoCompType asntype_to_compType_mapping_tbl[] = {
129 { BASICTYPE_BOOLEAN,{}},
130 { BASICTYPE_INTEGER, {}},
131 { BASICTYPE_BITSTRING, {}},
132 { BASICTYPE_OCTETSTRING, {}},
133 { BASICTYPE_NULL, {}},
134 { BASICTYPE_OID, {}},
135 { BASICTYPE_REAL, {}},
136 { BASICTYPE_ENUMERATED, {}},
137 { BASICTYPE_NUMERIC_STR, {}},
138 { BASICTYPE_PRINTABLE_STR, {}},
139 { BASICTYPE_UNIVERSAL_STR, {}},
140 { BASICTYPE_IA5_STR, {}},
141 { BASICTYPE_BMP_STR, {}},
142 { BASICTYPE_UTF8_STR, {}},
143 { BASICTYPE_UTCTIME, {}},
144 { BASICTYPE_GENERALIZEDTIME, {}},
145 { BASICTYPE_GRAPHIC_STR, {}},
146 { BASICTYPE_VISIBLE_STR, {}},
147 { BASICTYPE_GENERAL_STR,{}},
148 { BASICTYPE_OBJECTDESCRIPTOR, {}},
149 { BASICTYPE_VIDEOTEX_STR, {}},
150 { BASICTYPE_T61_STR, {}},
151 { BASICTYPE_OCTETCONTAINING, {}},
152 { BASICTYPE_BITCONTAINING, {}},
153 { BASICTYPE_RELATIVE_OID, {}},
154 { BASICTYPE_ANY, {}},
155 { COMPOSITE_ASN1_TYPE, {}},
157 { RelativeDistinguishedName, {}},
158 { TelephoneNumber, {}},
159 { FacsimileTelephoneNumber__telephoneNumber, {}},
160 { DirectoryString, {}},
161 { ASN_COMP_CERTIFICATE, {}},
165 AsnTypetoCompDesc asntype_to_compdesc_mapping_tbl[] = {
166 { BASICTYPE_BOOLEAN,{}},
167 { BASICTYPE_INTEGER, {}},
168 { BASICTYPE_BITSTRING, {}},
169 { BASICTYPE_OCTETSTRING, {}},
170 { BASICTYPE_NULL, {}},
171 { BASICTYPE_OID, {}},
172 { BASICTYPE_REAL, {}},
173 { BASICTYPE_ENUMERATED, {}},
174 { BASICTYPE_NUMERIC_STR, {}},
175 { BASICTYPE_PRINTABLE_STR, {}},
176 { BASICTYPE_UNIVERSAL_STR, {}},
177 { BASICTYPE_IA5_STR, {}},
178 { BASICTYPE_BMP_STR, {}},
179 { BASICTYPE_UTF8_STR, {}},
180 { BASICTYPE_UTCTIME, {}},
181 { BASICTYPE_GENERALIZEDTIME, {}},
182 { BASICTYPE_GRAPHIC_STR, {}},
183 { BASICTYPE_VISIBLE_STR, {}},
184 { BASICTYPE_GENERAL_STR,{}},
185 { BASICTYPE_OBJECTDESCRIPTOR, {}},
186 { BASICTYPE_VIDEOTEX_STR, {}},
187 { BASICTYPE_T61_STR, {}},
188 { BASICTYPE_OCTETCONTAINING, {}},
189 { BASICTYPE_BITCONTAINING, {}},
190 { BASICTYPE_RELATIVE_OID, {}},
191 { BASICTYPE_ANY, {}},
192 { COMPOSITE_ASN1_TYPE, {}},
194 { RelativeDistinguishedName, {}},
195 { TelephoneNumber, {}},
196 { FacsimileTelephoneNumber__telephoneNumber, {}},
197 { DirectoryString, {}},
198 { ASN_COMP_CERTIFICATE, {}},