32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
+
+
|
#import <ObjFW/OFDictionary.h>
#import <ObjFW/OFFile.h>
#import <ObjFW/OFInitializationFailedException.h>
#import <ObjFW/OFInvalidEncodingException.h>
#import <ObjFW/OFList.h>
#import <ObjFW/OFMutableDictionary.h>
#import <ObjFW/OFString.h>
#import <ObjFW/macros.h>
@implementation X509Certificate
- initWithFile: (OFString*)file
{
self = [self init];
@try {
|
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
|
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
|
-
-
+
+
|
if (![asserted hasPrefix: @"*."])
return NO;
asserted = [asserted substringWithRange:
of_range(2, [asserted length] - 2)];
firstDot = [domain indexOfFirstOccurrenceOfString: @"."];
if (firstDot == OF_INVALID_INDEX)
firstDot = [domain rangeOfString: @"."].location;
if (firstDot == OF_NOT_FOUND)
return NO;
domain = [domain substringWithRange:
of_range(firstDot + 1, [domain length] - firstDot - 1)];
if (![asserted caseInsensitiveCompare: domain])
return YES;
|