Я получаю эту ошибку в журнале событий Windows моего сервера:
Запрос на подключение TLS 1.0 был получен от удаленного клиентского приложения, но ни один из наборов шифров, поддерживаемых клиентским приложением, не поддерживается сервером. Запрос на соединение SSL не удался.
Когда я пытаюсь подключиться к веб-службе в окне Windows 7 из окна Windows Server 2003.
Как мне добавить набор шифров к одному, который поддерживает другой?
(исправление клиентов идеально, но если серверное решение не работает - у меня есть доступ ко всем задействованным ящикам, мне просто нужно базовое шифрование между ними для конфиденциальности).
Помимо часов поиска в Google и чтения, я попробовал:
Windows 7 использует новый API CNG (Cryptography Next Generation) при выборе шифров. Насколько мне известно, CNG для Windows 2003 недоступен.
Однако вы можете установить эти наборы шифров на основе AES для использования в Windows 2003:
Это первые наборы, которые клиенты Windows Vista и Windows 7 попытаются согласовать для использования с TLS 1.0 и выше, а также поддерживаются клиентами OpenSSL.
Чтобы использовать их, установите KB948963
Решением было снова сгенерировать мой сертификат, на этот раз принудительно используя RSA и SHA1 (хотя SHA1 в любом случае используется по умолчанию). По какой-то причине Win Server 2k3 не мог или не хотел использовать правильные шифры с сертификатом makecert по умолчанию. Вот командная строка, которая у меня сработала:
makecert -pe -r -ss my -sr localMachine -n "CN = domainnameoripaddressgoeshere.com" -e 01/01/2098 -a sha1 -eku 1.3.6.1.5.5.7.3.1 -sky exchange -sp "Microsoft RSA SChannel Криптографический провайдер "-sy 12
Подробнее см. http://mgowen.com/2013/06/19/cipher-suites-issue/ и http://msdn.microsoft.com/en-us/library/bfsktky3(v=vs.110).aspx .