Tentacle service

Event log erros after installing Tentacle service. See attached event log events.

Tentacle.evtx (68 KB)

During the tentacle installation, did you paste the certificate export into the Certificates tab and click Install?

Hi Paul,

I have a similar problem, the service will not start after the install. I did paste the key from the server. But it looks like it cannot be found. I checked the cert manager and I see both the keys for the server and tentacle which look fine.

The server is running WIN2K3.

Let me know if you need anything else.

Dan

Here is the log entry:

Event Type: Error
Event Source: Octopus
Event Category: None
Event ID: 0
Date: 6/22/2011
Time: 9:36:02 AM
User: N/A
Computer: UNVWIN43
Description:
2011-06-22 09:36:02,548 [1] ERROR Octopus [(null)] - System.ArgumentException: It is likely that certificate ‘CN=Octopus Tentacle’ may not have a private key that is capable of key exchange or the process may not have access rights for the private key. Please see inner exception for detail. —> System.Security.Cryptography.CryptographicException: Keyset does not exist

at System.Security.Cryptography.Utils.CreateProvHandle(CspParameters parameters, Boolean randomKeyContainer)
at System.Security.Cryptography.Utils.GetKeyPairHelper(CspAlgorithmType keyType, CspParameters parameters, Boolean randomKeyContainer, Int32 dwKeySize, SafeProvHandle& safeProvHandle, SafeKeyHandle& safeKeyHandle)
at System.Security.Cryptography.RSACryptoServiceProvider.GetKeyPair()
at System.Security.Cryptography.RSACryptoServiceProvider…ctor(Int32 dwKeySize, CspParameters parameters, Boolean useDefaultKeySize)
at System.Security.Cryptography.X509Certificates.X509Certificate2.get_PrivateKey()
at System.ServiceModel.Security.SecurityUtils.EnsureCertificateCanDoKeyExchange(X509Certificate2 certificate)
— End of inner exception stack trace —
at System.ServiceModel.Security.SecurityUtils.EnsureCertificateCanDoKeyExchange(X509Certificate2 certificate)
at System.ServiceModel.Security.ServiceCredentialsSecurityTokenManager.CreateServerX509TokenProvider()
at System.ServiceModel.Security.ServiceCredentialsSecurityTokenManager.CreateLocalSecurityTokenProvider(RecipientServiceModelSecurityTokenRequirement recipientRequirement)
at System.ServiceModel.Security.ServiceCredentialsSecurityTokenManager.CreateSecurityTokenProvider(SecurityTokenRequirement requirement)
at System.ServiceModel.Security.ServiceCredentialsSecurityTokenManager.CreateTlsnegoServerX509TokenProvider(RecipientServiceModelSecurityTokenRequirement recipientRequirement)
at System.ServiceModel.Security.ServiceCredentialsSecurityTokenManager.CreateTlsnegoSecurityTokenAuthenticator(RecipientServiceModelSecurityTokenRequirement recipientRequirement, Boolean requireClientCertificate, SecurityTokenResolver& sctResolver)
at System.ServiceModel.Security.ServiceCredentialsSecurityTokenManager.CreateSecurityTokenAuthenticator(SecurityTokenRequirement tokenRequirement, SecurityTokenResolver& outOfBandTokenResolver)
at System.ServiceModel.Security.SecuritySessionSecurityTokenAuthenticator.SessionRenewSecurityTokenManager.CreateSecurityTokenAuthenticator(SecurityTokenRequirement tokenRequirement, SecurityTokenResolver& outOfBandTokenResolver)
at System.ServiceModel.Security.SymmetricSecurityProtocolFactory.OnOpen(TimeSpan timeout)
at System.ServiceModel.Security.WrapperSecurityCommunicationObject.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Security.SecurityListenerSettingsLifetimeManager.Open(TimeSpan timeout)
at System.ServiceModel.Channels.SecurityChannelListener1.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at System.ServiceModel.Security.SecuritySessionSecurityTokenAuthenticator.OnOpen(TimeSpan timeout) at System.ServiceModel.Security.WrapperSecurityCommunicationObject.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at System.ServiceModel.Security.CommunicationObjectSecurityTokenAuthenticator.Open(TimeSpan timeout) at System.ServiceModel.Security.SecuritySessionServerSettings.OnOpen(TimeSpan timeout) at System.ServiceModel.Security.WrapperSecurityCommunicationObject.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at System.ServiceModel.Security.SecurityListenerSettingsLifetimeManager.Open(TimeSpan timeout) at System.ServiceModel.Channels.SecurityChannelListener1.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.ReliableChannelListenerBase`1.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at Octopus.Tentacle.Services.ServiceHostStarter.LaunchServiceHost[TImpl,TContract](String name, Uri address) in l:\Stovell Australia\Octopus\source\Octopus.Tentacle\Services\ServiceHostStarter.cs:line 56
at Octopus.Tentacle.Services.ServiceHostStarter.Start() in l:\Stovell Australia\Octopus\source\Octopus.Tentacle\Services\ServiceHostStarter.cs:line 35
at Autofac.ContainerBuilder.Build()
at Octopus.Tentacle.Application.Run() in l:\Stovell Australia\Octopus\source\Octopus.Tentacle\Application.cs:line 36
at Octopus.Core.Startup.ApplicationRunner.StartDebugMode() in l:\Stovell Australia\Octopus\source\Octopus.Core\Startup\ApplicationRunner.cs:line 161
at Octopus.Core.Startup.ApplicationRunner.RunInteractive(String[] args) in l:\Stovell Australia\Octopus\source\Octopus.Core\Startup\ApplicationRunner.cs:line 81
at Octopus.Core.Startup.ApplicationRunner.Run(String[] args) in l:\Stovell Australia\Octopus\source\Octopus.Core\Startup\ApplicationRunner.cs:line 37

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

Yes, I did. There was no errors reported during installation.

After install of new version:

  • installation successful (with cert copied into)
  • service was started
  • after a few seconds Tentacle service crashed

See attached event log.

Tentacle2.evtx (68 KB)

Thanks, I’ll investigate and include the fix in the next build.

Thanks for your patience Mirosław. I’ve fixed the bug in the latest build here:

Note that you’ll need to re-import the certificates during the Tentacle setup (I was previously importing them without the private key - doh!).