I like using the Microsoft Enterprise Library cryptography framework for data encryption. It provides some dependency injection, support for protected keys and some very nice utilities. The problem I’ve found with it is that it has limited support for migrating the protected key files. Sure, you can use their configuration utility that opens the .config file, but it often reformats the configuration file to the point that it’s hard to read. I usually end up creating a dummy configuration file to use with the enterprise library configuration utility, and then I copy the changed elements over to the actual configuration file. Then once you create the key file, it’s difficult to recover the original encryption key (maybe on purpose).
Therefore, I created a windows desktop application that can open the keys in their various formats. The application can also save the key into the various formats. You can download the source here. I wrote it with version 5.0 of the Microsoft Enterprise Library, .NET 4.0 and Visual Studio 2010. I made the assumption that the user know a little about how Enterprise Library stores the keys. It’s still in development and a little rough; so, use it at your own risk.