Estoy instalando un servicio de Windows en una máquina nueva. El servicio realiza varias operaciones sobre SslStream a través de TCP, que utiliza el certificado en el problema.Problema de certificado con una máquina nueva: las credenciales suministradas al paquete no son reconocidas
El servicio ha estado funcionando bien con el mismo código y el mismo certificado en otras 2 máquinas con Windows 2003. Pero esta nueva máquina también es Windows 2003 con procesador de 64 bits.
Me encuentro con este problema cuando intento ejecutar el servicio con una identidad de 'Cuenta de servicio'. Funciona bien con mis propias credenciales. (De nuevo, funciona bien en otras 2 máquinas con esta cuenta de servicio)
No tengo habilitada la "protección fuerte" al importar el certificado.
Aquí está el seguimiento de la pila.
System.ComponentModel.Win32Exception: las credenciales suministradas al paquete no fueron reconocidos en System.Net.SSPIWrapper.AcquireCredentialsHandle (SSPIInterface SecModule, paquete String, CredentialUse intención, SecureCredential SCC) en System.Net.Security.SecureChannel.AcquireCredentialsHandle (CredentialUse credUsage, secureCredential & secureCredential) en System.Net.Security.SecureChannel.AcquireClientCredentials (byte [] & huella digital) a System.Net.Security.SecureChannel.GenerateToken (byte [] de entrada, Int32 compensado, cuente Int32, byte [] & salida) en System.Net.Security.SecureChannel.NextMessage (byte [] entrante, Int32 compensado, recuento Int32)
en System.Net.Security.SslState.StartSendBlob (byte [] entrante, cuenta Int32, AsyncProtocolRequest asyncRequest)
en System.Net.Security.SslState.ProcessReceivedBlob (Byte [] búfer, cuenta Int32, AsyncProtocolRequest asyncRequest)
en System.Net.Security.SslState.StartReadFrame (byte [] tampón, Int32 readBytes, AsyncProtocolRequest asyncRequest)
en System.Net.Security.SslState.StartReceiveBlob (byte [] buffer, AsyncProtocolRequest asyncRequest) en System.Net.Security.SslState.CheckCompletionBeforeNextReceive (ProtocolToken mensaje , AsyncProtocolRequest asyncRequest) en System.Net.Security.SslState.StartSendBlob (byte [] entrante, Int32 cuenta, AsyncProtocolRequest asyncRequest)
en System.Net.Security.SslState.ForceAuthentication (Boolean receiveFirst, [] memoria intermedia de bytes, AsyncProtocolRequest asyncRequest)
en System.Net.Security.SslState.ProcessAuthentication (LazyAsyncResult lazyResult) en System.Net.Security. SslStream.AuthenticateAsClient (String targetHost, X509CertificateCollection ClientCertificates, SslProtocols enabledSslProtocols, Boolean checkCertificateRevocation)
Mira el primer resultado de búsqueda: http://www.google .com/search? q = "Las + credenciales + suministradas + a + el + paquete + fueron + no + reconocidas" –
Miré el hilo del foro, Wim.Y está explicando correctamente lo que está sucediendo aquí. La razón por la que no funcionaría para mí fue porque tuve que resolver esto para obtener una 'cuenta de servicio' que no se puede usar para iniciar sesión en la máquina e instalar el certificado bajo esa identidad. Pero la forma correcta de resolverlo para 'todos' se menciona en el siguiente artículo que publiqué en 'respuesta'. – cdpnet