incus-osd: Display an application's TLS certificate fingerprint, if it has one

Signed-off-by: Mathias Gibbens <mathias.gibbens@futurfusion.io>
This commit is contained in:
Mathias Gibbens
2025-11-26 14:27:46 -07:00
parent d15bd7c8dd
commit bb8a9feeb6

View File

@@ -3,6 +3,8 @@ package main
import (
"context"
"crypto/sha256"
"encoding/hex"
"errors"
"fmt"
"io/fs"
@@ -534,6 +536,14 @@ func startInitializeApplication(ctx context.Context, s *state.State, appName str
s.Applications[appName] = appInfo
}
// If the application has a TLS certificate, print its fingerprint so the user can verify it when initially connecting.
cert, err := app.GetCertificate()
if err == nil {
rawFp := sha256.Sum256(cert.Certificate[0])
slog.InfoContext(ctx, "Application TLS certificate fingerprint", "name", appName, "fingerprint", hex.EncodeToString(rawFp[:]))
}
return nil
}