19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#import "OFASN1BitString.h"
#import "OFASN1Enumerated.h"
#import "OFASN1IA5String.h"
#import "OFASN1NumericString.h"
#import "OFASN1ObjectIdentifier.h"
#import "OFASN1OctetString.h"
#import "OFASN1PrintableString.h"
#import "OFASN1UTF8String.h"
#import "OFASN1Value.h"
#import "OFArray.h"
#import "OFNull.h"
#import "OFNumber.h"
#import "OFSet.h"
#import "OFInvalidArgumentException.h"
#import "OFInvalidFormatException.h"
#import "OFOutOfRangeException.h"
#import "OFTruncatedDataException.h"
enum {
|
<
>
|
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#import "OFASN1BitString.h"
#import "OFASN1Enumerated.h"
#import "OFASN1IA5String.h"
#import "OFASN1NumericString.h"
#import "OFASN1ObjectIdentifier.h"
#import "OFASN1OctetString.h"
#import "OFASN1PrintableString.h"
#import "OFASN1Value.h"
#import "OFArray.h"
#import "OFNull.h"
#import "OFNumber.h"
#import "OFSet.h"
#import "OFString.h"
#import "OFInvalidArgumentException.h"
#import "OFInvalidFormatException.h"
#import "OFOutOfRangeException.h"
#import "OFTruncatedDataException.h"
enum {
|
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
|
case OFASN1TagNumberObjectIdentifier:
valueClass = [OFASN1ObjectIdentifier class];
break;
case OFASN1TagNumberEnumerated:
valueClass = [OFASN1Enumerated class];
break;
case OFASN1TagNumberUTF8String:
valueClass = [OFASN1UTF8String class];
break;
case OFASN1TagNumberSequence:
if (!(tag & tagConstructedMask))
@throw [OFInvalidFormatException exception];
*object = parseSequence(contents, depthLimit - 1);
return bytesConsumed;
case OFASN1TagNumberSet:
|
>
>
|
>
>
|
|
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
|
case OFASN1TagNumberObjectIdentifier:
valueClass = [OFASN1ObjectIdentifier class];
break;
case OFASN1TagNumberEnumerated:
valueClass = [OFASN1Enumerated class];
break;
case OFASN1TagNumberUTF8String:
if (tag & tagConstructedMask)
@throw [OFInvalidFormatException exception];
*object = [OFString stringWithUTF8String: contents.items
length: contents.count];
return bytesConsumed;
case OFASN1TagNumberSequence:
if (!(tag & tagConstructedMask))
@throw [OFInvalidFormatException exception];
*object = parseSequence(contents, depthLimit - 1);
return bytesConsumed;
case OFASN1TagNumberSet:
|