У меня ноутбук Asus X200MA с Windows 8.1 64bit. Я установил shellx64.efi для запуска под безопасной загрузкой. Файл подписан моим собственным ключом (созданным с использованием openssl) и работает нормально, когда открытый ключ формата .cer добавлен в базу данных сертификата. Опция установки UEFI также принимает формат сертификата .crt, но при этом shellx64.efi просто не запускается.

В чем разница между форматами .crt и .cer, когда речь идет о сертификатах открытых ключей? Почему безопасное выполнение boot efi завершится неудачно с сертификатом .crt и будет нормально работать с .cer?

Во встроенной справке по настройке безопасной загрузки UEFI упоминается, что она может принимать сертификаты открытых ключей в виде списков подписей EFI / CERT X.509 (кодированный der) / CERT RSA2048 (bin) или CERT SHA256 (bin).

Благодарю.

1 ответ1

2

Там нет никакой разницы - ни расширение на самом деле определяется означать что - то конкретное, и большую часть времени они означают то же самое.

Сертификаты X.509 имеют только один "основной" формат хранения - DER. Однако он может быть в кодировке Base64 (он же PEM-кодированный) или нет (необработанный DER). Файл .crt действительно может быть любым.

Итак, сначала взгляните на содержимое файлов. Если они начинаются с « -----BEGIN CERTIFICATE », у вас есть файл DER в кодировке PEM. Если они содержат необработанные двоичные данные, скорее всего, у вас есть необработанный файл DER.

(Иногда несколько сертификатов X.509 упаковываются в какой-то файл PKCS # 7, однако он почти всегда имеет .p7b или .pkcs7 или что-то похожее на расширение.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .