Primeira parte (onde é armazenada?)
Eis uma resposta parcial com base na minha investigação: as informações de HSTS são armazenadas no formato JSON em $PROFILE/TransportSecurity
, em que $PROFILE
é onde quer que o Chrome armazene essas coisas no seu sistema.
(Isso é com a versão do Chromium 34.0.1847.116 (Developer Build 260972) Ubuntu 13.10
.)
Este arquivo aparece para armazenar informações em cache em todos os sites que você visitou usando HTTPS; você pode identificar facilmente aqueles para os quais ativou impressões digitais de chave pública específicas por meio de chrome://net-internals/#hsts
procurando por dynamic_spki_hashes
não vazias.
Infelizmente , as chaves do objeto JSON são totalmente opacas (pelo menos para mim): são cadeias binárias de 32 bytes codificadas em base64. Aqui está um exemplo:
"xxxx 32 byte base64 encoded string xxxx=": {
"dynamic_spki_hashes": [ "sha1/oMSnRgDtpy3AvsuajLYHyljudF4=" ],
"dynamic_spki_hashes_expiry": 1496120402.263232,
"expiry": 1441256424.39423,
"mode": "force-https",
"pkp_include_subdomains": true,
"pkp_observed": 1409720402.26327,
"static_spki_hashes": [ ],
"sts_include_subdomains": true,
"sts_observed": 1409720424.39423
},
Não sei como salvar esses arquivos do TransportSecurity para copiá-los para outro computador ou outro perfil. Eu tentei copiar todo o arquivo TransportSecurity para um novo diretório de perfil; no entanto , ao iniciar o Chrome com esse perfil, não parece reconhecer as informações de HSTS no arquivo TransportSecurity.
Talvez alguém com maior compreensão dos internos do Chrome possa nos ajudar a entender como visualizar e transferir essas informações.
Segunda parte (certificados inválidos)
Acho que a intenção da HSTS é tornar impossível, mas impossível, sobrepor o aviso do navegador e visitar um site com um certificado inválido.
Dito isso, se você tiver algum motivo específico realmente bom para aceitar um certificado do qual o Chrome não gosta, espero que você possa substituí-lo adicionando a impressão digital da chave pública desse certificado usando chrome://net-internals/#hsts
.