mirror of
https://github.com/deneraraujo/OpenVPNAdapter.git
synced 2026-03-06 00:00:02 +08:00
Merge branch 'feature/certificate-serial' into develop
This commit is contained in:
@@ -76,5 +76,25 @@ class OpenVPNCertificateTests: XCTestCase {
|
||||
|
||||
XCTFail("Initialization with empty PEM data should fail")
|
||||
}
|
||||
|
||||
func testReadSerial() {
|
||||
guard
|
||||
let caURL = Bundle.current.url(forResource: "test-ca", withExtension: "crt"),
|
||||
let caOriginalPEMData = try? Data(contentsOf: caURL)
|
||||
else {
|
||||
XCTFail()
|
||||
return
|
||||
}
|
||||
|
||||
let certificateFromPEM: OpenVPNCertificate
|
||||
do {
|
||||
certificateFromPEM = try OpenVPNCertificate(pem: caOriginalPEMData)
|
||||
} catch {
|
||||
XCTFail(error.localizedDescription)
|
||||
return
|
||||
}
|
||||
|
||||
XCTAssert(!certificateFromPEM.serial.isEmpty)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -15,6 +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;
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#include <mbedtls/x509_crt.h>
|
||||
#include <mbedtls/pem.h>
|
||||
#include <mbedtls/bignum.h>
|
||||
|
||||
#import "NSError+OpenVPNError.h"
|
||||
|
||||
@@ -52,6 +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]) {
|
||||
|
||||
Reference in New Issue
Block a user