From 5f1343f7f2e7f048cfda67da66b0a93b02285cf6 Mon Sep 17 00:00:00 2001 From: Sergey Abramchuk Date: Wed, 6 Sep 2017 18:18:36 +0300 Subject: [PATCH] Implement parsing certificate DER data --- OpenVPN Adapter/OpenVPNCertificate.m | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/OpenVPN Adapter/OpenVPNCertificate.m b/OpenVPN Adapter/OpenVPNCertificate.m index aee5591..05b3582 100644 --- a/OpenVPN Adapter/OpenVPNCertificate.m +++ b/OpenVPN Adapter/OpenVPNCertificate.m @@ -35,6 +35,10 @@ int result = mbedtls_x509_crt_parse(certificate.crt, (const unsigned char *)pemString.UTF8String, pemData.length + 1); if (result != 0) { + if (error) { + // TODO: Return parse error + } + return nil; } @@ -44,7 +48,14 @@ + (OpenVPNCertificate *)certificateWithDER:(NSData *)derData error:(out NSError * __nullable * __nullable)error { OpenVPNCertificate *certificate = [OpenVPNCertificate new]; - // TODO: Parse DER data + int result = mbedtls_x509_crt_parse_der(certificate.crt, derData.bytes, derData.length); + if (result != 0) { + if (error) { + // TODO: Return parse error + } + + return nil; + } return certificate; }