Errore “Certificate validation failed” in Remote Desktop/Windows App su macOS con smart card (CAC): cause e soluzioni

Se in Remote Desktop / Windows App per macOS l’aggiunta di un workspace o l’accesso alla VM con smart card (CAC/PIV) fallisce con l’errore “Certificate validation failed”, qui trovi cause, diagnosi e soluzioni operative verificate per ripristinare l’autenticazione.

Indice

Panoramica del problema

Durante la sottoscrizione di un workspace o la connessione a una risorsa RDP con Windows App (ex Microsoft Remote Desktop) su macOS, l’accesso tramite smart card può bloccarsi mostrando il messaggio:

Certificate validation failed
Try again by doing the following…

Il comportamento si manifesta spesso dopo tentativi di login non riusciti, cambi di certificato, aggiornamenti dell’app o modifiche al portachiavi. In vari casi il client sceglie in automatico un certificato sbagliato dal Portachiavi e la validazione fallisce; in altri, la smart card non viene reindirizzata alla VM perché l’opzione dedicata è disattivata.

Cause note e come riconoscerle

FattoreDescrizione
Voci Keychain errateNel Portachiavi macOS restano Identity Preferences (“Preferenze di identità”) legate a tentativi precedenti; Windows App seleziona in automatico un certificato non adatto (es. firma email invece di PIV Authentication) e la validazione mTLS fallisce.
Bug di versioneSegnalazioni su build recenti (serie 11.0.x) indicano comportamenti anomali nella gestione delle identità client e del prompt di selezione certificato. Il problema può ripresentarsi dopo un aggiornamento o una migrazione del profilo.
Smart‑card non reindirizzataL’opzione Smart cards è disattivata nelle impostazioni della connessione, quindi il device redirection non espone il lettore alla VM e l’opzione smart card non appare nella schermata di login.

Soluzioni rapide (TL;DR)

  1. Pulisci le “Identity Preference” nel Portachiavi associate a “Windows App”, “Microsoft Remote Desktop” o all’URL del tuo workspace, quindi riavvia l’app: in molti casi risolve subito.
  2. Abilita Smart cards in Windows App → Settings → Devices & Audio (o nella scheda Devices della connessione).
  3. Alla schermata di login di Windows scegli Other sign‑in options → Smart card e, se richiesto, seleziona manualmente il certificato PIV Authentication (evita Email Signing/Encryption).

Guida dettagliata passo‑passo

Pulizia del Portachiavi: rimuovere le “Identity Preference” errate

Quando il client ha in memoria una preferenza di identità non più valida, continua a proporre (o usare in automatico) il certificato sbagliato. La rimozione delle voci di preferenza forza un nuovo prompt di selezione e corregge il binding.

Procedura via interfaccia

  1. Apri Accesso Portachiavi (Keychain Access).
  2. Nel riquadro di sinistra, espandi Portachiavi e seleziona login (e, se presente, anche iCloud).
  3. Nella sezione Categorie, clicca su Preferenze di identità (in inglese “Identity Preferences”).
  4. Usa la barra di ricerca in alto a destra e cerca, uno alla volta:
    • Windows App
    • Microsoft Remote Desktop
    • l’URL o il dominio del tuo workspace (es. https://workspace.contoso.com)
  5. Per ciascuna voce attinente (icona “chiave” con Servizio collegato all’app o all’URL del workspace), clic destro → Elimina.
  6. Chiudi Accesso Portachiavi e riavvia Windows App.

Procedura via Terminale (opzionale/avanzata)

Se preferisci gli strumenti CLI, puoi ispezionare e ripulire le identity preference con il comando security. Esempi:

# Verifica se esiste una identity preference per Windows App
security get-identity-preference -s "com.microsoft.rdc.macos"

Elimina la identity preference per lo stesso "service"

security delete-identity-preference -s "com.microsoft.rdc.macos"

Puoi ripetere la cancellazione usando come -s l'URL del workspace

security delete-identity-preference -s "[https://workspace.contoso.com](https://workspace.contoso.com)"

Nota: i nomi del service possono variare (es. com.microsoft.rdc.macos.beta, Windows App, URL specifico del feed). Se non sei certo di cosa stai eliminando, esegui un backup del portachiavi o prendi nota prima di rimuovere.

Abilitare il reindirizzamento Smart card in Windows App

Perché la smart card sia visibile nella VM, devi consentirne il device redirection sul client:

  1. Apri Windows App.
  2. Vai su Settings → Devices & Audio e abilita l’opzione Smart cards.
  3. Se usi un profilo/connessione specifica, apri le sue Impostazioni e verifica che in Devices o Local Resources l’opzione Smart cards sia attiva.

Dopo averla attivata, in fase di accesso alla VM dovresti vedere tra le opzioni di login Smart card o la smart card come metodo alternativo.

Selezione manuale del certificato corretto

Quando il prompt di Windows mostra più certificati, scegli quello denominato PIV Authentication (o Authentication) associato alla tua smart card. Evita i certificati con finalità Email Signing o Email Encryption, che non sono adatti all’autenticazione.

Se la selezione non appare o l’app sceglie in automatico un certificato errato, torna alla sezione precedente e pulisci le Identity Preference nel Portachiavi per forzare un nuovo prompt di scelta.

Verifiche hardware e middleware

Se la smart card non viene visualizzata né su macOS né nella VM, verifica i prerequisiti:

  • Lettore riconosciuto in macOS: con un lettore collegato, apri Informazioni di Sistema → USB per verificarne la presenza.
  • Utility Smart Card: su macOS, l’Utility Smart Card (o strumenti come pcsctest) devono vedere il lettore e la card.
  • Middleware/driver: aggiorna eventuali componenti come Entrust, HID Global o driver PIV forniti dall’organizzazione.
  • Cavo/porta USB: test incrociato su un’altra porta o con un altro cavo/lettore elimina dubbi di alimentazione o contatti.

Controlli lato Windows (nella VM)

Una volta dentro la VM, puoi verificare che la smart card sia stata reindirizzata e che i certificati siano leggibili:

  1. Apri Gestione dispositivi e verifica la presenza del lettore smart card reindirizzato.
  2. Esegui certutil -scinfo da Prompt dei comandi (come amministratore) per testare la comunicazione con la card.
  3. In gpedit.msc, controlla le policy di reindirizzamento (se hai privilegi) e che la smart card sia consentita.

Workaround e varianti testate

#InterventoDettagli operativiEsito riportato
1Pulizia PortachiaviIn Accesso Portachiavi rimuovi le Identity Preference collegate a “Windows App”, “Microsoft Remote Desktop” o all’URL del workspace; riavvia l’app.Elimina l’errore e ripropone la scelta del certificato (confermato da più utenti).
2Abilitare Smart cardsIn Windows App → Settings → Devices & Audio abilita Smart cards (o l’equivalente nella finestra di connessione).Fa comparire la smart card tra le opzioni di login.
3Selezione manualeAlla schermata Other sign‑in options scegli la smart card invece dei certificati memorizzati.Utile se il dispositivo è riconosciuto ma non selezionato di default.
4Verifiche hardware/softwareControlla che il lettore sia visibile da macOS (pcsctest o Utility Smart Card). Aggiorna il middleware (Entrust, HID Global, ecc.). Prova una build differente: versione precedente (es. 11.0.4) o Insider build nell’attesa del fix.Necessario quando la smart card non appare affatto.
5Procedura analoga su WindowsIn certmgr.msc o Gestione credenziali elimina certificati/credenziali memorizzati; in mstsc.exe → Show Options → Local Resources attiva Smart cards.Rimuove cache corrotte e abilita il reindirizzamento su client Windows.

Come distinguere i due tipi di “certificate validation failed”

Lo stesso testo di errore può indicare problemi diversi:

  • Errore sul certificato client (smart card): tipico quando il workspace o il gateway richiede mTLS e il client sceglie il certificato sbagliato. Il browser può funzionare perché sceglie correttamente la tua identità, mentre Windows App no.
  • Errore sul certificato server (TLS): CA intermedia non fidata o CN/SAN non corrispondente. In questo caso il browser spesso segnala avvisi simili; la cura è aggiornare la catena di trust o correggere il certificato del servizio.

Indizio pratico: se dopo la pulizia del Portachiavi vieni richiamato a scegliere il certificato e l’accesso riesce, la radice del problema era il lato client.

Checklist di diagnosi

  1. La smart card appare in macOS? Sì → vai al punto 2. No → aggiorna driver/middleware e controlla l’hardware.
  2. Smart cards è attivo in Windows App? Sì → punto 3. No → abilitalo e riprova.
  3. Hai rimosso le Identity Preference? Sì → punto 4. No → rimuovile e riavvia l’app.
  4. Alla scelta certificato selezioni “PIV Authentication”? Selezionalo esplicitamente; evita certificati di firma email.
  5. Funziona nel browser ma non in Windows App? Probabile issue di binding nel Portachiavi → ripeti la pulizia o prova una build differente dell’app.

Best practice e accorgimenti

  • Non eliminare i certificati personali dal Portachiavi: rimuovi solo le Identity Preference legate al servizio/app. I certificati della smart card risiedono fisicamente nella carta.
  • Annota i service name che trovi nelle Identity Preference (es. com.microsoft.rdc.macos o l’URL del feed) per eventuali ripristini.
  • Se l’organizzazione usa più certificati CAC, chiedi quale OID/uso chiave è richiesto per l’autenticazione. In genere è “PIV Authentication”.
  • Evita mix di vecchio e nuovo client (Microsoft Remote Desktop e Windows App) con lo stesso profilo utente: possono lasciare preferenze diverse nel Portachiavi.
  • Aggiorna regolarmente Windows App e leggi le note di rilascio: i fix su selezione certificati e redirection sono ricorrenti nelle build.

Risoluzione dei problemi avanzata

Ispezionare e ripulire preferenze via CLI

Oltre ai comandi mostrati sopra, se hai più identity preference per domini diversi, puoi iterare la cancellazione:

# Esempi di service da controllare
for s in \
  "Windows App" \
  "com.microsoft.rdc.macos" \
  "com.microsoft.rdc.macos.beta" \
  "https://workspace.contoso.com" \
  "rdweb.contoso.com"; do
  security get-identity-preference -s "$s" || true
done

Cancellazione mirata (usa con prudenza)

security delete-identity-preference -s "rdweb.contoso.com"

Reset dell’app (ultima ratio)

Se il profilo utente ha impostazioni corrotte, come ultima risorsa puoi azzerare la cache dell’app (perderai le connessioni salvate):

  1. Chiudi completamente Windows App.
  2. Fai una copia di sicurezza delle cartelle:
    • ~/Library/Containers/com.microsoft.rdc.macos/
    • ~/Library/Containers/com.microsoft.rdc.macos.beta/ (se usi la Beta)
    • ~/Library/Group Containers/UBF8T346G9.com.microsoft.rdc/
  3. Rimuovi temporaneamente le cartelle sopra (o rinominale) e riavvia l’app per rigenerarle.

Attenzione: questa operazione è intrusiva; eseguila solo se i passi precedenti non hanno avuto effetto e sai come ripristinare le connessioni.

Verifiche lato infrastruttura

  • Gateway/RD Broker: verifica che richiedano il client certificate corretto e che la CA emittente sia trustata dal Mac.
  • Mapping certificato → account: in ambienti AD, controlla il mapping UPN/altSecurityIdentities dell’utente se l’accesso con smart card fallisce nonostante la scelta del certificato giusto.
  • Catena di certificazione: importa le CA intermedie necessarie nel portachiavi Sistema se il trust del server non è completo.

Configurazione su cui è stato verificato il fix

  • macOS Sonoma 14.3
  • Windows App 11.0.5

Dopo la rimozione delle Identity Preference il login con CAC è avvenuto con successo; resta necessario abilitare Smart cards per vedere il dispositivo durante l’accesso.

Domande frequenti (FAQ)

Perché nel browser funziona ma in Windows App no?
I browser di solito gestiscono meglio la selezione dinamica del certificato e ti chiedono esplicitamente quale identità usare. Windows App, invece, può attingere a una identity preference memorizzata e non riproporre il prompt, finendo per usare un certificato non idoneo.

Quale certificato della smart card devo scegliere?
Quello con descrizione PIV Authentication (o “Authentication”). Evita “Email Signing/Encryption”.

Posso cancellare i certificati dal Portachiavi?
Non serve (e non è consigliato): rimuovi solo le Identity Preference legate al servizio.

Serve un riavvio del Mac?
In genere basta riavviare Windows App. Se il lettore non viene visto dal sistema, scollega/ri-collega o riavvia macOS.

È un bug noto?
Sì, il comportamento è stato segnalato in più discussioni della community Microsoft su build recenti. Mantieni l’app aggiornata e monitora le note di rilascio per patch specifiche.

Check di conformità e sicurezza

  • Policy aziendali: verifica che l’uso della smart card per l’accesso RDP sia approvato e configurato dal reparto IT.
  • Conservazione log: in caso di audit, conserva i log di Windows e macOS relativi ai tentativi di autenticazione falliti.
  • Minimizzazione dell’impatto: prima di cancellare preferenze o resettare profili, pianifica un maintenance window.

Riepilogo operativo

  • Errore Certificate validation failed su Windows App per macOS → spesso causato da Identity Preference errate.
  • Soluzione rapida: rimuovi le Identity Preference per l’app/URL, abilita Smart cards e seleziona PIV Authentication al login.
  • Se non basta: verifica hardware/middleware, prova una build differente dell’app, controlla policy e trust lato infrastruttura.

Appendice: comandi utili

# Mostra il lettore smart card sul Mac (esempio orientativo)
system_profiler SPUSBDataType | grep -i -A3 "smart"

Testa identity preference note per Windows App / workspace

security get-identity-preference -s "com.microsoft.rdc.macos"
security get-identity-preference -s "[https://workspace.contoso.com](https://workspace.contoso.com)"

Elimina la preferenza di identità se presente

security delete-identity-preference -s "com.microsoft.rdc.macos"

Nella VM Windows (Prompt Admin): verifica card e certificati

certutil -scinfo

Stato e note aggiuntive

  • Il problema è tracciato in vari thread della Community Microsoft (Azure Portal, O365, macOS). Microsoft è al lavoro per migliorare la selezione dei certificati e la stabilità del redirection.
  • Quando usi un browser (es. Chrome) la smart card può funzionare correttamente perché il Portachiavi sceglie il certificato giusto; l’anomalia è specifica del client RDP.

Hai risolto seguendo questa guida? Considera di documentare internamente i service name trovati nelle tue Identity Preference e di aggiornare il runbook IT: ridurrà i tempi di ripristino alla prossima occorrenza.


Configurazione consigliata (riassunto)

  • Windows App aggiornato (serie 11.0.x o successiva), con Smart cards abilitato
  • Portachiavi “pulito” da preferenze obsolete relative al workspace/gateway
  • Selezione manuale del certificato PIV Authentication al primo accesso, quindi salvataggio della preferenza solo se necessario
Indice