Что такое certificate pinning?

Middle+
146 просмотров
AFK Offer AI

Certificate pinning — клиент проверяет не только цепочку до CA, но и конкретный сертификат/ключ сервера. Хардкодишь hash публичного ключа в клиенте. Если CA скомпрометирован и выдал фальшивый сертификат для твоего домена — pinning его отклонит. Используется в мобильных приложениях и критичных сервисах. Минус: при ротации сертификата нужно обновить клиент. Поэтому пинят обычно промежуточный CA, а не leaf сертификат. В Go: tls.Config{VerifyPeerCertificate: func(...)} — кастомная проверка hash. Браузеры отказались от public key pinning (HPKP) — слишком рискованно.

Следующий вопрос

Какие HTTP фреймворки для Go знаешь?