Как заранее определить хэш OkHTTP sha1 для закрепления сертификата?

Я хотел бы заранее определить хэши sha1 для закрепления сертификата с помощью okhttp CertificatePinner Builder. Пример кода предлагает попробовать получить доступ к URL-адресу https с неверным хэшем пин-кода, а затем просмотреть исключение, чтобы получить фактический хэш.

В идеале, если я уже обновил подпись своего сертификата и информацию о цепочке, просмотрев опубликованные открытые ключи сертификата и связанную подпись sha1, я мог бы просто взять хэш из общедоступных документов или просмотреть сведения о сертификате в моем браузере.

К сожалению, значение «подпись sha1», отображаемое для сертификата, имеет шестнадцатеричный формат и явно не коррелирует с хешем sha1, показанным в исключении.

Есть ли способ определить, что sha1 должен использовать для закрепления сертификата, не проходя процесс исключения?

Кроме того, не уверены, что «хэш sha1», который будет использоваться для Okhttp, является синонимом сертификата «отпечаток пальца»?


person Dave Cobb    schedule 11.05.2015    source источник
comment
У меня тоже возникла аналогичная проблема. Отображаемое значение имеет шестнадцатеричный формат, и преобразование его в SHA256 с помощью онлайн-инструмента не помогает. Вам удалось ее решить?   -  person Androidme    schedule 04.08.2017


Ответы (1)


Если позволить OkHttp распечатать его для вас слишком просто, вы можете предпочесть использовать аналогичный инструмент, который Мокси Марлинспайк написал.

person Jesse Wilson    schedule 11.05.2015
comment
Есть ли способ заставить okHttp печатать ключ SHA в следующем формате? javax.net.ssl.SSLPeerUnverifiedException: ошибка закрепления сертификата! Цепочка одноранговых сертификатов: sha256/afwiKY3RxoMmLkuRW1l7QsPZTJPwDS2pdDROQjXw8ig=: CN=publicobject.com, OU=PositiveSSL sha256/klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY=: CN=COMODO RSA Secure Server CA Я получаю все это в шестнадцатеричном формате - person Androidme; 04.08.2017