mirror of
https://github.com/neon443/ShhShell.git
synced 2026-03-11 13:26:16 +00:00
added privateKeyID to select privatekeys in Host
added label to Keypair to return an approriate label added ui to display keys from KeyManager
This commit is contained in:
@@ -19,6 +19,7 @@ protocol HostPr: Codable, Identifiable, Equatable, Hashable {
|
||||
var password: String { get set }
|
||||
var publicKey: Data? { get set }
|
||||
var privateKey: Data? { get set }
|
||||
var privateKeyID: UUID? { get set }
|
||||
var passphrase: String { get set }
|
||||
var key: String? { get set }
|
||||
}
|
||||
@@ -34,6 +35,7 @@ struct Host: HostPr {
|
||||
var password: String
|
||||
var publicKey: Data?
|
||||
var privateKey: Data?
|
||||
var privateKeyID: UUID?
|
||||
var passphrase: String
|
||||
var key: String?
|
||||
|
||||
|
||||
@@ -30,6 +30,14 @@ struct Keypair: KeypairProtocol {
|
||||
var privateKey: Data
|
||||
var passphrase: String = ""
|
||||
|
||||
var label: String {
|
||||
if name.isEmpty {
|
||||
return openSshPubkey
|
||||
} else {
|
||||
return name
|
||||
}
|
||||
}
|
||||
|
||||
var openSshPubkey: String {
|
||||
String(data: KeyManager.makeSSHPubkey(self), encoding: .utf8) ?? "OpenSSH key format error"
|
||||
}
|
||||
|
||||
@@ -29,7 +29,21 @@ struct KeyManagerView: View {
|
||||
|
||||
Section() {
|
||||
ForEach(keyManager.keypairs) { kp in
|
||||
Text(kp.openSshPubkey)
|
||||
NavigationLink {
|
||||
KeyDetailView(hostsManager: hostsManager, keypair: kp)
|
||||
} label: {
|
||||
Image(systemName: "key")
|
||||
Text(kp.label)
|
||||
Spacer()
|
||||
Text(kp.type.description)
|
||||
}
|
||||
.swipeActions(edge: .trailing) {
|
||||
Button(role: .destructive) {
|
||||
|
||||
} label: {
|
||||
Label("Delete", systemImage: "trash")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user