Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро .NET
»
System.NotSupportedException Алгоритм ключа сертификата не поддерживается
Статус: Новичок
Группы: Участники
Зарегистрирован: 10.06.2019(UTC) Сообщений: 2
|
Подписывал запросы для ГИС ЖКХ используя ГОСТ2012(256), все отлично работало до тех пор пока не решил обновить КриптоПро .NET, теперь приложение падает с ошибкой: Код:System.NotSupportedException: "Алгоритм ключа сертификата не поддерживается."
Пробовал полностью переустанавливать КриптоПро CSP(4.0.9944/4.0.9963), КриптоПро .NET(1.0.6893/1.0.7089), ошибка сохраняется. osinfo.xml прикладываю osinfo(86).xml (71kb) загружен 2 раз(а). osinfo(64).xml (78kb) загружен 2 раз(а).Код:Необработанное исключение: System.NotSupportedException: Алгоритм ключа сертификата не поддерживается.
Server stack trace:
в System.Security.Cryptography.X509Certificates.X509Certificate2.get_PrivateKey()
в Xades.Implementations.GostCryptoProvider.GetAsymmetricAlgorithm(X509Certificate2 certificate, String privateKeyPassword)
в Xades.XadesBesSignedXml.ComputeSignature(X509Certificate2 certificate, String privateKeyPassword)
в Xades.Implementations.GostXadesBesService.Sign(String xmlData, String elementId, String certificateThumbprint, String certificatePassword)
в Gis.Crypto.SignatureMessageInspector.GetSignElement(String messageString) в C:\Workflow\Apps\Mint\gis-gkh-web\Gis\Crypto\SignatureMessageInspector.cs:строка 78
в Gis.Crypto.SignatureMessageInspector.BeforeSendRequest(Message& request, IClientChannel channel) в C:\Workflow\Apps\Mint\gis-gkh-web\Gis\Crypto\SignatureMessageInspector.cs:строка 33
в System.ServiceModel.Dispatcher.ImmutableClientRuntime.BeforeSendRequest(ProxyRpc& rpc)
в System.ServiceModel.Channels.ServiceChannel.PrepareCall(ProxyOperationRuntime operation, Boolean oneway, ProxyRpc& rpc)
в 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)
Контейнер, отпечаток и пароль даю верные. Как починить теперь не знаю. Отредактировано пользователем 10 июня 2019 г. 12:59:49(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 20.02.2017(UTC) Сообщений: 217
Сказал(а) «Спасибо»: 4 раз Поблагодарили: 63 раз в 59 постах
|
Добрый день.
Похоже вы обновили .NET Framework до версии 4.8. Версию 4.8 пока не поддерживаем, в данный момент ведём работы.
В качестве временного решения - попробуйте откатиться до версии 4.7.1 или 4.7.2 |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 11.06.2019(UTC) Сообщений: 2 Откуда: Санкт-Петербург
|
Вы уже в двух темах пишите, что надо откатиться до 4.7.1/4.7.2. А можно какой-нибудь гайд, как это сделать под Windows 10? Я удалил всё, что связано с net в Удалении и изменении программ. Я использовал NET Framework Cleanup Tool. 4.8 осталась на месте. В реестре по прежнему прописана версия 4.8. Инсталлятор 4.7.2 кидает на эту страницу, где четко описано, что нельзя откатиться.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 20.02.2017(UTC) Сообщений: 217
Сказал(а) «Спасибо»: 4 раз Поблагодарили: 63 раз в 59 постах
|
Добрый день.
Удалить .net на win10 можно через Панель управления (Установленные обновления, раздел Microsoft Windows).
На моей машине с сегодняшней установкой номер обновления kb4486153. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 10.06.2019(UTC) Сообщений: 2
|
Всем спасибо! Вы правы, дело было в установленном обновлении Windows 10. Удалил его через интерфейс "Установленные обновления" и все заработало. Номер обновления не записал, заканчивалось на *44. Последнюю версию проверял через ASoft .NET Version Detector 19 R1. Отредактировано пользователем 13 июня 2019 г. 10:15:09(UTC)
| Причина: Не указана
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 11.06.2019(UTC) Сообщений: 2 Откуда: Санкт-Петербург
|
Да, удаление обновления kb4486153 решает проблему, но это не решение самой проблемы, а лечение симптомов. Что делать с Windows 10 1903, где 4.8 идет "из коробки"? Такие ПК уже тоже появляются...
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,393 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 717 раз в 621 постах
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,393 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 717 раз в 621 постах
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 26.02.2014(UTC) Сообщений: 26 Откуда: Москва Поблагодарили: 4 раз в 4 постах
|
Автор: Максим Коллегин Здравствуйте. Работаем на версии 1.0.7132.0 от 12.07.2019 с сайта https://www.cryptopro.ru/products/net/downloads, номер версии старше указанной альфы, дата свежее. Сейчас обновляемся с 4.5.1 на 4.8. Получаем ошибку: Код:The private key is not present in the X.509 certificate.
System.NotSupportedException: The private key is not present in the X.509 certificate.
Server stack trace:
at System.IdentityModel.Tokens.X509AsymmetricSecurityKey.GetSignatureFormatter(String algorithm)
at CryptoPro.Sharpei.IdentityModel.CPX509AsymmetricSecurityKey.GetSignatureFormatter(String algorithm)
at System.IdentityModel.SignedXml.ComputeSignature(SecurityKey signingKey)
at System.ServiceModel.Security.WSSecurityOneDotZeroSendSecurityHeader.CompletePrimarySignatureCore(SendSecurityHeaderElement[] signatureConfirmations, SecurityToken[] signedEndorsingTokens, SecurityToken[] signedTokens, SendSecurityHeaderElement[] basicTokens, Boolean isPrimarySignature)
at System.ServiceModel.Security.SendSecurityHeader.CompleteSignature()
at System.ServiceModel.Security.SendSecurityHeader.CompleteSecurityApplication()
at System.ServiceModel.Security.SecurityAppliedMessage.OnWriteMessage(XmlDictionaryWriter writer)
at System.ServiceModel.Channels.BufferedMessageWriter.WriteMessage(Message message, BufferManager bufferManager, Int32 initialOffset, Int32 maxSizeQuota)
at System.ServiceModel.Channels.TextMessageEncoderFactory.TextMessageEncoder.WriteMessage(Message message, Int32 maxMessageSize, BufferManager bufferManager, Int32 messageOffset)
at CryptoPro.Sharpei.ServiceModel.SMEVTextMessageEncoder.WriteMessage(Message message, Int32 maxMessageSize, BufferManager bufferManager, Int32 messageOffset)
В теме https://www.cryptopro.ru...posts&t=1013&p=3 пишется о поддержке 4.7 начиная с 1.0.6397.0 Экспериментально установили, что на 4.6.2 ещё работает, а начиная с 4.7 выдает указанную выше ошибку. Просьба уточнить, имеет ли смысл проверять на указанной выше альфе с номером версии ниже? Какая актуальная ситуация с поддержкой WCF на 4.7/4.8?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 20.02.2017(UTC) Сообщений: 217
Сказал(а) «Спасибо»: 4 раз Поблагодарили: 63 раз в 59 постах
|
|
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро .NET
»
System.NotSupportedException Алгоритм ключа сертификата не поддерживается
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close