Instaluję usługę Windows na nowej maszynie. Usługa wykonuje różne operacje przez SslStream przez TCP, który używa certyfikatu, którego dotyczy problem.Problem z certyfikatem dla nowego komputera - dane uwierzytelniające dostarczone do pakietu nierozpoznane
Usługa działa poprawnie z tym samym kodem i tym samym certyfikatem na innych komputerach z systemem Windows 2000. Ale ta nowa maszyna to Windows 2003 z 64-bitowym procesorem.
Problem ten występuje, gdy próbuję uruchomić usługę z tożsamością "konta usługi". Działa dobrze z moimi własnymi referencjami. (Ponownie działa poprawnie na innych 2 komputerach z tym kontem usługi)
Nie mam włączonej "silnej ochrony" podczas importowania certyfikatu.
Oto ślad stosu.
System.ComponentModel.Win32Exception: Poświadczenia dołączone do pakietu nie zostały ujęte w System.Net.SSPIWrapper.AcquireCredentialsHandle (SSPIInterface SecModule, pakiet String CredentialUse intencji, SecureCredential SCC) w System.Net.Security.SecureChannel.AcquireCredentialsHandle (CredentialUse credUsage, secureCredential & secureCredential) w System.Net.Security.SecureChannel.AcquireClientCredentials (bajty [] &odcisk palca) na System.Net.Security.SecureChannel.GenerateToken (bajt [] wejściowego Int32 offset liczyć Int32, bajtów [] & wyjścia) w System.Net.Security.SecureChannel.NextMessage (bajt [] przychodzący, Int32 offset Ilość Int32)
w System.Net.Security.SslState.StartSendBlob (bajty [] przychodzące, liczba Int32, AsyncProtocolRequest asyncRequest)
w System.Net.Security.SslState.ProcessReceivedBlob (bajty [] bufor, liczba Int32, AsyncProtocolRequest asyncRequest)
w System.Net.Security.SslState.StartReadFrame (bajty [] bufor Int32 readBytes, AsyncProtocolRequest asyncRequest)
w System.Net.Security.SslState.StartReceiveBlob (bajty [] bufor AsyncProtocolRequest asyncRequest) w System.Net.Security.SslState.CheckCompletionBeforeNextReceive (ProtocolToken wiadomości, AsyncProtocolRequest asyncRequest) w System.Net.Security.SslState.StartSendBlob (bajty [] przychodzące, liczba Int32, AsyncProtocolRequest asyncRequest)
w System.Net.Security.SslState.ForceAuthentication (logiczna receiveFirst, bajt [] bufor AsyncProtocolRequest asyncRequest)
w System.Net.Security.SslState.ProcessAuthentication (LazyAsyncResult lazyResult) w System.Net.Security. SslStream.AuthenticateAsClient (String targetHost, X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, Boolean checkCertificateRevocation)
Spójrz na pierwszy wynik wyszukiwania: http://www.google .pl/search? q = "+ dane uwierzytelniające + dostarczone + do + pakietu + były + nie + rozpoznane" –
Przeglądałem wątek na forum, Wim.I poprawnie wyjaśnia, co się tutaj dzieje. Powodem, dla którego nie działałoby to dla mnie było to, że musiałem rozwiązać to dla "konta usługi", którego nie można użyć do zalogowania się do komputera i zainstalowania certyfikatu pod tą tożsamością. Ale właściwy sposób rozwiązania tego problemu dla "everbody" jest wymieniony w następującym artykule, który opublikowałem w "odpowiedzi". – cdpnet