title: Certificate problem with a new machine - credentials supplied to package not recognized
body: <p>I am installing a windows service on a new machine.
  The service does various operations over SslStream over TCP, which uses the certificate in problem.</p>
  
  <p>The service has been operating fine with the same code and same certificate on other 2 windows 2003 machines. But, this new machine is Windows 2003 with 64 bit processor too.</p>
  
  <p>I am running into this problem when I am trying to run the service with a 'Service Account' identity. It works fine with my own credentials.
  (Again, it works fine on other 2 machines with this service account)</p>
  
  <p>I do not have 'strong protection' enabled while importing the certificate.</p>
  
  <p>Here is the stack trace.</p>
  
  <blockquote>
    <p>System.ComponentModel.Win32Exception:
    The credentials supplied to the
    package were not recognized    at
    System.Net.SSPIWrapper.AcquireCredentialsHandle(SSPIInterface
    SecModule, String package,
    CredentialUse intent, SecureCredential
    scc)    at
    System.Net.Security.SecureChannel.AcquireCredentialsHandle(CredentialUse
    credUsage, SecureCredential&amp;
    secureCredential)    at
    System.Net.Security.SecureChannel.AcquireClientCredentials(Byte[]&amp;
    thumbPrint)    at
    System.Net.Security.SecureChannel.GenerateToken(Byte[]
    input, Int32 offset, Int32 count,
    Byte[]&amp; output)    at
    System.Net.Security.SecureChannel.NextMessage(Byte[]
    incoming, Int32 offset, Int32 count)<br>
    at
    System.Net.Security.SslState.StartSendBlob(Byte[]
    incoming, Int32 count,
    AsyncProtocolRequest asyncRequest)<br>
    at
    System.Net.Security.SslState.ProcessReceivedBlob(Byte[]
    buffer, Int32 count,
    AsyncProtocolRequest asyncRequest)<br>
    at
    System.Net.Security.SslState.StartReadFrame(Byte[]
    buffer, Int32 readBytes,
    AsyncProtocolRequest asyncRequest)<br>
    at
    System.Net.Security.SslState.StartReceiveBlob(Byte[]
    buffer, AsyncProtocolRequest
    asyncRequest)    at
    System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken
    message, AsyncProtocolRequest
    asyncRequest)    at
    System.Net.Security.SslState.StartSendBlob(Byte[]
    incoming, Int32 count,
    AsyncProtocolRequest asyncRequest)<br>
    at
    System.Net.Security.SslState.ForceAuthentication(Boolean
    receiveFirst, Byte[] buffer,
    AsyncProtocolRequest asyncRequest)<br>
    at
    System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult
    lazyResult)    at
    System.Net.Security.SslStream.AuthenticateAsClient(String
    targetHost, X509CertificateCollection
    clientCertificates, SslProtocols
    enabledSslProtocols, Boolean
    checkCertificateRevocation)</p>
  </blockquote>