Relacja między plikami certyfikatów cyfrowych .p7b i .spc

2

Moja firma właśnie odnowiła swój certyfikat cyfrowy od Thawte. Poprzedni certyfikat, którego używałem, miał rozszerzenie „spc”. Nowy certyfikat, który mi wręczono, kończy się na „p7b”.

Chociaż mogę używać tego pliku p7b bezpośrednio do podpisywania, zastanawiałem się tylko, czy jest jakiś sposób przekonwertować go na plik SPC, który mogę następnie podpisać, tak jak poprzednio.

Czy zaleca się stosowanie p7b bezpośrednio do podpisywania? Po drugie, jaka dokładnie jest relacja, jeśli w ogóle, między tymi dwoma typami plików?

Frederick
źródło

Odpowiedzi:

4

To tylko dwa różne rozszerzenia plików dla plików PKCS # 7 . Możesz po prostu zmienić nazwę z .p7b na .spc.

Niestety nie wierzę, że specyfikacje PKCS określały kiedykolwiek rozszerzenia plików, typy MIME lub „magiczne liczby” (pierwsze 4 bajty) ich typów plików (i szczerze mówiąc, ich typy plików są w większości oparte na tekście, więc magiczne liczby tak naprawdę nie mają zastosowania), więc różni implementatorzy używali różnych rozszerzeń plików dla tych samych typów plików związanych z PKCS.

[Edycja: Wcześniej napisałem tutaj ściągawki na czubku głowy, ale później zdałem sobie sprawę, że popełniłem błąd. Oto lepszy ściągawka z artykułu X.509 na Wikipedii:]


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

Rozszerzenia nazw plików certyfikatów

Typowe rozszerzenia plików dla certyfikatów X.509 to:

  • .pem - (Mail Enhanced Mail) Certyfikat DER zakodowany w standardzie Base64, zawarty między „----- ROZPOCZNIJ CERTYFIKAT -----” i „----- ZAKOŃCZ CERTYFIKAT -----”
  • .cer, .crt, .der - zwykle w formie binarnej DER, ale certyfikaty zakodowane w Base64 są również powszechne (patrz .pem powyżej)
  • .p7b, .p7c - PKCS # 7 SignedData struktura bez danych, tylko certyfikaty lub listy CRL
  • .p12 - PKCS # 12, może zawierać certyfikaty (klucze publiczne) i klucze prywatne (chronione hasłem)
  • .pfx - PFX, poprzednik PKCS # 12 (zwykle zawiera dane w formacie PKCS # 12, np. z plikami PFX generowanymi w IIS)

PKCS # 7 to standard podpisywania lub szyfrowania (oficjalnie nazywany „kopertowaniem”) danych. Ponieważ certyfikat jest potrzebny do weryfikacji podpisanych danych, możliwe jest włączenie ich do struktury SignedData. Plik .P7C jest zdegenerowaną strukturą SignedData, bez żadnych danych do podpisania.

PKCS # 12 ewoluował ze standardu PFX (Personal inFormation eXchange) i służy do wymiany publicznych i prywatnych obiektów w jednym pliku.


Widziałem również link z odpowiedniego artykułu o awarii serwera do przydatnego artykułu bazy wiedzy Microsoft Support, który potwierdza, że ​​możesz po prostu zmienić nazwę pliku .p7b na .spc.

Spiff
źródło
Czy to oznacza, że ​​z perspektywy użytkownika końcowego plik p7b jest równoważny plikowi spc? To znaczy, czy dobrze jest używać p7b do podpisywania, tak jak ktoś używałby SPC?
Frederick
1
Cóż, nie podpisujesz się przy użyciu certyfikatu, ponieważ certyfikat zawiera tylko twój klucz publiczny. Podpisujesz za pomocą klucza prywatnego. Nie sądzę, żeby twój plik .spc zawierał kiedykolwiek klucz prywatny. Wydaje mi się, że używane oprogramowanie mogło sprawdzić klucz publiczny w certyfikacie w pliku .spc, a następnie wyszukać klucz prywatny w innym miejscu, na przykład w pęku kluczy systemu Mac OS X lub w magazynie certyfikatów systemu Windows. Ale tak, o ile mi wiadomo, .p7b i .spc są tym samym, więc możesz nawet zmienić nazwę swojego nowego pliku na .spc, jeśli chcesz, i powinieneś być w stanie używać go w taki sam sposób, jak zawsze .
Spiff