programación microsoft mcsa examen developer con certification certificacion applications c# .net certificate

microsoft - mta c#



ASP.NET-La contraseña de red especificada no es correcta (1)

Prueba esto:

new X509Certificate2(Path, "", X509KeyStorageFlags.MachineKeySet);

Parece que el constructor X509Certificate2 intenta acceder al almacén de claves privadas del usuario local (incluso cuando se carga un PFX y la clave privada está en el PFX). Con asp.net, el perfil de usuario normalmente no se carga, por lo que el almacén de claves de usuario no existe. La especificación de MachineKeySet le indica al constructor que busque en el almacén de claves de la computadora local, que siempre existe.

Tengo en mi máquina de desarrollo un cliente WCF que requiere certificado y funciona bien.
Después de la implementación en el servidor de producción, obtengo el siguiente error:

[CryptographicException: The specified network password is not correct.]

DEV - Win7 32BIT IIS 7.5
PRODUCCIÓN - Win SERVER 64BIT 2008 IIS 7.5

Aunque no hay una contraseña entre las redes y no hay una contraseña de certificado. (Lo sé porque el desarrollador trabaja sin contraseña). La única contraseña que tengo es la WCF que es la misma que la DEV.

CrmServiceClient crm = new CrmServiceClient("CrmServiceEndpoint"); crm.ClientCredentials.UserName.UserName = CrmConfigRepository.CrmUserName;//fine crm.ClientCredentials.UserName.Password = CrmConfigRepository.CrmPassword;//fine crm.ClientCredentials.ClientCertificate.Certificate = new X509Certificate2(Path); ///THIS WONT WORK AS WELL crm.ClientCredentials.ClientCertificate.Certificate = new X509Certificate2(Path, "", X509KeyStorageFlags.Exportable);

esta es la pila completa

[CryptographicException: The specified network password is not correct. ] System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr) +41 System.Security.Cryptography.X509Certificates.X509Utils._LoadCertFromFile(String fileName, IntPtr password, UInt32 dwFlags, Boolean persistKeySet, SafeCertContextHandle& pCertCtx) +0 System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromFile(String fileName, Object password, X509KeyStorageFlags keyStorageFlags) +372 System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(String fileName) +101 Externals.CrmConnection.Get() in C:/Users/avi/Documents/Visual Studio 2010/Projects/ExpressBroker/Externals/CrmConnection.cs:31 ExpressBroker.Models.ActionsMetadata.Handlers.LeadAccountHandler.Handle(BrokerAction brokerAction, ActionStep step, Dictionary`2 httpPostDataCollection) in C:/Users/avi/Documents/Visual Studio 2010/Projects/ExpressBroker/ExpressBroker/Models/ActionsMetadata/Handlers/LeadAccountHandler.cs:45 ExpressBroker.Models.ActionsMetadata.Handlers.BaseStepHandler.SecuredHandle(BrokerAction brokerAction, ActionStep step, Dictionary`2 httpPostDataCollection) in C:/Users/avi/Documents/Visual Studio 2010/Projects/ExpressBroker/ExpressBroker/Models/ActionsMetadata/Handlers/BaseStepHandler.cs:49 ExpressBroker.Models.ActionsMetadata.Handlers.HandlerInvoker.Invoke(BrokerAction brokerAction, ActionStep actionStep, Dictionary`2 stepValues) in C:/Users/avi/Documents/Visual Studio 2010/Projects/ExpressBroker/ExpressBroker/Models/ActionsMetadata/Handlers/StepServerInoker.cs:29 ExpressBroker.Controllers.LeadAccountController.Register(String step) in C:/Users/avi/Documents/Visual Studio 2010/Projects/ExpressBroker/ExpressBroker/Controllers/LeadAccountController.cs:28 lambda_method(Closure , ControllerBase , Object[] ) +127 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +264 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +39 System.Web.Mvc.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12() +129 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +784922 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +314 System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +784976 System.Web.Mvc.Controller.ExecuteCore() +159 System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +335 System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +62 System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +20 System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +54 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +453 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +371

Gracias