Сертификат для нашего хранилища BLOB-объектов Azure истек сегодня. Это сертификат, предоставленный не нами, а Microsoft, как показано на рисунке ниже. Как это исправить? Я пытался найти решение, но ничего не нашел. Наше приложение не может подключиться к хранилищу, поскольку срок действия сертификата истек, и мы получаем сообщение об ошибке: Не удалось установить доверительные отношения для безопасного канала SSL / TLS.
Срок действия сертификата хранилища Windows Azure истек
Ответы (4)
В качестве временной меры я смог войти в лазурный портал и изменить протокольную часть строки подключения с https на http.
DefaultEndpointsProtocol=https;
на DefaultEndpointsProtocol=http;
.
- person dr. foot fist headknocker; 23.02.2013
Еще два возможных решения, если вы можете использовать RDP в своих ролях.
- Измените конфигурацию вручную в каталоге c: \ Config.
- Создайте DLL, исправленную для решения проблемы, и вручную загрузите ее через RDP. Обходной путь может заключаться в жестко запрограммированных строках подключения или в коде для приема сертификатов с истекшим сроком действия. Например:
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
(Советы по использованию AlexNS в MSDN форумы за идею №2 и Джейсону Валлери за код обратного вызова для проверки сертификата)
Как отмечено в комментариях, отключение HTTPS и / или игнорирование ошибок проверки сертификатов может поставить под угрозу безопасность ваших сообщений. Так что хорошенько подумайте, прежде чем делать это, и измените его, как только Microsoft исправит эту проблему.
Мы смогли избежать большей части этого в первую очередь за счет явного использования конечных точек HTTP для хранения (мы не храним там ничего слишком важного).
Если вы находитесь в аналогичной ситуации и можете обойтись с конечными точками HTTP, существует обходной путь, который позволяет вам обновить свои роли навсегда. Он включает развертывание Azure Powershell с локальными пакетами и, похоже, работает, даже если обновления через оба портала продолжают терпеть неудачу.
В качестве примечания - если вы переключитесь на http с https, то механизм передачи больше не будет обеспечивать правильную передачу данных, и вам может потребоваться проверить MD5 большого двоичного объекта.
StorageClient ‹2.0 иногда справляется с этим с помощью загрузки, но при чтении эта статья, а не скачивание.
Для StorageClient 2.0 вам может потребоваться изменить BlobRequestOptions на UseTransactionalMD5 (, как описано здесь)
The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
). - person Tom   schedule 23.02.2013