The DotNet face of DPAPI is these two classes (they have decent code
examples):

http://msdn2.microsoft.com/en-us/library/system.security.cryptography.pr
otecteddata.aspx
http://msdn2.microsoft.com/en-us/library/system.security.cryptography.pr
otectedmemory.aspx

They allow the DataProtectionScope to be specified during protection:
http://msdn2.microsoft.com/en-us/library/system.security.cryptography.da
taprotectionscope.aspx

One value is: 
LocalMachine - The protected data is associated with the machine
context. Any process running on the computer can unprotect data. This
enumeration value is usually used in server-specific applications that
run on a server where untrusted users are not allowed access.

BTW - through using well-known [to your application] "salt" (a.k.a.
optionalEntropy) you can make it more difficult for other applications
to access that data (they'll have to get the salt from your assembly).
 
Was that what you were looking for?

Erik

-----Original Message-----
From: Discussion of advanced .NET topics.
[mailto:[EMAIL PROTECTED] On Behalf Of Mont Rothstein
Sent: Thursday, March 27, 2008 3:39 PM
To: ADVANCED-DOTNET@DISCUSS.DEVELOP.COM
Subject: Re: Storing shared secrets

Thanks guys.  I wasn't aware of DPAPI.

Unfortunately it is user specific and I need something that will work
for
all users.

What I think is needed (and apparently does not exist) is the .NET
equivalent of DPAPI.  Something that has a secure path from the specific
version of an application to a highly secure storage.

This would also address DPAPI's second shortcoming that any app can
access a
given user's data.

I want this did to be non-discoverable.

Ideas?

Thanks,
-Mont

===================================
This list is hosted by DevelopMentor(r)  http://www.develop.com

View archives and manage your subscription(s) at
http://discuss.develop.com

===================================
This list is hosted by DevelopMentorĀ®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to