From 660a65989d7c244e99ead4a2171193687a01f742 Mon Sep 17 00:00:00 2001 From: Sergey Abramchuk Date: Tue, 15 May 2018 09:37:49 +0300 Subject: [PATCH] Add issuer, subject, version properties --- OpenVPN Adapter/OpenVPNCertificate.h | 4 ++++ OpenVPN Adapter/OpenVPNCertificate.m | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/OpenVPN Adapter/OpenVPNCertificate.h b/OpenVPN Adapter/OpenVPNCertificate.h index 22408d0..e799778 100644 --- a/OpenVPN Adapter/OpenVPNCertificate.h +++ b/OpenVPN Adapter/OpenVPNCertificate.h @@ -15,8 +15,12 @@ NS_ASSUME_NONNULL_BEGIN + (nullable OpenVPNCertificate *)certificateWithPEM:(NSData *)pemData error:(NSError **)error; + (nullable OpenVPNCertificate *)certificateWithDER:(NSData *)derData error:(NSError **)error; +@property (readonly, nonatomic) NSInteger version; @property (readonly, nonatomic) NSData *serial; +@property (readonly, nonatomic) NSData *issuer; +@property (readonly, nonatomic) NSData *subject; + - (instancetype) init NS_UNAVAILABLE; - (nullable NSData *)pemData:(NSError **)error; diff --git a/OpenVPN Adapter/OpenVPNCertificate.m b/OpenVPN Adapter/OpenVPNCertificate.m index 1400f77..8e40725 100644 --- a/OpenVPN Adapter/OpenVPNCertificate.m +++ b/OpenVPN Adapter/OpenVPNCertificate.m @@ -53,10 +53,22 @@ return certificate; } +- (NSInteger)version { + return self.crt->version; +} + - (NSData *)serial { return [NSData dataWithBytes:self.crt->serial.p length:self.crt->serial.len]; } +- (NSData *)issuer { + return [NSData dataWithBytes:self.crt->issuer_raw.p length:self.crt->issuer_raw.len]; +} + +- (NSData *)subject { + return [NSData dataWithBytes:self.crt->subject_raw.p length:self.crt->subject_raw.len]; +} + - (instancetype)init { if (self = [super init]) {