1) Yes, if you use this approach, you will encrypt it on the machine on which it was installed. If you had a different configuration for the machine, this would be the usual approach from my experience. This is not a good approach if you are trying to send a "secret" connection string.
2) If you have not seen this, this article, I think, will answer the question about the RSA provider ... http://msdn.microsoft.com/en-us/library/ff650304.aspx
If this is an application used by clients for which you need to provide connection information, follow these steps:
WARNING WORD: Do not assume that by encrypting the configuration, you are really protecting yourself from the user running the application. At some point, this string should be decrypted by the application that will be used to connect to the server. This application can be used to provide connectivity to other applications. In short, you should not rely on this as your only strategy to remove users from the database. Good security is a multi-purpose effort.
Jim l
source share