2012-04-12 17 views
2

Was ist der Unterschied zwischen ssl certfile und ssl cacertfile?ssl cacertfile generation

Ich lese, dass der erste ist Benutzerzertifikat, während der zweite ist ein vertrauenswürdiges Zertifikat für die Überprüfung eines Peer-Zertifikat und kann weggelassen werden, wenn ich den Peer nicht verifizieren.

Da ich das erste mit

openssl x509 -req -days 30 -in request.pem -signkey key.pem -out certificate.pem 

erzeugen Wie kann ich die zweite generieren?

Antwort

4

Sowohl das "normale" Zertifikat als auch das CA-Zertifikat sind Zertifikate - es gibt geringfügige Unterschiede, aber von Ihrem Standpunkt unterscheidet sich nichts von Natur aus.

Zuerst - was ist ein Zertifikat? Ein Zertifikat ist ein signiertes Dokument. Es ist wie ein Umschlag. Wenn Sie eine Post von Ihrer Post bekommen, die nicht geöffnet ist, vertrauen Sie darauf, dass der Absender, der auf den Umschlag geschrieben wurde, derjenige ist, der alles hineinlegt - es ist versiegelt. Nehmen wir an, jemand schickt dir eine Nummer 15728 in den Umschlag und sagt "OK, das ist meine Nummer. Immer wenn dir jemand etwas gibt und diese Nummer präsentiert, wisse, dass ich es bin".

Dies ist eine Vereinfachung dessen, was Signieren ist - z. Im Fall X.509 signierst du etwas wie "Mein Name ist ABC und meine Organisation heißt DEF und es basiert auf dem Land GHI", indem du es effektiv verschlüsselst und ihm eine "Nummer" gibst, die wahrscheinlich von niemandem generiert werden kann in der Welt. Es ist schwierig, das gleiche Dokument zu erhalten, es sei denn, Sie haben einen privaten Schlüssel, also kann dieses Zertifikat, wenn es präsentiert wird, verwendet werden, um festzustellen, ob jemand anderes diesen privaten Schlüssel hat. Ähnlich wie die Nummer, die dein Freund dir geschickt hat - jeder kann dir 15728 schicken, aber es ist unwahrscheinlich, dass sie diese Zahl aus allen anderen Möglichkeiten erraten werden.

Ich werde versuchen, zu erklären, was mit CA/End-Pint-Zertifikaten vor sich geht. Erstens ist die Grundvoraussetzung Vertrauen. Angenommen, Sie haben viele Leute (ich markiere sie mit Buchstaben A, B, C, ...). Sagen Sie sie kennen und vertrauen einander wie folgt aus:

  • A < -> B
  • B < -> C
  • D < -> E

sagen Lassen Person A zu kaufen braucht einen Wagen. Sagen Sie, dass sowohl Person C als auch E ein Auto haben. Normalerweise ist es wahrscheinlicher, dass B A sagt: "Hey, mein Freund C hat ein Auto, nach dem du gerade suchst" und A wird das Auto kaufen, das auf Vertrauen basiert (das ist ein gutes Auto). Es ist weniger wahrscheinlich, dass es in dieser Situation ein Auto von E kaufen wird, da E nicht vertrauenswürdig ist. Allerdings könnte D mehr darauf brennen, ein Auto von E zu kaufen, da sie einander kennen und vertrauen.

CAs sind wie B im obigen Beispiel. CA ist im Grunde eine vertrauenswürdige Autorität, der viele Menschen auf der Erde blind vertrauen. Sie investieren ihren Ruf in das Geschäft, um dieses Vertrauen zu verdienen. Sie vertrauen grundsätzlich verschiedenen CA-Anbietern, dass sie Personen und Organisationen verifizieren und erst nach diesen Überprüfungen ein Zertifikat ausstellen.

CAs haben das sogenannte "Root-Zertifikat" oder "Zwischenzertifikat". Root-Zertifikate werden z.B. in Ihrem Betriebssystem oder Browser Zertifikat speichert und inhärent vertrauenswürdig sind. Andere Zertifikate auf der Straße werden durch die Verkettung vertraut. Das heißt, wenn CA A ein Zertifikat an CA B ausgestellt hat, dann hat CA B dieses "Zwischenzertifikat", mit dem es mehr (Zwischen- oder Endpunkt-) Zertifikate signieren kann.Beispielsweise kann es so sein:

  • CA A hat ein Stammzertifikat R
  • CA A ein Zwischenzertifikat X CA B
  • CA B gibt ein Zwischenzertifikat Y CA C ausgibt
  • CA C stellt ein Zertifikat Z Sie

Jetzt können Sie, mit den Mitteln des Verkettungs, im Grunde dieses in der Welt jemand sagen, dass CA A vertraut (dh es ist Stammzertifikat R):

  • OK, ich habe dieses Zertifikat Z. Dies zeigt, dass CA C mir vertraut.
  • Im Gegenzug hat CA C das Zertifikat Y, das zeigt, dass CA B dem vertraut.
  • CA B wiederum hat Zertifikat X, das zeigt, dass CA A vertraut es
  • Sie vertrauen CA A, also gibt es keinen Grund, mich nicht

Sie mehr dazu lesen Sie hier kann zu vertrauen:

Hier ist, wie Sie sie openssl mit erstellen: