Files
RouterOS/RouterOSAssistant/Core/Networking/CertificateTrustStore.swift
T
KayandClaude Sonnet 5 63734ef7fe M1: Projektgerüst + Connect-Schritt (REST/SSH-Autodetect)
XcodeGen-basiertes SwiftUI-Projekt für den RouterOS-Interview-Assistenten.
Erster Wizard-Schritt: Verbindung zu Mikrotik-Geräten per REST-API
(RouterOS >=7.1) mit SSH-CLI-Fallback für ältere Firmware, Zertifikats-
TOFU-Bestätigung, Zugangsdaten im Keychain. Unit-Tests für CLI-Parser
und Fallback-Logik.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HReLXMbmPvtQ23p1iWiJNW
2026-09-11 20:51:26 +02:00

22 lines
681 B
Swift

import Foundation
/// Trust-on-first-use store for self-signed RouterOS REST certificates.
final class CertificateTrustStore {
private let defaults = UserDefaults.standard
private let key = "RouterOSAssistant.TrustedCertificateFingerprints"
func isTrusted(host: String, fingerprint: String) -> Bool {
trustedFingerprints()[host] == fingerprint
}
func trust(host: String, fingerprint: String) {
var all = trustedFingerprints()
all[host] = fingerprint
defaults.set(all, forKey: key)
}
private func trustedFingerprints() -> [String: String] {
defaults.dictionary(forKey: key) as? [String: String] ?? [:]
}
}