diff options
author | Andrej Mihajlov <and@mullvad.net> | 2020-11-26 17:23:50 +0100 |
---|---|---|
committer | Andrej Mihajlov <and@mullvad.net> | 2020-12-02 11:08:09 +0100 |
commit | 4deaf905c173b27a9349a8fa518865d376f3c6ea (patch) | |
tree | 3125e60aa9f9fe9d03597110cccd297cf530e213 /WireGuard/Shared/Model | |
parent | iOS/macOS: Remove "Extract wireguard-go version" build phase (diff) | |
download | wireguard-apple-4deaf905c173b27a9349a8fa518865d376f3c6ea.tar.xz wireguard-apple-4deaf905c173b27a9349a8fa518865d376f3c6ea.zip |
WireGuardKit: Add wrappers for PrivateKey, PublicKey, PreSharedKey
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
Diffstat (limited to 'WireGuard/Shared/Model')
-rw-r--r-- | WireGuard/Shared/Model/TunnelConfiguration+WgQuickConfig.swift | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/WireGuard/Shared/Model/TunnelConfiguration+WgQuickConfig.swift b/WireGuard/Shared/Model/TunnelConfiguration+WgQuickConfig.swift index d0c87e0..7fd65d6 100644 --- a/WireGuard/Shared/Model/TunnelConfiguration+WgQuickConfig.swift +++ b/WireGuard/Shared/Model/TunnelConfiguration+WgQuickConfig.swift @@ -112,7 +112,7 @@ extension TunnelConfiguration { } let peerPublicKeysArray = peerConfigurations.map { $0.publicKey } - let peerPublicKeysSet = Set<Data>(peerPublicKeysArray) + let peerPublicKeysSet = Set<PublicKey>(peerPublicKeysArray) if peerPublicKeysArray.count != peerPublicKeysSet.count { throw ParseError.multiplePeersWithSamePublicKey } @@ -126,9 +126,7 @@ extension TunnelConfiguration { func asWgQuickConfig() -> String { var output = "[Interface]\n" - if let privateKey = interface.privateKey.base64Key() { - output.append("PrivateKey = \(privateKey)\n") - } + output.append("PrivateKey = \(interface.privateKey.base64Key)\n") if let listenPort = interface.listenPort { output.append("ListenPort = \(listenPort)\n") } @@ -146,10 +144,8 @@ extension TunnelConfiguration { for peer in peers { output.append("\n[Peer]\n") - if let publicKey = peer.publicKey.base64Key() { - output.append("PublicKey = \(publicKey)\n") - } - if let preSharedKey = peer.preSharedKey?.base64Key() { + output.append("PublicKey = \(peer.publicKey.base64Key)\n") + if let preSharedKey = peer.preSharedKey?.base64Key { output.append("PresharedKey = \(preSharedKey)\n") } if !peer.allowedIPs.isEmpty { @@ -171,7 +167,7 @@ extension TunnelConfiguration { guard let privateKeyString = attributes["privatekey"] else { throw ParseError.interfaceHasNoPrivateKey } - guard let privateKey = Data(base64Key: privateKeyString), privateKey.count == TunnelConfiguration.keyLength else { + guard let privateKey = PrivateKey(base64Key: privateKeyString) else { throw ParseError.interfaceHasInvalidPrivateKey(privateKeyString) } var interface = InterfaceConfiguration(privateKey: privateKey) @@ -214,12 +210,12 @@ extension TunnelConfiguration { guard let publicKeyString = attributes["publickey"] else { throw ParseError.peerHasNoPublicKey } - guard let publicKey = Data(base64Key: publicKeyString), publicKey.count == TunnelConfiguration.keyLength else { + guard let publicKey = PublicKey(base64Key: publicKeyString) else { throw ParseError.peerHasInvalidPublicKey(publicKeyString) } var peer = PeerConfiguration(publicKey: publicKey) if let preSharedKeyString = attributes["presharedkey"] { - guard let preSharedKey = Data(base64Key: preSharedKeyString), preSharedKey.count == TunnelConfiguration.keyLength else { + guard let preSharedKey = PreSharedKey(base64Key: preSharedKeyString) else { throw ParseError.peerHasInvalidPreSharedKey(preSharedKeyString) } peer.preSharedKey = preSharedKey |