Beziehung zwischen den digitalen Zertifikatsdateien .p7b und .spc

3996
Frederick

Mein Unternehmen hat gerade sein digitales Zertifikat von Thawte erneuert. Das vorherige Zertifikat, das ich verwendete, hatte eine Erweiterung "spc". Das neue Zertifikat, das mir übergeben wurde, endet mit einem 'p7b'.

Obwohl ich diese p7b-Datei direkt zum Signieren verwenden kann, habe ich mich nur gefragt, ob es eine Möglichkeit gibt, diese in eine spc-Datei zu konvertieren, mit der ich dann wie früher unterschreiben kann.

Ist es eine empfohlene Praxis, p7b direkt zum Signieren zu verwenden? Zweitens: Wie genau ist die Beziehung zwischen den beiden Dateitypen, wenn überhaupt?

2

1 Antwort auf die Frage

4
Spiff

Dies sind nur zwei verschiedene Dateinamenserweiterungen für PKCS # 7- Dateien. Sie können es einfach von .p7b in .spc umbenennen.

Leider glaube ich nicht, dass die PKCS-Spezifikationen die Dateinamenserweiterungen, MIME-Typen oder "magischen Zahlen" (die ersten 4 Bytes) ihrer Dateitypen angegeben haben (und um ehrlich zu sein, ihre Dateitypen sind meist textbasiert, also magische Zahlen) nicht zutreffend), haben unterschiedliche Implementierer unterschiedliche Dateinamenserweiterungen für dieselben PKCS-bezogenen Dateitypen verwendet.

[Edit: Ich hatte mir hier früher ein Spickzettel über den Kopf geschrieben, aber später wurde mir klar, dass ich einen Fehler gemacht hatte. Hier ist ein besserer Spickzettel aus dem X.509-Artikel auf Wikipedia:]


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

Dateinamenerweiterungen für Zertifikate

Übliche Dateinamenerweiterungen für X.509-Zertifikate sind:

  • .pem - (Privacy Enhanced Mail) Base64-codiertes DER-Zertifikat, eingeschlossen zwischen "----- BEGIN CERTIFICATE -----" und "----- END CERTIFICATE -----"
  • .cer, .crt, .der - normalerweise in binärer DER-Form, aber auch Base64-kodierte Zertifikate sind üblich (siehe oben .pem)
  • .p7b, .p7c - PKCS # 7 SignedData-Struktur ohne Daten, nur Zertifikat (e) oder CRL (s)
  • .p12 - PKCS # 12 kann Zertifikate (öffentlich) und private Schlüssel (passwortgeschützt) enthalten
  • .pfx - PFX, Vorgänger von PKCS # 12 (enthält normalerweise Daten im PKCS # 12-Format, z. B. mit in IIS generierten PFX-Dateien)

PKCS # 7 ist ein Standard zum Signieren oder Verschlüsseln von Daten (offiziell als "Enveloping" bezeichnet). Da das Zertifikat zur Verifizierung signierter Daten benötigt wird, können diese in die SignedData-Struktur aufgenommen werden. Eine .P7C-Datei ist eine entartete SignedData-Struktur ohne zu signierende Daten.

PKCS # 12 ist aus dem PFX-Standard (Personal inFormation eXchange) hervorgegangen und wird zum Austausch öffentlicher und privater Objekte in einer einzigen Datei verwendet.


Ich habe auch einen Link von einem relevanten Serverfehler-Artikel zu einem nützlichen Microsoft-Support-Knowledge-Base-Artikel gesehen, der bestätigt, dass Sie eine .p7b einfach in .spc umbenennen können.

Bedeutet dies aus Sicht des Endbenutzers, dass eine p7b-Datei einer spc-Datei entspricht? Ist es also gut, ein p7b zum Signieren zu verwenden, so wie man es mit einem spc tun würde? Frederick vor 14 Jahren 0
Nun, Sie unterschreiben nicht mit einem Zertifikat, da ein Zertifikat nur Ihren öffentlichen Schlüssel enthält. Sie unterschreiben mit einem privaten Schlüssel. Ich glaube nicht, dass Ihre .spc-Datei jemals einen privaten Schlüssel enthielt. Ich denke, die Software, die Sie verwendet haben, hat möglicherweise den öffentlichen Schlüssel im Zertifikat in der .spc und dann den privaten Schlüssel an anderer Stelle nachgeschlagen, beispielsweise in Ihrem Mac OS X-Schlüsselbund oder in Ihrem Windows-Zertifikatspeicher. Aber ja, soweit ich das beurteilen kann, sind .p7b und .spc dasselbe, also könnten Sie Ihre neue Datei sogar einfach in .spc umbenennen, wenn Sie wollten, und Sie sollten in der Lage sein, sie auf dieselbe Weise wie immer zu verwenden . Spiff vor 14 Jahren 1