2012-08-22 11 views
5

Ésta es una pregunta de seguimiento a éste: Outbound E-mail Profile API: Get list of e-mailaddressesAPI de gestión de la audiencia: el contenedor de claves RSA no se pudo abrir

Estoy escribiendo un ejemplo sencillo para explorar la API de administración de la audiencia. Todo el código que tengo está aquí.

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using Tridion.AudienceManagement.API; 

namespace OEPasswordEncrypt 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      StaticAddressBook importAddressBook = new StaticAddressBook(new UserContext()); 
     } 
    } 
} 

El error que estoy consiguiendo cuando corro esto en el servidor CM es la siguiente:

Unhandled Exception: System.TypeInitializationException: The type initializer for 'Tridion.AudienceManagement.DomainModel.Utilities.Configuration' threw an exception. ---> Tridion.AudienceManagement.DomainModel.Exceptions.LocalizableConfiguationErrorsException: Loading of the configuration failed. ---> System.Configuration.ConfigurationErrorsException: The RSA key container could not be opened. 
    at System.Configuration.RsaProtectedConfigurationProvider.ThrowBetterException(Boolean keyMustExist) 
    at System.Configuration.RsaProtectedConfigurationProvider.GetCryptoServiceProvider(Boolean exportable, Boolean keyMustExist) 
    at System.Configuration.RsaProtectedConfigurationProvider.Decrypt(XmlNode encryptedNode) 
    at Tridion.AudienceManagement.DomainModel.Utilities.ConfigurationEncryption.TraverseAndProcessChildren(Dictionary`2 protectedConfigurationProviders, XmlNodenode) 
    at Tridion.AudienceManagement.DomainModel.Utilities.ConfigurationEncryption.DecryptConfiguration(XmlDocument rawConfiguration) 
    at Tridion.AudienceManagement.DomainModel.Utilities.Configuration.Reload() 
    --- End of inner exception stack trace --- 
    at Tridion.AudienceManagement.DomainModel.Utilities.Configuration.Reload() 
    at Tridion.AudienceManagement.DomainModel.Utilities.Configuration..cctor() 
    --- End of inner exception stack trace --- 
    at Tridion.AudienceManagement.DomainModel.Utilities.Configuration.get_LogFolder() 
    at Tridion.AudienceManagement.DomainModel.Utilities.Logger.AssertValidLogFolder() 
    at Tridion.AudienceManagement.DomainModel.Utilities.Logger.WriteLine(LogLevel logLevel, String message, Object[] objects) 
    at Tridion.AudienceManagement.DomainModel.Utilities.Logger.WriteLine(LogLevel logLevel, String message) 
    at Tridion.AudienceManagement.DomainModel.Utilities.Logger.Info(String message) 
    at Tridion.AudienceManagement.DomainModel.ServiceClient.ContentManagerClient.LogBindingInfo(Exception ex) 
    at Tridion.AudienceManagement.DomainModel.ServiceClient.ContentManagerClient.GetConfiguredCoreService() 
    at Tridion.AudienceManagement.DomainModel.ServiceClient.ContentManagerClient.GetClient(UserContext userContext, UserData& userData) 
    at Tridion.AudienceManagement.DomainModel.ServiceClient.ContentManagerClient.LoadCurrentUser(UserContext userContext, String userDataXml) 
    at Tridion.AudienceManagement.DomainModel.UserContext..ctor(String trusteeName) 
    at Tridion.AudienceManagement.DomainModel.UserContext..ctor() 
    at Tridion.AudienceManagement.API.UserContext..ctor() 
    at OEPasswordEncrypt.Program.Main(String[] args) in c:\users\kaht\documents\visual studio 2010\Projects\OEPasswordEncrypt\OEPasswordEncrypt\Program.cs:line 13 

ya he intentado correr aspnet_regiis TridionRsaKeyContainer con mi propio nombre de usuario, pero eso me dice que la RSA el contenedor de llave no existe.

Respuesta

4

Intente ejecutar el siguiente comando:

aspnet_regiis -PA "TridionRsaKeyContainer" "Nombre_usuario"

+0

lo he intentado y la salida de ello es la siguiente: Adición de ACL para el acceso al contenedor de claves RSA ... No se encontró el contenedor de la clave RSA. Falló –

+0

Lo intenté de nuevo con la cuenta original que hizo la instalación y todo funciona bien ahora. Gracias –

+0

Hola Kah, estoy enfrentando el mismo problema que el tuyo al usar StaticAddressBook. He registrado administrador y mtsuser después de ejecutar el comando anterior pero el error no se resuelve. Mi código está en la función de carga de página. ¿Debo agregar cualquier entrada web.config para esto? Gracias – Meenakshi

Cuestiones relacionadas