Declare OpenVPNCertificate class and its methods for parsing PEM and DER format

This commit is contained in:
Sergey Abramchuk
2017-09-06 18:07:16 +03:00
parent b86e4f57ab
commit 23beb936cf
2 changed files with 75 additions and 0 deletions
+54
View File
@@ -0,0 +1,54 @@
//
// OpenVPNCertificate.m
// OpenVPN Adapter
//
// Created by Sergey Abramchuk on 06.09.17.
//
//
#import <mbedtls/x509_crt.h>
#import "OpenVPNCertificate.h"
@interface OpenVPNCertificate ()
@property (nonatomic) mbedtls_x509_crt *crt;
@end
@implementation OpenVPNCertificate
- (instancetype)init
{
self = [super init];
if (self) {
self.crt = malloc(sizeof(mbedtls_x509_crt));
mbedtls_x509_crt_init(self.crt);
}
return self;
}
+ (OpenVPNCertificate *)certificateWithPEM:(NSData *)pemData error:(out NSError * __nullable * __nullable)error {
OpenVPNCertificate *certificate = [OpenVPNCertificate new];
// TODO: Parse PEM data
return certificate;
}
+ (OpenVPNCertificate *)certificateWithDER:(NSData *)derData error:(out NSError * __nullable * __nullable)error {
OpenVPNCertificate *certificate = [OpenVPNCertificate new];
// TODO: Parse DER data
return certificate;
}
- (void)dealloc {
if (self.crt) {
mbedtls_x509_crt_free(self.crt);
free(self.crt);
}
}
@end