c # - DPAPI - kryptering til en anden bruger?

Indlæg af Hanne Mølgaard Plasc

Problem



Det kan være, at sikkerhed er en mere egnet placering til dette, men jeg vil først spørge det her. [3]


Hvis jeg vil kryptere nogle plaintext ved hjælp af DPAPI, har jeg to muligheder for scope, CurrentUser og LocalMachine. Antag at jeg vil kryptere data, der skal dekrypteres af en anden bruger, er der en måde at gøre det ved at bruge nogle funktioner, der er i .NET?


Det ville være rart, hvis der var en overbelastning af ProtectedData.Protect-metoden, noget som:


ProtectedData.Protect(byte[] plaintextBytes, byte[] salt, UserInformation userInformation);


hvor UserInformation er blot en POCO med egenskaber for domænet, brugernavnet og adgangskoden.


Brugen tilfælde her ville være en tjeneste eller en planlagt opgave kører under regi af en anden konto end den logget på (interaktive) bruger, men det skal installeres af en anden bruger.


Jeg kunne skrive et værktøj til at kryptere strengen, så brug RunAs-funktionaliteten til at køre den, men er der anderledes end dette - hvis jeg har brugerens domæne, brugernavn og adgangskode - at gøre hvad jeg har brug for?

Bedste reference