iOS web browser with a focus on security and privacy
at master 49 lines 1.5 kB view raw
1/* 2 * Endless 3 * Copyright (c) 2015 joshua stein <jcs@jcs.org> 4 * 5 * See LICENSE file for redistribution terms. 6 */ 7 8#import <Foundation/Foundation.h> 9 10@interface SSLCertificate : NSObject 11 12/* Relative Distinguished Name (RDN) table */ 13#define X509_KEY_CN @"Common Name (CN)" 14#define X509_KEY_O @"Organization (O)" 15#define X509_KEY_OU @"Organizational Unit Number (OU)" 16#define X509_KEY_L @"Locality (L)" 17#define X509_KEY_ST @"State/Province (ST)" 18#define X509_KEY_C @"Country (C)" 19#define X509_KEY_SN @"Serial Number (SN)" 20 21#define X509_KEY_STREET @"Street Address" 22#define X509_KEY_ZIP @"Postal Code" 23#define X509_KEY_SERIAL @"Serial Number" 24#define X509_KEY_BUSCAT @"Business Category" 25 26@property (strong, readonly) NSDictionary *oids; 27 28@property (strong, readonly) NSNumber *version; 29@property (strong, readonly) NSString *serialNumber; 30@property (strong, readonly) NSString *signatureAlgorithm; 31@property (strong, readonly) NSDictionary *issuer; 32@property (strong, readonly) NSDate *validityNotBefore; 33@property (strong, readonly) NSDate *validityNotAfter; 34@property (strong, readonly) NSDictionary *subject; 35 36@property SSLProtocol negotiatedProtocol; 37@property SSLCipherSuite negotiatedCipher; 38 39@property (readonly) BOOL isEV; 40@property (strong, readonly) NSString *evOrgName; 41 42- (id)initWithSecTrustRef:(SecTrustRef)secTrustRef; 43- (id)initWithData:(NSData *)data; 44- (BOOL)isExpired; 45- (BOOL)hasWeakSignatureAlgorithm; 46- (NSString *)negotiatedProtocolString; 47- (NSString *)negotiatedCipherString; 48 49@end