В чем разница между файлами cer, pvk и pfx? - PullRequest
179 голосов
/ 19 февраля 2010

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

Ответы [ 4 ]

124 голосов
/ 19 февраля 2010

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

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

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

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

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

49 голосов
/ 01 мая 2013

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

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

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

19 голосов
/ 25 августа 2017

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

  • Оба PKCS12 и PEM могут хранить целые цепочки сертификатов: открытые ключи, закрытые ключи и корневые (CA) сертификаты .
  • .pfx == .p12 == " PKCS12 "
    • полностью зашифровано
  • .pem == .cer == .cert == " PEM "
    • base-64 (строка) в кодировке X509 cert (двоичный код) с верхним и нижним колонтитулом
      • 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) сертификаты , тогда как * « Identity / Key Stores » содержит личные удостоверения личности; файл-накрест, однако они одинаковы.
19 голосов
/ 19 февраля 2010

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

в итоге:

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

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

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

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

...