Windows 7, Мегаплан и перевод времени

Только что произошел интересный случай: из-за того, что на моем компьютере было выставлено неправильное время, API Мегаплана не разрешало авторизоваться на их сервере. Подробнее далее.

Так уж получилось, что после Windows 8, Windows 8.1, Windows 10 и Fedora 23 я снова вернулся на Windows 7. Здесь меня все устраивает, все работает с нормальной скоростью и нет необходимости каждый раз думать о настройках того ил иного компонента. Но сейчас разговор не об операционных системах, а о случившейся проблеме.

И так. В одном из проектов используется взаимодействие с CRM-системой Мегаплан через API. Сегодня в России был день перевода часов на летнее время. В нескольких регионах это произошло, в остальных все осталось так же. Однако, Windows 7 по старой памяти решила перевести часы. Чтобы не мучаться с часами в дальнейшем я сразу поставил часовой пояс на GTM+4. Для меня был важен только тот факт, что время показывается нормальное. Часовой пояс не интересовал.

Через несколько часов вышла неприятная особенность. В локальной версии проекта авторизация в API Мегаплана не работает, а на сервере все функционирует отлично. Код одинаковый, вчера все работало, а сегодня - нет.

При авторизации в API Мегаплана, как оказалось, используется дата с часовым поясом. Как раз она, видимо, формировалась неправильно, генерация подписи происходила тоже неверно и авторизация не работала. Решение оказалось простым: нужно выставить московский часовой пояс, убрать галку “автоматический переход на летнее время и обратно” и вручную выставить правильный час. После выполнения этих действий все заработало.