2012-08-22 14 views
5

Questo è un follow-up domanda a questo: Outbound E-mail Profile API: Get list of e-mailaddressesgestione Pubblico API: Il contenitore di chiavi RSA non può essere aperto

Sto scrivendo un semplice esempio per esplorare l'API Pubblico di gestione. Tutto il codice che ho è qui.

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()); 
     } 
    } 
} 

L'errore che sto ottenendo quando faccio funzionare questo sul server di CM è questo:

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 

Ho già provato a fare funzionare aspnet_regiis TridionRsaKeyContainer con il mio nome utente, ma che mi dice la RSA il contenitore chiave non esiste.

risposta

4

Provare a eseguire il seguente comando:

aspnet_regiis -pa "TridionRsaKeyContainer" "Nome_Utente"

+0

ho provato e l'uscita di che è questo: aggiunta di ACL per l'accesso al contenitore di chiavi RSA ... Il contenitore della chiave RSA non è stato trovato. fallito! –

+0

L'ho provato di nuovo con l'account originale che ha fatto l'installazione e ora funziona tutto bene. Grazie –

+0

Ciao Kah, sto affrontando lo stesso tuo problema quando si utilizza StaticAddressBook. Ho registrato l'amministratore e mtsuser dopo aver eseguito il comando precedente ma l'errore non è stato risolto. Il mio codice è nella funzione di caricamento della pagina. Devo aggiungere qualche voce web.config per questo? Grazie – Meenakshi

Problemi correlati