В чем разница между файлами cer, pvk и pfx?

В чем разница между файлами cer, pvk и pfx? Кроме того, какие файлы я храню и которые я должен передать своим контрагентам?

4 ответа

Решение

Windows использует расширение.cer для сертификата X.509. Они могут быть в "двоичном" (ASN.1 DER) или кодироваться с помощью Base-64 и иметь заголовок и нижний колонтитул (PEM); Windows распознает либо. Чтобы проверить целостность сертификата, вы должны проверить его подпись, используя открытый ключ эмитента... который, в свою очередь, является другим сертификатом.

Windows использует файл.pfx для файла PKCS #12. Этот файл может содержать различную криптографическую информацию, включая сертификаты, цепочки сертификатов, сертификаты корневого центра и закрытые ключи. Его содержимое может быть криптографически защищено (с помощью паролей), чтобы сохранить закрытые ключи закрытыми и сохранить целостность корневых сертификатов.

Windows использует.pvk для файла закрытого ключа. Я не уверен, какой стандарт (если таковой имеется) Windows следует для них. Надеемся, что это ключи PKCS #8. Emmanuel Bourg сообщает, что это проприетарный формат. Некоторая документация доступна.

Вы никогда не должны раскрывать свой закрытый ключ. Они содержатся в файлах.pfx и.pvk.

Как правило, вы только обмениваете свой сертификат (.cer) и сертификаты любых промежуточных эмитентов (т. Е. Сертификаты всех ваших CA, кроме корневого CA) с другими сторонами.

Вот мои личные, сверхконденсированные заметки, поскольку эта тема относится ко мне в настоящее время, для всех, кто интересуется:

  • Как PKCS12, так и PEM могут хранить целые цепочки сертификатов: открытые ключи, закрытые ключи и корневые (CA) сертификаты.
  • .pfx == .p12 == " PKCS12 "
    • полностью зашифрован
  • .pem == .cer == .cert == " PEM "
    • сертификат X509 (двоичный) в кодировке base-64 (строка) с верхним и нижним колонтитулом
      • base-64 - это просто строка "A-Za-z0-9+/", используемая для представления 0-63, 6 бит двоичных данных за раз, в последовательности, иногда с 1 или 2 символами "=" в самом конец, когда есть остатки (символы "=", являющиеся "заполнителем / мусором / игнорировать / выбрасывать")
      • верхний и нижний колонтитулы - что-то вроде "-----BEGIN CERTIFICATE-----" и "-----END CERTIFICATE-----" или "-----BEGIN ENCRYPTED PRIVATE KEY---- "и" ----- КОНЕЦ ЗАКРЫТЫМ ЧАСТНЫМ КЛЮЧОМ ----- "
    • Windows распознает.cer и.cert как файлы сертификации
  • .jks == " Хранилище ключей Java "
    • только специфичный для Java формат файла, который использует API
      • Файлы.p12 и.pfx также можно использовать с JKS API
  • " Хранилища доверия " содержат публичные, доверенные, корневые (CA) сертификаты, тогда как " Хранилища идентификаторов / ключей " содержат частные сертификаты идентификации; по файлам, однако, они одинаковы.

На платформе Windows эти типы файлов используются для информации о сертификатах. Обычно используется для сертификата SSL и инфраструктуры открытых ключей (X.509).

  • Файлы CER: файл CER используется для хранения сертификата X.509. Обычно используется для сертификации SSL для проверки и идентификации безопасности веб-серверов. Файл содержит информацию о владельце сертификата и открытый ключ. Файл CER может быть в двоичном формате (ASN.1 DER) или кодироваться с помощью Base-64 с включенным заголовком и нижним колонтитулом (PEM), Windows распознает любой из этих макетов.
  • Файлы PVK: обозначает закрытый ключ. Windows использует файлы PVK для хранения закрытых ключей для подписи кода в различных продуктах Microsoft. PVK является закрытым форматом.
  • Файлы PFX Personal Exchange Format, это файл PKCS12. Он содержит различную криптографическую информацию, такую ​​как сертификаты, сертификаты корневого центра, цепочки сертификатов и закрытые ключи. Он криптографически защищен паролями, чтобы сохранить закрытые ключи закрытыми и сохранить целостность корневых сертификатов. Файл PFX также используется в различных продуктах Microsoft, таких как IIS.

для получения дополнительной информации посетите: Файлы сертификатов: .Cer x .Pvk x .Pfx

Я на самом деле сталкивался с чем-то подобным не так давно... проверьте это на MSDN (см. Первый ответ)

В итоге:

.cer - сертификат хранится в стандартном формате X.509. Этот сертификат содержит информацию о владельце сертификата, а также открытый и закрытый ключи.

.pvk - файлы используются для хранения приватных ключей для подписи кода. Вы также можете создать сертификат на основе файла закрытого ключа.pvk.

.pfx - обозначает формат личного обмена. Он используется для обмена открытыми и закрытыми объектами в одном файле. Файл pfx может быть создан из файла.cer. Может также использоваться для создания сертификата издателя программного обеспечения.

Я суммировал информацию со страницы на основе предложения из комментариев.

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