Связь между файлами цифровых сертификатов .p7b и .spc

3939
Frederick

Моя компания только что обновила свой цифровой сертификат от Thawte. Предыдущий сертификат, который я использовал, имел расширение 'spc'. Новый сертификат, который мне передали, заканчивается на «p7b».

Хотя я могу использовать этот файл p7b напрямую для подписи, мне просто было интересно, есть ли какой-нибудь способ преобразовать его в spc-файл, который я могу затем подписать, как делал это ранее.

Рекомендуется ли использовать p7b напрямую для подписи? Во-вторых, какова связь между двумя типами файлов, если таковые имеются?

2

1 ответ на вопрос

4
Spiff

Это всего лишь два разных расширения имени файла для файлов PKCS # 7 . Вы можете просто переименовать его из .p7b в .spc.

К сожалению, я не верю, что спецификации PKCS когда-либо указывали расширения имени файла, типы MIME или «магические числа» (первые 4 байта) их типов файлов (и, честно говоря, их типы файлов в основном основаны на тексте, поэтому магические числа на самом деле не применяется), поэтому разные разработчики использовали разные расширения файлов для одних и тех же типов файлов, связанных с PKCS.

[Редактировать: я ранее написал шпаргалку на макушке, но потом понял, что допустил ошибку. Вот лучшая шпаргалка из статьи X.509 в Википедии:]


http://en.wikipedia.org/wiki/X.509#Certificate_filename_extensions

Расширения файлов сертификатов

Распространенные расширения имени файла для сертификатов X.509:

  • .pem - (Privacy Enhanced Mail) сертификат DER в кодировке Base64, заключенный между "----- BEGIN CERTIFICATE -----" и "----- END CERTIFICATE -----"
  • .cer, .crt, .der - обычно в двоичной форме DER, но также распространены сертификаты в кодировке Base64 (см. выше .pem)
  • .p7b, .p7c - структура SignedData PKCS # 7 без данных, только сертификат (ы) или CRL (и)
  • .p12 - PKCS # 12, может содержать сертификат (ы) (открытый) и закрытые ключи (защищенный паролем)
  • .pfx - PFX, предшественник PKCS # 12 (обычно содержит данные в формате PKCS # 12, например, с файлами PFX, созданными в IIS)

PKCS # 7 - это стандарт для подписи или шифрования (официально называемых «конвертирующими») данных. Поскольку сертификат необходим для проверки подписанных данных, их можно включить в структуру SignedData. Файл .P7C представляет собой вырожденную структуру SignedData без каких-либо данных для подписи.

PKCS # 12 эволюционировал из стандарта PFX (Personal inFormation eXchange) и используется для обмена открытыми и закрытыми объектами в одном файле.


Я также видел ссылку из соответствующей статьи о сбое сервера на полезную статью базы знаний службы поддержки Microsoft, которая подтверждает, что вы можете просто переименовать файл .p7b в .spc.

Так значит ли это с точки зрения конечного пользователя, что файл p7b эквивалентен файлу spc? То есть, хорошо ли использовать p7b для подписи, как если бы вы использовали spc? Frederick 14 лет назад 0
Ну, вы не подписываетесь с сертификатом, потому что сертификат содержит только ваш открытый ключ. Вы подписываетесь с закрытым ключом. Я не думаю, что ваш файл .spc когда-либо содержал закрытый ключ. Я думаю, что используемое вами программное обеспечение, возможно, просматривало открытый ключ в сертификате в .spc, а затем искало ваш закрытый ключ где-то еще, например, в цепочке для ключей Mac OS X или в хранилище сертификатов Windows. Но да, насколько я могу судить, .p7b и .spc - это одно и то же, так что вы можете даже просто переименовать новый файл в .spc, если хотите, и вы сможете использовать его так же, как всегда , Spiff 14 лет назад 1

Похожие вопросы