diff --git a/OpenVPN Adapter/OpenVPNCertificate.h b/OpenVPN Adapter/OpenVPNCertificate.h index 57d2f9c..22408d0 100644 --- a/OpenVPN Adapter/OpenVPNCertificate.h +++ b/OpenVPN Adapter/OpenVPNCertificate.h @@ -15,6 +15,8 @@ NS_ASSUME_NONNULL_BEGIN + (nullable OpenVPNCertificate *)certificateWithPEM:(NSData *)pemData error:(NSError **)error; + (nullable OpenVPNCertificate *)certificateWithDER:(NSData *)derData error:(NSError **)error; +@property (readonly, nonatomic) NSData *serial; + - (instancetype) init NS_UNAVAILABLE; - (nullable NSData *)pemData:(NSError **)error; diff --git a/OpenVPN Adapter/OpenVPNCertificate.m b/OpenVPN Adapter/OpenVPNCertificate.m index 907843c..1400f77 100644 --- a/OpenVPN Adapter/OpenVPNCertificate.m +++ b/OpenVPN Adapter/OpenVPNCertificate.m @@ -9,6 +9,7 @@ #include #include +#include #import "NSError+OpenVPNError.h" @@ -52,6 +53,10 @@ return certificate; } +- (NSData *)serial { + return [NSData dataWithBytes:self.crt->serial.p length:self.crt->serial.len]; +} + - (instancetype)init { if (self = [super init]) {