Источник: Nuances of Programming разу «закрепление сертификата» я впервые услышал 5 лет назад, когда меня неожиданно пригласили на встречу с клиентами. Там они объясняли свои требования: повысить безопасность мобильного приложения с помощью закрепления сертификата. Тогда я не знал, что это значит, но пообещал выполнить задачу. Так что же такое закрепление (pinning) сертификата? Закрепление сертификата предполагает, что нужно жестко закодировать в приложении общедоступный сертификат сервера и разрешить подключения только с ним. После этого не получится принимать все доверенные сертификаты для соединений HTTPS — они будут рассматриваться как недействительные. Это сокращает возможности для атак на приложение: даже если злоумышленник сможет обмануть центр сертификации и получит сертификат для используемого URL-адреса, он все равно будет отклонен приложением, поскольку не входит в список доверенных. Сертификаты выдаются центрами сертификации (англ. Certificate Authorities, CA) — это кру