Since you don't have access to the server you will need to run the command to encrypt sections of your web.config through code. You can do this by creating a simple web page and run it on page load or on a button click. Below is the code block you will need to run, only slightly modified from the source I took from Microsoft ( http://msdn.microsoft.com/en-us/library/system.configuration.sectioninformation.protectsection.aspx ). Though... this code didn't actually work for me. Not that the code isn't correct, but because my account doesn't have permission to the Rsa key store, your results may vary. If this doesn't work then read on for option 2.
' Get the current configuration file.'
Dim config As System.Configuration.Configuration = Web.Configuration.WebConfigurationManager.OpenWebConfiguration(Nothing)
' Get the section.'
Dim section As AppSettingsSection = CType(config.GetSection("appSettings"), AppSettingsSection)
' Protect (encrypt) the section.'
section.SectionInformation.ProtectSection("RSAProtectedConfigurationProvider")
' Save the encrypted section.'
section.SectionInformation.ForceSave = True
config.Save(ConfigurationSaveMode.Full)
Credit: I found that link with the code via Need Encrypted connection string and stmp information in the web.config.
Option 2: For security reasons you still want to use the machine key so if someone manages to download your web.config file they won't be able to decrypt your settings. One way to do this is to encrypt all your settings using the machine key by hand, and decrypt them each time you need to use them, or you could store them in the cache on each app startup.
To encrypted and decrypt an app key value you could use code like this:
Dim encryptedString As String = Convert.ToBase64String(ProtectedData.Protect(System.Text.UTF8Encoding.UTF32.GetBytes("Testing"), Nothing, DataProtectionScope.LocalMachine))
Dim decryptedString As String = System.Text.UTF8Encoding.UTF32.GetString(ProtectedData.Unprotect(Convert.FromBase64String(encryptedString), Nothing, DataProtectionScope.LocalMachine))
Response.Write(encryptedString + " - " + decryptedString)