Создать значение sha256 для использования в CertificateTransparencyEnforcementDisabledForLegacyCas

Начиная с Chrome 68 обеспечивается прозрачность сертификатов. Это большая проблема с SSL-расшифровкой нашего корпоративного прокси.

Сертификат прокси добавляется в хранилище сертификатов системы, до Chrome 68 это работало как чудо. Существует политика CertificateTransparencyEnforcementDisabledForLegacyCas, которая дает возможность добавить такой сертификат и отключить принудительное применение для него. К сожалению, я понятия не имею, как генерировать упомянутый хеш:

Хэш subjectPublicKeyInfo указывается путем объединения имени алгоритма хеширования, символа "/" и кодирования Base64 этого алгоритма хеширования, применяемого к DER-кодированному subjectPublicKeyInfo указанного сертификата. Эта кодировка Base64 имеет тот же формат, что и отпечаток SPKI, как определено в RFC 7469, раздел 2.4. Нераспознанные алгоритмы хеширования игнорируются. Единственный поддерживаемый алгоритм хеширования на данный момент это "sha256".

Поиск в Google не помог, и я был бы рад, если бы кто-нибудь, у кого была такая же проблема, мог помочь мне.

Большое спасибо!

Sven

1 ответ

Чтобы получить base64-хэш subjectPublicKeyInfo (SPKI), вы можете использовать openssl со следующим заклинанием командной строки:

openssl x509 -pubkey -noout -in <path to PEM cert> | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64

и создать строку, необходимую для политики:

printf 'sha256/%s\n' `openssl x509 -pubkey -noout -in <path to PEM cert> | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64`

Однако, если сертификат не является публично доверенным, а вместо этого доверенным вручную, он не должен применять политику CT. Если вы считаете, что получаете ошибку, когда вам не следует сообщать об ошибке по адресу http://crbug.com/new

Другие вопросы по тегам