Please enable JavaScript to view this site.

Administrationshandbuch

Navigation: Tech Doc > RabbitMQ - Kommunikation per SSL

Generierung notwendiger PEM-Dateien

Scroll Zurück Oben Weiter Mehr

Bitte beachten Sie: Das nachfolgende PHP-Skript setzt eine ordnungsgemäße Installation von OpenSSL und einer gültigen openssl.cnf-Datei voraus.

Passen Sie die roten Markierungen aus dem Beispiel Ihren Bedürfnissen an.

Beispiel:

$certificateData = [

    "countryName" => "DE",

    "stateOrProvinceName" => "Deutschland",

    "localityName" => "Musterort",

    "organizationName" => "Musterfirma AG",

    "organizationalUnitName" => "Musterabteilung",

    "commonName" => "musterfirma.com",

    "emailAddress" => "max.mustermann@musterfirma.com",

];

 

// generiert einen neuen Private Key

$privateKey = openssl_pkey_new();

 

// generiert eine Zertifikatssignierungsanfrage

$csr = openssl_csr_new($certificateData, $privateKey);

 

// signiert eine Zertifikatssignierungsanfrage mit dem Private Key und generiert ein signiertes Zertifikat mit einer Gültigkeit von 365 Tagen

$certificateLifetimeInDays = 365;

$certificate = openssl_csr_sign($csr, null, $privateKey, $certificateLifetimeInDays);

 

// stellt das signierte Zertifikat im PEM-Format bereit

$pem = [];

openssl_x509_export($certificate, $pem[0]);

openssl_pkey_export($privateKey, $pem[1]);

$pem = implode($pem);

 

// Speicherung der PEM-Datei an einem sicheren Ort

$pemfile = 'C:\certs\rabbitmq\cacert.pem'; 

file_put_contents($pemfile, $pem);

Sobald Sie die das PHP-Skript ausführen, erhalten Sie eine Datei namens cacert.pem.

Der Inhalt dieser Datei hat folgenden Aufbau:

-----BEGIN CERTIFICATE-----

MIIEKjCCAxKgAwIw0BAQUFADCBrT0RldXRzY2hsYW5kELMAkGA1UEBhMCTEVREUx

FDASBgNVBAgMCMREwBAgIBADANBgkqhkiG9DwYDVQQHDAhNYW5uaGVpbMBMGA1UE

...

koP4O5d4J+Y39FUJ+TB+Uf87m7UlF+Yhuhi0hiMSEE5oSSdLzY5k7wfNc1PTB+mT

Y6lpkF9gqPxA3b+k6ELO1yKzUXvvzO88RCtiOqsR3yoKgsHlhAzeSJ7iNjELg12B

-----END CERTIFICATE-----

-----BEGIN ENCRYPTED PRIVATE KEY-----

MIIFHDBOBgkqhkiY6lpkF9gqPxA3b+G9w0BBQ0wQTApBI6mZsZfUkqBBQwwCAggA

XkflXrizLShOkCdiBaS4Q49eu9Mo2+7lEuKUcq5RL2HO1vxmhNDX1uSgt2/wOj7N

...

TzclsOT6xqgX3A46Pn8K2+PjhgkqhkiG9w0wHAQi9Al3+Yvjp81/i/INm+9mYe9w

m9G/p0NdZeFoq7/vk/Tl9BxhMd5X8i11ymKPGD8rjSj0tT3qgs4MnijlYvNwZNCu

-----END ENCRYPTED PRIVATE KEY-----

 
Aufsplittung der PEM-Datei (key.pem, cert.pem, cacert.pem)

Bitte beachten Sie: Damit die SSL-Verbindung hergestellt werden kann, ist es zwingend erforderlich, dass Sie sich an die Dateibenennungen der PEM-Dateien aus dieser Dokumentation halten.

Um eine SSL-Verbindung für RabbitMQ einzurichten, benötigen wir unterschiedliche PEM-Dateien: key.pem, cert.pem und cacert.pem. Den Inhalt dieser 3 Dateien müssen wir im Nachgang anpassen.

Bitte beachten Sie: Die nachfolgenden PEM-Dateien sollten an einem sicheren Ort aufbewahrt werden.

Beispiel für key.pem: Kopieren Sie die soeben erzeugte Datei cacert.pem und benennen die neue Datei um zu key.pem. Im Anschluss öffnen Sie die neue Datei und entfernen daraus alles, bis auf den Private Key. Die Datei sollte danach wie folgt aufgebaut sein:

-----BEGIN ENCRYPTED PRIVATE KEY-----

MIIFHDBOBgkqhkiY6lpkF9gqPxA3b+G9w0BBQ0wQTApBI6mZsZfUkqBBQwwCAggA

XkflXrizLShOkCdiBaS4Q49eu9Mo2+7lEuKUcq5RL2HO1vxmhNDX1uSgt2/wOj7N

...

TzclsOT6xqgX3A46Pn8K2+PjhgkqhkiG9w0wHAQi9Al3+Yvjp81/i/INm+9mYe9w

m9G/p0NdZeFoq7/vk/Tl9BxhMd5X8i11ymKPGD8rjSj0tT3qgs4MnijlYvNwZNCu

-----END ENCRYPTED PRIVATE KEY-----

 

Beispiel für cert.pem: Kopieren Sie die soeben erzeugte Datei cacert.pem und benennen die neue Datei um zu cert.pem. Im Anschluss öffnen Sie die neue Datei und entfernen daraus den Private Key. Die Datei sollte danach wie folgt aufgebaut sein:

-----BEGIN CERTIFICATE-----

MIIEKjCCAxKgAwIw0BAQUFADCBrT0RldXRzY2hsYW5kELMAkGA1UEBhMCTEVREUx

FDASBgNVBAgMCMREwBAgIBADANBgkqhkiG9DwYDVQQHDAhNYW5uaGVpbMBMGA1UE

...

koP4O5d4J+Y39FUJ+TB+Uf87m7UlF+Yhuhi0hiMSEE5oSSdLzY5k7wfNc1PTB+mT

Y6lpkF9gqPxA3b+k6ELO1yKzUXvvzO88RCtiOqsR3yoKgsHlhAzeSJ7iNjELg12B

-----END CERTIFICATE-----

 

Beispiel für cacert.pem: Öffnen Sie die die Datei cacert.pem und entfernen daraus den Private Key. Die Datei sollte danach wie folgt aufgebaut sein:

-----BEGIN CERTIFICATE-----

MIIEKjCCAxKgAwIw0BAQUFADCBrT0RldXRzY2hsYW5kELMAkGA1UEBhMCTEVREUx

FDASBgNVBAgMCMREwBAgIBADANBgkqhkiG9DwYDVQQHDAhNYW5uaGVpbMBMGA1UE

...

koP4O5d4J+Y39FUJ+TB+Uf87m7UlF+Yhuhi0hiMSEE5oSSdLzY5k7wfNc1PTB+mT

Y6lpkF9gqPxA3b+k6ELO1yKzUXvvzO88RCtiOqsR3yoKgsHlhAzeSJ7iNjELg12B

-----END CERTIFICATE-----