Rhys, Since neither the ECMA standard nor the SSCLI implementation support the .NET Framework Cryptography classes, this list server is probably not the best source of information on this topic. You might try posting to the microsoft.public.dotnet.framework newsgroup. I couldn't find a more specific .NET newsgroup for security and the managed Crypto classes but they should be able to direct to the right place from the general group.
Another useful source of information might be the Microsoft Platforms SDK documentation on the security and cryptography APIs. Since the .NET Framework Crypto classes utilize the platform APIs and infrastructure it could be good to have an understanding of the lower-level OS implementation as well as looking at the managed classes. You can get documentation on the Windows Crypto API if you download the core Platform SDK from http://www.microsoft.com/msdownload/platformsdk/sdkupdate/. The documenation is also on MSDN at: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/securit y/security/cryptography_functions.asp The Platform SDK security newsgroup, microsoft.public.platformsdk.security, is another possible resource. John This posting is provided "AS IS" with no warranties, and confers no rights. -----Original Message----- From: Rhys Weatherley [mailto:[EMAIL PROTECTED]] Sent: Monday, July 08, 2002 2:53 PM To: [EMAIL PROTECTED] Subject: Asymmetric Key Initialization I'm in the process of writing the System.Security.Cryptography API's for Portable.NET, and something is very confusing. I'm hoping someone here can explain what is going on, or redirect me to someone else who can. The DSACryptoServiceProvider and RSACryptoServiceProvider classes manipulate public key encryption systems, which is straight-forward enough. But the documentation is very unclear as to how objects are initialized. There seems to be four ways to set up an object: supply a key name to be looked up in the user's key chain, generate a new key to be stored in the key chain, generate a new key for use elsewhere, and supply explicit parameters using "ImportParameters". The problem is the constructor: I can't figure out from the documentation what combination of constructor parameters activates each of the four modes. Cheers, Rhys Weatherley Author of Portable.NET http://www.southern-storm.com.au/portable_net.html