Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.10.2011(UTC) Сообщений: 61
Сказал(а) «Спасибо»: 2 раз
|
Добрый день! Тема много раз поднималась, но ни разу еще я не видел, чтобы проблема была решена. Имеется технологическая электронная подпись для работы со смэв. С помощью локального сервера разработки VS 2010 сообщения WCF подписываются. Как только приложение выкладывается в IIS возникает ошибка: Код:
System.Security.Cryptography.CryptographicException: Keyset doesn't exist
Server stack trace: в CryptoPro.Sharpei.CPUtils.CreateProvHandle(CspParameters parameters, Boolean randomKeyContainer) в CryptoPro.Sharpei.CPUtils.GetKeyPairHelper(CPCspAlgorithmType keyType, CspParameters parameters, Boolean randomKeyContainer, Int32 dwKeySize, SafeProvHandleCP& safeProvHandle, SafeKeyHandleCP& safeKeyHandle) в CryptoPro.Sharpei.Gost3410CryptoServiceProvider.GetKeyPair() в CryptoPro.Sharpei.NetDetours.CPX509Certificate2.get_PrivateKey() в System.IdentityModel.Tokens.X509AsymmetricSecurityKey.get_PrivateKey() в System.IdentityModel.Tokens.X509AsymmetricSecurityKey.GetSignatureFormatter(String algorithm) в CryptoPro.Sharpei.IdentityModel.CPX509AsymmetricSecurityKey.GetSignatureFormatter(String algorithm) в System.IdentityModel.SignedXml.ComputeSignature(SecurityKey signingKey) в System.ServiceModel.Security.WSSecurityOneDotZeroSendSecurityHeader.CompletePrimarySignatureCore(SendSecurityHeaderElement[] signatureConfirmations, SecurityToken[] signedEndorsingTokens, SecurityToken[] signedTokens, SendSecurityHeaderElement[] basicTokens, Boolean isPrimarySignature) в System.ServiceModel.Security.SendSecurityHeader.CompleteSignature() в System.ServiceModel.Security.SendSecurityHeader.CompleteSecurityApplication() в System.ServiceModel.Security.SecurityAppliedMessage.OnWriteMessage(XmlDictionaryWriter writer) в System.ServiceModel.Channels.BufferedMessageWriter.WriteMessage(Message message, BufferManager bufferManager, Int32 initialOffset, Int32 maxSizeQuota) в System.ServiceModel.Channels.TextMessageEncoderFactory.TextMessageEncoder.WriteMessage(Message message, Int32 maxMessageSize, BufferManager bufferManager, Int32 messageOffset) в Binding.SMEVTextMessageEncoder.WriteMessage(Message message, Int32 maxMessageSize, BufferManager bufferManager, Int32 messageOffset) в System.ServiceModel.Channels.HttpOutput.SerializeBufferedMessage(Message message) в System.ServiceModel.Channels.HttpOutput.Send(TimeSpan timeout) в System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.SendRequest(Message message, TimeSpan timeout) в System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout) в System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.Request(Message message, TimeSpan timeout) в System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout) в System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) в System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) в System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
В реестре выдал права (как для NETWORK SERVICE, так и для IUSR):  Пробовал также в консоли сертификатов - но там права сбрасываются. Подскажите пожалуйста, должно же быть решение!
|