From 6c3748b6bfca9b6c5ba4c5214fb5e89130768b1b Mon Sep 17 00:00:00 2001 From: Max Goedjen Date: Sun, 29 Nov 2020 13:15:14 -0800 Subject: [PATCH] Comment (#181) --- SecretKit/Common/OpenSSH/OpenSSHKeyWriter.swift | 6 ++++-- Secretive/Views/SecretDetailView.swift | 15 +++++++++++++-- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/SecretKit/Common/OpenSSH/OpenSSHKeyWriter.swift b/SecretKit/Common/OpenSSH/OpenSSHKeyWriter.swift index ab08f48..9889835 100644 --- a/SecretKit/Common/OpenSSH/OpenSSHKeyWriter.swift +++ b/SecretKit/Common/OpenSSH/OpenSSHKeyWriter.swift @@ -13,8 +13,10 @@ public struct OpenSSHKeyWriter { lengthAndData(of: secret.publicKey) } - public func openSSHString(secret: SecretType) -> String { - "\(curveType(for: secret.algorithm, length: secret.keySize)) \(data(secret: secret).base64EncodedString())" + public func openSSHString(secret: SecretType, comment: String? = nil) -> String { + [curveType(for: secret.algorithm, length: secret.keySize), data(secret: secret).base64EncodedString(), comment] + .compactMap { $0 } + .joined(separator: " ") } public func openSSHFingerprint(secret: SecretType) -> String { diff --git a/Secretive/Views/SecretDetailView.swift b/Secretive/Views/SecretDetailView.swift index e262ea7..e1878dd 100644 --- a/Secretive/Views/SecretDetailView.swift +++ b/Secretive/Views/SecretDetailView.swift @@ -13,16 +13,27 @@ struct SecretDetailView: View { CopyableView(title: "Fingerprint", image: Image(systemName: "touchid"), text: keyWriter.openSSHFingerprint(secret: secret)) Spacer() .frame(height: 20) - CopyableView(title: "Public Key", image: Image(systemName: "key"), text: keyWriter.openSSHString(secret: secret)) + CopyableView(title: "Public Key", image: Image(systemName: "key"), text: keyString) Spacer() } } .padding() .frame(minHeight: 200, maxHeight: .infinity) } + + var dashedKeyName: String { + secret.name.replacingOccurrences(of: " ", with: "-") + } + + var dashedHostName: String { + ["secretive", Host.current().localizedName, "local"] + .compactMap { $0 } + .joined(separator: ".") + .replacingOccurrences(of: " ", with: "-") + } var keyString: String { - keyWriter.openSSHString(secret: secret) + keyWriter.openSSHString(secret: secret, comment: "\(dashedKeyName)@\(dashedHostName)") } func copy() {