35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
self = [super init];
_boolValue = bool_;
return self;
}
- (instancetype)initWithTagClass: (of_asn1_tag_class_t)tagClass
tagNumber: (of_asn1_tag_number_t)tagNumber
constructed: (bool)constructed
DEREncodedContents: (OFData *)DEREncodedContents
{
unsigned char value;
@try {
if (tagClass != OF_ASN1_TAG_CLASS_UNIVERSAL ||
tagNumber != OF_ASN1_TAG_NUMBER_BOOLEAN || constructed)
@throw [OFInvalidArgumentException exception];
if (DEREncodedContents.itemSize != 1 ||
DEREncodedContents.count != 1)
@throw [OFInvalidFormatException exception];
value = *(unsigned char *)[DEREncodedContents itemAtIndex: 0];
|
|
|
|
|
|
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
self = [super init];
_boolValue = bool_;
return self;
}
- (instancetype)initWithTagClass: (OFASN1TagClass)tagClass
tagNumber: (OFASN1TagNumber)tagNumber
constructed: (bool)constructed
DEREncodedContents: (OFData *)DEREncodedContents
{
unsigned char value;
@try {
if (tagClass != OFASN1TagClassUniversal ||
tagNumber != OFASN1TagNumberBoolean || constructed)
@throw [OFInvalidArgumentException exception];
if (DEREncodedContents.itemSize != 1 ||
DEREncodedContents.count != 1)
@throw [OFInvalidFormatException exception];
value = *(unsigned char *)[DEREncodedContents itemAtIndex: 0];
|
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
{
OF_INVALID_INIT_METHOD
}
- (OFData *)ASN1DERRepresentation
{
char buffer[] = {
OF_ASN1_TAG_NUMBER_BOOLEAN,
1,
(_boolValue ? 0xFF : 0x00)
};
return [OFData dataWithItems: buffer count: sizeof(buffer)];
}
|
|
|
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
{
OF_INVALID_INIT_METHOD
}
- (OFData *)ASN1DERRepresentation
{
char buffer[] = {
OFASN1TagNumberBoolean,
1,
(_boolValue ? 0xFF : 0x00)
};
return [OFData dataWithItems: buffer count: sizeof(buffer)];
}
|