Tenho notebook Asus X200MA com Windows 8.1 de 64 bits. Eu configurei o shellx64.efi para rodar em inicialização segura. O arquivo é assinado com minha própria chave (criada usando openssl) e funciona bem quando a chave pública no formato .cer é anexada ao banco de dados do certificado. A opção de configuração UEFI também aceita o formato de certificado .crt, mas com esse shellx64.efi simplesmente falha na execução.
Qual é a diferença entre os formatos .crt e .cer quando se trata de certificados de chave pública? Por que a execução segura do boot efi falharia com o certificado .crt e funcionaria perfeitamente com .cer?
A ajuda inline da configuração de inicialização segura UEFI menciona que ele pode aceitar certificados de chave pública como formatos EFI Signature List / CERT X.509 (der codificado) / CERT RSA2048 (bin) ou CERT SHA256 (bin).
Obrigado.
Responder1
Não há diferença – nenhuma das extensões é realmentedefinirampara significar algo específico e, na maioria das vezes, significam a mesma coisa.
Os certificados X.509 possuem apenas um formato de armazenamento "principal", que éDER. No entanto, pode ser codificado em Base64 (também conhecido como codificado em PEM) ou não (DER bruto). Um .crt
arquivo pode realmente serqualquer.
Então primeiro dê uma olhada no conteúdo dos arquivos. Se eles começarem com " -----BEGIN CERTIFICATE
", você terá um arquivo DER codificado em PEM. Se eles contiverem dados binários brutos, provavelmente você terá um arquivo DER bruto.
(Às vezes, vários certificados X.509 são compactados em algum tipo de arquivo PKCS#7, mas quase sempre tem um .p7b
ou .pkcs7
oualgosemelhante à extensão.)