Come accedere alle credenziali memorizzate (PasswordVault?) Su Win7 e Win8?

Ho appena scoperto che Win8 ha una sezione sul pannello di controllo chiamata Account utente e famiglia in modo sicuro con Credential Manager . Mi piacerebbe accedere alle credenziali memorizzate lì (non per recuperare le password ma per usarle come token per un login). Quindi, in pratica, mi piacerebbe fare un giro sulle spalle su un software già installato.

Il più vicino a una soluzione è stato suggerito in questa discussione e non è così vicino.

  1. Dove trovo l’assembly per Windows.Security.Credentials.PasswordVault ? Sono stato googling per due ore ma ricevo solo informazioni sullo sviluppo di app mentre selezionerò il desktop.

  2. C’è un modo per risolvere l’accesso alle credenziali pre-archiviate sia per Win7 che per Win8? Temo un po ‘che la struttura del vault sia stata drasticamente rimodellata in Win8, rendendo imansible il targeting di entrambe le piattaforms contemporaneamente.

Procedura: aggiungere o rimuovere riferimenti utilizzando il Reference Manager dice:

Nei progetti desktop la scheda Core non viene visualizzata per impostazione predefinita. È ansible aggiungere Windows Runtime aprendo il menu di scelta rapida per il nodo del progetto, scegliendo Scarica progetto , aggiungendo il seguente frammento di codice e riaprendo il progetto (nel nodo progetto selezionare Ricarica progetto ). Quando si richiama la finestra di dialogo Gestione riferimento, viene visualizzata la scheda Principale.

  8.0  

Assicurati di controllare la casella di Windows in questa scheda. Dovresti quindi essere in grado di utilizzare gli elementi WinRT.

Mi sono imbattuto nello stesso problema e ho scoperto che non esiste una risposta semplice da nessuna parte.

Questo è quello che ho trovato:

  1. Devi scaricare il progetto e aggiungere la TargetPlatformVersion come menzionato sopra.
  2. Aggiungere il riferimento: C:\Program Files (x86)\Windows Kits\8.1\References\CommonConfiguration\Neutral\Annotated\Windows.winmd
  3. Aggiungere anche il riferimento: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5\System.Runtime.WindowsRuntime.dll

È ansible utilizzare il pacchetto di gestione delle credenziali integrato . È un progetto open-source. Ho controllato su Windows 7 e funziona bene.

Per salvare i tuoi dati usa il seguente codice:

  Credential saved = new Credential("username", "password", "MyApp", CredentialType.Generic); saved.PersistanceType = PersistanceType.LocalComputer; saved.Save(); 

E per caricare i tuoi dati usa:

  Credential credential = new Credential { Target = "MyApp", Type = CredentialType.Generic }; credential.Load();