mirror of
https://github.com/maxgoedjen/secretive.git
synced 2026-08-20 08:09:01 +02:00
27 lines
959 B
Swift
27 lines
959 B
Swift
import Foundation
|
|
import OSLog
|
|
import XPCWrappers
|
|
import SSHProtocolKit
|
|
|
|
final class SecretAgentHostsfileReader: NSObject, XPCProtocol {
|
|
|
|
private let logger = Logger(subsystem: "com.maxgoedjen.secretive.SecretAgentHostsfileReader", category: "SecretAgentHostsfileReader")
|
|
|
|
func process(_ data: Data) async throws -> [Data: String] {
|
|
logger.log("Parser parsed certificate")
|
|
var result: [Data: String] = [:]
|
|
// FIXME: THIS
|
|
for try await line in URL(filePath: "/Users/max/.ssh/known_hosts").lines {
|
|
let split = line.split(separator: " ").map(String.init)
|
|
guard split.count == 3 else { continue }
|
|
guard let decoded = Data(base64Encoded: split[2]) else { continue }
|
|
let reader = OpenSSHReader(data: decoded)
|
|
_ = try reader.readNextChunk()
|
|
let key = try reader.readNextChunk()
|
|
result[key] = split[0]
|
|
}
|
|
return result
|
|
}
|
|
|
|
}
|