Расширения файлов для криптографических сертификатов на самом деле не так стандартизированы, как можно было бы ожидать. Windows по умолчанию обрабатывает двойной щелчок по .crtфайлу как запрос на импорт сертификата в хранилище корневых сертификатов Windows, но обрабатывает .cerфайл как запрос только на просмотр сертификата. Итак, они разные в том смысле, что Windows имеет различное значение для того, что происходит, когда вы дважды щелкаете каждый тип файла.
Но то, как Windows обрабатывает их, когда вы дважды щелкаете по ним, - это почти единственная разница между ними. Оба расширения просто представляют, что они содержат публичный сертификат. Вы можете переименовать файл сертификата, чтобы использовать одно расширение вместо другого в любой системе или файле конфигурации, который я видел. А на платформах, отличных от Windows (и даже в Windows), люди не особо заботятся о том, какое расширение они используют, и рассматривают их как взаимозаменяемые, поскольку между ними нет разницы, если содержимое файла правильное.
Еще больше сбивает с толку то, что существует два стандартных способа хранения данных сертификата в файле: один - «двоичная» кодировка X.509, а другой - «текстовая» кодировка base64, которая обычно начинается с « -----BEGIN CERTIFICATE-----». Они кодируют одни и те же данные, но по-разному. Большинство систем принимают оба формата, но при необходимости вы можете преобразовать один в другой с помощью openssl или других инструментов. Кодировка в файле сертификата действительно не зависит от того, какое расширение кто-то дал файлу.
CERаCRTрасширения ничего не значат. Разные поставщики PKI используют разные расширения для одного и того же. Если файл двоичный, то, вероятно, он закодирован в ASN.1 / DER. Если файл доступен для чтения человеком-----BEGIN CERTIFICATE-----, то его кодировка PEM. Что у вас есть (DER или PEM) и что вам нужно (DER или PEM)?