diff --git a/OpenVPN Adapter/OpenVPNConfiguration.h b/OpenVPN Adapter/OpenVPNConfiguration.h index 5885bf7..4e51949 100644 --- a/OpenVPN Adapter/OpenVPNConfiguration.h +++ b/OpenVPN Adapter/OpenVPNConfiguration.h @@ -122,4 +122,16 @@ typedef NS_ENUM(NSInteger, OpenVPNCompressionMode) { */ @property (nonatomic) OpenVPNCompressionMode compressionMode; +/** + Private key password + */ +@property (nullable, nonatomic) NSString *privateKeyPassword; + +/** + Default key direction parameter for tls-auth (0, 1, + or -1 (bidirectional -- default)) if no key-direction + parameter defined in profile + */ +@property (nonatomic) NSInteger keyDirection; + @end diff --git a/OpenVPN Adapter/OpenVPNConfiguration.mm b/OpenVPN Adapter/OpenVPNConfiguration.mm index 223b13d..d62bac9 100644 --- a/OpenVPN Adapter/OpenVPNConfiguration.mm +++ b/OpenVPN Adapter/OpenVPNConfiguration.mm @@ -245,4 +245,20 @@ using namespace openvpn; } } +- (NSString *)privateKeyPassword { + return !_config.privateKeyPassword.empty() ? [NSString stringWithUTF8String:_config.privateKeyPassword.c_str()] : nil; +} + +- (void)setPrivateKeyPassword:(NSString *)privateKeyPassword { + _config.privateKeyPassword = privateKeyPassword ? std::string([privateKeyPassword UTF8String]) : ""; +} + +- (NSInteger)keyDirection { + return _config.defaultKeyDirection; +} + +- (void)setKeyDirection:(NSInteger)keyDirection { + _config.defaultKeyDirection = keyDirection; +} + @end