Криптопро tls ошибка 0x80090331 протокола tls


Offline

NHawk

 


#1
Оставлено
:

6 мая 2016 г. 13:01:47(UTC)

NHawk

Статус: Активный участник

Группы: Участники

Зарегистрирован: 18.07.2011(UTC)
Сообщений: 50

Сказал(а) «Спасибо»: 7 раз
Поблагодарили: 5 раз в 4 постах

КриптоПро CSP версия 4.0.9708
ядро 4.0.9006 КС1.
В лог спамит ошибка:
КриптоПро TLS. Ошибка 0x80090331 протокола TLS: Взаимодействие клиента и сервера невозможно, т.к. у них разный алгоритм работы.

Куда копать, что делать ?


Вверх

Twitter


Offline

Максим Коллегин

 


#2
Оставлено
:

6 мая 2016 г. 13:23:08(UTC)

Максим Коллегин

Статус: Сотрудник

Группы: Администраторы

Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,283
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 21 раз
Поблагодарили: 673 раз в 593 постах

Клиент? Сервер? Какая конфигурация? Как мы можем воспроизвести проблему?

Знания в базе знаний, поддержка в техподдержке


Вверх

WWW


Offline

NHawk

 


#3
Оставлено
:

6 мая 2016 г. 14:25:48(UTC)

NHawk

Статус: Активный участник

Группы: Участники

Зарегистрирован: 18.07.2011(UTC)
Сообщений: 50

Сказал(а) «Спасибо»: 7 раз
Поблагодарили: 5 раз в 4 постах

Ошибка падает на сервере, ОС Windows 2012R2, версию и сборку КП отписал выше. в ГУИ КП, на вкладке TLS секция «Сервер» включены галки «Не проверять сертификат клиента на отзыв» , «Не использовать устаревшие cipher suite-ы»

Клиент, КП 3.6.7777 самая последняя, которую можно получить на сайте. ОС Windows 7, ie8, конфигурация TLS в ie 1.0, 1.1, 1.2 включены. в ГУИ КП, на вкладке TLS секция «Клиент» включена только «Не использовать устаревшие cipher suite-ы»


Вверх

Twitter


Offline

Максим Коллегин

 


#4
Оставлено
:

6 мая 2016 г. 15:45:27(UTC)

Максим Коллегин

Статус: Сотрудник

Группы: Администраторы

Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,283
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 21 раз
Поблагодарили: 673 раз в 593 постах

Но соединение в IE устанавливается?

Знания в базе знаний, поддержка в техподдержке


Вверх

WWW


Offline

NHawk

 


#5
Оставлено
:

6 мая 2016 г. 16:23:15(UTC)

NHawk

Статус: Активный участник

Группы: Участники

Зарегистрирован: 18.07.2011(UTC)
Сообщений: 50

Сказал(а) «Спасибо»: 7 раз
Поблагодарили: 5 раз в 4 постах

Да, соединение проходит.


Вверх

Twitter


Offline

Максим Коллегин

 


#6
Оставлено
:

6 мая 2016 г. 18:18:41(UTC)

Максим Коллегин

Статус: Сотрудник

Группы: Администраторы

Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,283
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 21 раз
Поблагодарили: 673 раз в 593 постах

Отключите в IE TLS 1.1 и 1.2. Или включите Legacy сюиты на сервере.

Знания в базе знаний, поддержка в техподдержке


Вверх

WWW

Пользователи, просматривающие эту тему

Guest

Быстрый переход
 

Вы не можете создавать новые темы в этом форуме.

Вы не можете отвечать в этом форуме.

Вы не можете удалять Ваши сообщения в этом форуме.

Вы не можете редактировать Ваши сообщения в этом форуме.

Вы не можете создавать опросы в этом форуме.

Вы не можете голосовать в этом форуме.

Форум КриптоПро
 » 
Средства криптографической защиты информации
 » 
Linux, Solaris etc.
 » 
Сайт на nginx с ГОСТ шифрованием открыватся только в браузере Спутнике, в других браузерах нет


Offline

mecher

 


#1
Оставлено
:

24 ноября 2022 г. 17:52:32(UTC)

mecher

Статус: Новичок

Группы: Участники

Зарегистрирован: 01.08.2022(UTC)
Сообщений: 5
Российская Федерация

Всем добрый день.

Установил nginx 1.22.0 с патчем от КриптоПро как описано в инструкции — https://support.cryptopr…-c-podderzhkojj-gost-tls

Выпустил сертификат с использованием криптопровайдера «Crypto-Pro GOST R 34.10-2012 KC1 CSP». Контейнер хранится под пользвоателем nginx, под которым стартует сам nginx:

Код:

sudo -u nginx /opt/cprocsp/bin/amd64/certmgr -l -chain -store uMy
Certmgr 1.1 (c) "Crypto-Pro", 2007-2021.
Program for managing certificates, CRLs and stores.
=============================================================================
1-------
Issuer              : OGRN=1234567890123, INN=001234567890, STREET=ул. Сущёвский вал д. 18, C=RU, S=г. Москва, L=Москва, O="ООО ""КРИПТО-ПРО""", CN="Тестовый УЦ ООО ""КРИПТО-ПРО"""
Subject             : CN=
Serial              : 0x7C00074DEF5D0D38D3941C3AEA000100074DEF
SHA1 Thumbprint     : 6708f3647d6173207372ef2a7f90e25bdcf6c36e
SubjKeyID           : 4873facbd9ad60a23b623591f21485b8cf9144da
Signature Algorithm : ГОСТ Р 34.11-2012/34.10-2012 256 бит
PublicKey Algorithm : ГОСТ Р 34.10-2012 256 бит (512 bits)
Not valid before    : 23/11/2022  09:28:37 UTC
Not valid after     : 23/02/2023  09:38:37 UTC
PrivateKey Link     : Yes
Container           : HDIMAGE\rngi.000C43F
Provider Name       : Crypto-Pro GOST R 34.10-2012 KC1 CSP
Provider Info       : Provider Type: 80, Key Spec: 1, Flags: 0x0
CA cert URL         : http://testgost2012.cryptopro.ru/CertEnroll/root2018.crt
OCSP URL            : http://testgost2012.cryptopro.ru/ocsp2012g/ocsp.srf
OCSP URL            : http://testgost2012.cryptopro.ru/ocsp2012gst/ocsp.srf
CDP                 : http://testgost2012.cryptopro.ru/CertEnroll/!0422!0435!0441!0442!043e!0432!044b!0439%20!0423!0426%20!041e!041e!041e%20!0022!041a!0420!0418!041f!0422!041e-!041f!0420!041e!0022(1).crl
CDP                 : http://testgost2012.cryptopro.ru/CertEnroll/testgost2012(1).crl
Extended Key Usage  : 1.3.6.1.5.5.7.3.1 Проверка подлинности сервера
Certificate chain   : Verified successfully.
#0:
  Issuer            : Тестовый УЦ ООО "КРИПТО-ПРО"
  Subject           : Тестовый УЦ ООО "КРИПТО-ПРО"
  SHA1 Thumbprint   : 927c1e1eb2b397cbc5d11712e2e3bbedc876bd7e
#1:
  Subject           : 
  SHA1 Thumbprint   : 6708f3647d6173207372ef2a7f90e25bdcf6c36e
=============================================================================

[ErrorCode: 0x00000000]

Имена в «CN», «Container» и «Subject» опущены.

Указал серийный номер сертификата в конфиге nginx:

Код:


server {
        listen 443;

        server_name servername;

        root /var/www/html;
        index index.html index.htm index.nginx-debian.html;

        sspi on;
        sspi_certificate 0x7C00074DEF5D0D38D3941C3AEA000100074DEF;
        sspi_protocols TLSv1.2;
        location / {
        }
}

«server_name» опущено.

В итоге на тестовый сайт по https можно зайти через браузер Спутник. В строке адреса «зелёный двуглавый орёл» и соединение защищено.
Но Chromium-gost говорит «Не удается получить доступ к сайту».

В access логе nginx для Спутника:

Код:


"GET / HTTP/1.1" 200 2393 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4137.1 SputnikBrowser/5.6.6280.0 (GOST) Safari/537.36"

В error логе nginx для Chromium-gost:

Код:


[error] 1504#0: *9173 AcceptSecurityContext failed: 0x80090331 while SSPI handshaking, client: ip_клиента, server: 0.0.0.0:443

В syslog’е:

Код:


ocess: <ssp>AcceptSecurityContext!(failed: 0x80090331)
ocess: <ssp>AddToMessageLog!CryptoPro TLS. Error 0x80090331 in TLS protocol: The client and server cannot communicate, because they do not possess a common algorithm.
ocess: <ssp>AcceptSecurityContext!(failed: 0x80090331)

Задача стоит, что бы сайт по https открывался не только в одном Спутнике, который к тому же более не разрабатывается, а и в Chromium-gost.

Возникает вопрос: «Я использую неверного криптовайдера или что-то ещё делаю не так»?


Вверх


Offline

mecher

 


#2
Оставлено
:

25 ноября 2022 г. 12:48:50(UTC)

mecher

Статус: Новичок

Группы: Участники

Зарегистрирован: 01.08.2022(UTC)
Сообщений: 5
Российская Федерация

Оказалось, что есть какие-то проблемы на клиенте. Именно конкретно с него не открывается сайт в Chromium-gost, но открывается в Спутнике.
Попробовали на другом клиенте, там сайт в Chromium-gost открывается.
Т.е. серверная часть настроена корректно. Вопрсо закрыт.


Вверх

Пользователи, просматривающие эту тему

Guest

Форум КриптоПро
 » 
Средства криптографической защиты информации
 » 
Linux, Solaris etc.
 » 
Сайт на nginx с ГОСТ шифрованием открыватся только в браузере Спутнике, в других браузерах нет

Быстрый переход
 

Вы не можете создавать новые темы в этом форуме.

Вы не можете отвечать в этом форуме.

Вы не можете удалять Ваши сообщения в этом форуме.

Вы не можете редактировать Ваши сообщения в этом форуме.

Вы не можете создавать опросы в этом форуме.

Вы не можете голосовать в этом форуме.

SQL Server 2014 Developer — duplicate (do not use) SQL Server 2014 Enterprise — duplicate (do not use) SQL Server 2014 Standard — duplicate (do not use) SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard Еще…Меньше

Проблемы

Предположим, что вы используете протокол TLS (Transport Layer Security) версии 1,2 в Microsoft SQL Server. Если сертификат, используемый для шифрования связи конечной точки для зеркального отображения базы данных, групп доступности и компонента Service Broker, использует алгоритм хэширования MD5, то связь завершается сбоем. Кроме того, в журнале ошибок SQL Server появляется следующее сообщение об ошибке:

Не удалось подтвердить соединение. Сбой вызова ОС: (80090331) 0x80090331 (клиент и сервер не могут взаимодействовать, так как у них нет общего алгоритма.). Состояние 58. «.

Кроме того, журнал Windows показывает следующую ошибку SChannel:

На удаленную конечную точку было создано неустранимое оповещение. Это может привести к завершению подключения. Протокол TLS определил код неустранимой ошибки 40. Состояние ошибки для канала SChannel в Windows — 1205.

Причина

Эта проблема возникает из-за того, что TLS 1,2 не поддерживает MD5 в качестве алгоритма хеширования подписей.

Решение

Согласно текущим рекомендациям по обеспечению безопасности и стандартам, рекомендуется переключаться на хэш подписи, не относящийся к MD5, для сертификатов, используемых для шифрования конечных точек SQL Server. Список фиксированных версий, поддерживающих TLS 1,2, можно найти в следующей статье Microsoft Knowledge Base:

3135244 Поддержка TLS 1,2 для Microsoft SQL Server

Статус

Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе «Применяется к».

Ссылки

Ознакомьтесь с терминологией , которую корпорация Майкрософт использует для описания обновлений программного обеспечения.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

  • Remove From My Forums
  • Вопрос

  • Hi,

    Today, suddenly, from nowhere, my Windows 2012 R2 started to send to my mail system (for outgoing messages), also server it’s not receiving mails: 

    0x80090331 The client and server cannot communicate, because they do not possess a common algorithm

    My TLS configuration at HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocols are (both server and client):

    TLS 1.0 
    «Enabled»=dword:ffffffff
    «DisabledByDefault»=dword:00000000

    TLS 1.1
    «Enabled»=dword:ffffffff
    «DisabledByDefault»=dword:00000000

    TLS 1.2
    «Enabled»=dword:ffffffff
    «DisabledByDefault»=dword:00000000

    SSL 2.0 and SSL 3.0 are disabled.

    Does anyone knows why I am getting this error?

    Thanks in advance


    G.Waters

Ответы

  • Hi Anne,

    I tried your suggestion but didn’t work, I found this script on internet and solved my problem. Still don’t know why stopped working thou:

    # Copyright 2016, Alexander Hass
    # http://www.hass.de/content/setup-your-iis-ssl-perfect-forward-secrecy-and-tls-12
    #
    # Version 1.7
    # - Windows Version compare failed. Get-CimInstance requires Windows 2012 or later.
    # Version 1.6
    # - OS version detection for cipher suites order.
    # Version 1.5
    # - Enabled ECDH and more secure hash functions and reorderd cipher list.
    # - Added Client setting for all ciphers.
    # Version 1.4
    # - RC4 has been disabled.
    # Version 1.3
    # - MD5 has been disabled.
    # Version 1.2
    # - Re-factored code style and output
    # Version 1.1
    # - SSLv3 has been disabled. (Poodle attack protection)
    
    Write-Host 'Configuring IIS with SSL/TLS Deployment Best Practices...'
    Write-Host '--------------------------------------------------------------------------------'
    
    # Disable Multi-Protocol Unified Hello
    New-Item 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsMulti-Protocol Unified HelloServer' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsMulti-Protocol Unified HelloServer' -name Enabled -value 0 -PropertyType 'DWord' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsMulti-Protocol Unified HelloServer' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null
    New-Item 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsMulti-Protocol Unified HelloClient' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsMulti-Protocol Unified HelloClient' -name Enabled -value 0 -PropertyType 'DWord' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsMulti-Protocol Unified HelloClient' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null
    Write-Host 'Multi-Protocol Unified Hello has been disabled.'
    
    # Disable PCT 1.0
    New-Item 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsPCT 1.0Server' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsPCT 1.0Server' -name Enabled -value 0 -PropertyType 'DWord' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsPCT 1.0Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null
    New-Item 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsPCT 1.0Client' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsPCT 1.0Client' -name Enabled -value 0 -PropertyType 'DWord' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsPCT 1.0Client' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null
    Write-Host 'PCT 1.0 has been disabled.'
    
    # Disable SSL 2.0 (PCI Compliance)
    New-Item 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 2.0Server' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 2.0Server' -name Enabled -value 0 -PropertyType 'DWord' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 2.0Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null
    New-Item 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 2.0Client' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 2.0Client' -name Enabled -value 0 -PropertyType 'DWord' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 2.0Client' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null
    Write-Host 'SSL 2.0 has been disabled.'
    
    # NOTE: If you disable SSL 3.0 the you may lock out some people still using
    # Windows XP with IE6/7. Without SSL 3.0 enabled, there is no protocol available
    # for these people to fall back. Safer shopping certifications may require that
    # you disable SSLv3.
    #
    # Disable SSL 3.0 (PCI Compliance) and enable "Poodle" protection
    New-Item 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 3.0Server' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 3.0Server' -name Enabled -value 0 -PropertyType 'DWord' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 3.0Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null
    New-Item 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 3.0Client' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 3.0Client' -name Enabled -value 0 -PropertyType 'DWord' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 3.0Client' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null
    Write-Host 'SSL 3.0 has been disabled.'
    
    # Add and Enable TLS 1.0 for client and server SCHANNEL communications
    New-Item 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.0Server' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.0Server' -name 'Enabled' -value '0xffffffff' -PropertyType 'DWord' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.0Server' -name 'DisabledByDefault' -value 0 -PropertyType 'DWord' -Force | Out-Null
    New-Item 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.0Client' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.0Client' -name 'Enabled' -value '0xffffffff' -PropertyType 'DWord' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.0Client' -name 'DisabledByDefault' -value 0 -PropertyType 'DWord' -Force | Out-Null
    Write-Host 'TLS 1.0 has been enabled.'
    
    # Add and Enable TLS 1.1 for client and server SCHANNEL communications
    New-Item 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.1Server' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.1Server' -name 'Enabled' -value '0xffffffff' -PropertyType 'DWord' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.1Server' -name 'DisabledByDefault' -value 0 -PropertyType 'DWord' -Force | Out-Null
    New-Item 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.1Client' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.1Client' -name 'Enabled' -value '0xffffffff' -PropertyType 'DWord' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.1Client' -name 'DisabledByDefault' -value 0 -PropertyType 'DWord' -Force | Out-Null
    Write-Host 'TLS 1.1 has been enabled.'
    
    # Add and Enable TLS 1.2 for client and server SCHANNEL communications
    New-Item 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Server' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Server' -name 'Enabled' -value '0xffffffff' -PropertyType 'DWord' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Server' -name 'DisabledByDefault' -value 0 -PropertyType 'DWord' -Force | Out-Null
    New-Item 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Client' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Client' -name 'Enabled' -value '0xffffffff' -PropertyType 'DWord' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Client' -name 'DisabledByDefault' -value 0 -PropertyType 'DWord' -Force | Out-Null
    Write-Host 'TLS 1.2 has been enabled.'
    
    # Re-create the ciphers key.
    New-Item 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphers' -Force | Out-Null
    
    # Disable insecure/weak ciphers.
    $insecureCiphers = @(
      'DES 56/56',
      'NULL',
      'RC2 128/128',
      'RC2 40/128',
      'RC2 56/128',
      'RC4 40/128',
      'RC4 56/128',
      'RC4 64/128',
      'RC4 128/128'
    )
    Foreach ($insecureCipher in $insecureCiphers) {
      $key = (Get-Item HKLM:).OpenSubKey('SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphers', $true).CreateSubKey($insecureCipher)
      $key.SetValue('Enabled', 0, 'DWord')
      $key.close()
      Write-Host "Weak cipher $insecureCipher has been disabled."
    }
    
    # Enable new secure ciphers.
    # - RC4: It is recommended to disable RC4, but you may lock out WinXP/IE8 if you enforce this. This is a requirement for FIPS 140-2.
    # - 3DES: It is recommended to disable these in near future. This is the last cipher supported by Windows XP.
    # - Windows Vista and before 'Triple DES 168' was named 'Triple DES 168/168' per https://support.microsoft.com/en-us/kb/245030
    $secureCiphers = @(
      'AES 128/128',
      'AES 256/256',
      'Triple DES 168'
    )
    Foreach ($secureCipher in $secureCiphers) {
      $key = (Get-Item HKLM:).OpenSubKey('SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphers', $true).CreateSubKey($secureCipher)
      New-ItemProperty -path "HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphers$secureCipher" -name 'Enabled' -value '0xffffffff' -PropertyType 'DWord' -Force | Out-Null
      $key.close()
      Write-Host "Strong cipher $secureCipher has been enabled."
    }
    
    # Set hashes configuration.
    New-Item 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELHashes' -Force | Out-Null
    New-Item 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELHashesMD5' -Force | Out-Null
    New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELHashesMD5' -name Enabled -value 0 -PropertyType 'DWord' -Force | Out-Null
    
    $secureHashes = @(
      'SHA',
      'SHA256',
      'SHA384',
      'SHA512'
    )
    Foreach ($secureHash in $secureHashes) {
      $key = (Get-Item HKLM:).OpenSubKey('SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELHashes', $true).CreateSubKey($secureHash)
      New-ItemProperty -path "HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELHashes$secureHash" -name 'Enabled' -value '0xffffffff' -PropertyType 'DWord' -Force | Out-Null
      $key.close()
      Write-Host "Hash $secureHash has been enabled."
    }
    
    # Set KeyExchangeAlgorithms configuration.
    New-Item 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELKeyExchangeAlgorithms' -Force | Out-Null
    $secureKeyExchangeAlgorithms = @(
      'Diffie-Hellman',
      'ECDH',
      'PKCS'
    )
    Foreach ($secureKeyExchangeAlgorithm in $secureKeyExchangeAlgorithms) {
      $key = (Get-Item HKLM:).OpenSubKey('SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELKeyExchangeAlgorithms', $true).CreateSubKey($secureKeyExchangeAlgorithm)
      New-ItemProperty -path "HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELKeyExchangeAlgorithms$secureKeyExchangeAlgorithm" -name 'Enabled' -value '0xffffffff' -PropertyType 'DWord' -Force | Out-Null
      $key.close()
      Write-Host "KeyExchangeAlgorithm $secureKeyExchangeAlgorithm has been enabled."
    }
    
    # Set cipher suites order as secure as possible (Enables Perfect Forward Secrecy).
    $os = Get-WmiObject -class Win32_OperatingSystem
    if ([System.Version]$os.Version -lt [System.Version]'10.0') {
      Write-Host 'Use cipher suites order for Windows 2008/2008R2/2012/2012R2.'
      $cipherSuitesOrder = @(
        'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P521',
        'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384',
        'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256',
        'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P521',
        'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384',
        'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256',
        'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P521',
        'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384',
        'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256',
        'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P521',
        'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384',
        'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256',
        'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P521',
        'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384',
        'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P521',
        'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P384',
        'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256',
        'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P521',
        'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P384',
        'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P521',
        'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P384',
        'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P256',
        'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P521',
        'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384',
        'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256',
        'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P521',
        'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384',
        'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256',
        'TLS_RSA_WITH_AES_256_GCM_SHA384',
        'TLS_RSA_WITH_AES_128_GCM_SHA256',
        'TLS_RSA_WITH_AES_256_CBC_SHA256',
        'TLS_RSA_WITH_AES_128_CBC_SHA256',
        'TLS_RSA_WITH_AES_256_CBC_SHA',
        'TLS_RSA_WITH_AES_128_CBC_SHA',
        'TLS_RSA_WITH_3DES_EDE_CBC_SHA'
      )
    }
    else {
      Write-Host 'Use cipher suites order for Windows 10/2016 and later.'
      $cipherSuitesOrder = @(
        'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384',
        'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256',
        'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384',
        'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256',
        'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA',
        'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA',
        'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384',
        'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256',
        'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384',
        'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256',
        'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA',
        'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA',
        'TLS_RSA_WITH_AES_256_GCM_SHA384',
        'TLS_RSA_WITH_AES_128_GCM_SHA256',
        'TLS_RSA_WITH_AES_256_CBC_SHA256',
        'TLS_RSA_WITH_AES_128_CBC_SHA256',
        'TLS_RSA_WITH_AES_256_CBC_SHA',
        'TLS_RSA_WITH_AES_128_CBC_SHA',
        'TLS_RSA_WITH_3DES_EDE_CBC_SHA'
      )
    }
    $cipherSuitesAsString = [string]::join(',', $cipherSuitesOrder)
    # One user reported this key does not exists on Windows 2012R2. Cannot repro myself on a brand new Windows 2012R2 core machine. Adding this just to be save.
    New-Item 'HKLM:SOFTWAREPoliciesMicrosoftCryptographyConfigurationSSL0010002' -ErrorAction SilentlyContinue
    New-ItemProperty -path 'HKLM:SOFTWAREPoliciesMicrosoftCryptographyConfigurationSSL0010002' -name 'Functions' -value $cipherSuitesAsString -PropertyType 'String' -Force | Out-Null
    
    Write-Host '--------------------------------------------------------------------------------'
    Write-Host 'NOTE: After the system has been rebooted you can verify your server'
    Write-Host '      configuration at https://www.ssllabs.com/ssltest/'
    Write-Host "--------------------------------------------------------------------------------`n"
    
    Write-Host -ForegroundColor Red 'A computer restart is required to apply settings. Restart computer now?'
    Restart-Computer -Force -Confirm

    Thanks anyway for your time.


    G.Waters

    • Изменено

      18 августа 2017 г. 16:54

    • Помечено в качестве ответа
      George Waters
      18 августа 2017 г. 16:55

Ошибка с кодом 0x80090331 возникает при попытке установить соединение между сервером и клиентом либо же во время передачи информации в рамках одного компьютера между разными программами — к примеру, от одного почтового приложения к другому.

Причина — ОС не обеспечивает достаточную безопасность процесса. Нет универсального способа решения неполадки, а из-за ее комплексности большую роль всегда играют детали сбоя. Как минимум убедитесь, что во время проверки SSL/TLS имеются все необходимые сертификаты.

Возможно, вам также будет интересно:

  • Криптопро tls ошибка 0x80090017 при обращении к csp
  • Криптопро pdf ошибка превышения размера
  • Криптопро csp ошибка при получении контекста модуля криптографии 0x8010006e
  • Криптосервер 3 ошибка при выполнении проверки эп
  • Криптопро csp ошибка обращения к указанному csp

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии