2010-12-03 5 views
3

Ich habe eine MQ-Anwendung, für die ich SSL-Verbindungen verwenden muss. Mir wurde ein Keystore zur Verwendung und ein Passwort zur Verwendung gegeben, aber was ich unsicher bin, ist, wohin ich gehen muss, um den Wert des Keystore-Passworts festzulegen?Websphere MQ in C#: Wo im Code zum Festlegen des SSL-Keystore-Kennworts?

Es gibt ein paar Stellen in den MQ-DLLs, die ich eine Kennworteinstellung sehen kann, aber ich möchte es nicht an der falschen Stelle setzen. Alle anderen SSL-Sachen waren unter der MQENVIRONMENT und dort ist ein Passwort, aber ich kann nichts finden, was dies als den richtigen Ort bestätigt.

Welchen Wert muss ich für das Passwort meines SSL Keystores festlegen?

(Anmerkung: Ich schreibe dies in C# MQ Version 7)

Antwort

8

Die .NET-Klassen verwenden keine Java-Schlüsselspeicher, sondern verwenden sie die WMQ KDB-Format Schlüsselspeicher. Dieses Dateiformat enthält eine "Stash-Datei", die ein verschleiertes Passwort enthält. Zeigen Sie Ihr Programm auf die kdb in den Umgebungsvariablen, wie in der Dokumentation on this page beschrieben. Das kdb besteht eigentlich aus mehreren Dateien mit demselben Präfix und unterschiedlichen Suffixen. Im Beispiel sehen Sie, dass die Variable den Pfad und das Präfix kdb, aber kein Suffix enthält.

Ich vermute die nächste Frage ist "Wie bekomme ich meine Jks in dieses kdb-Format?" Dazu müssen Sie GSKit installiert haben. Es ist sowohl mit WMQ Client als auch WMQ Server gebündelt, unterscheidet sich jedoch je nach installierter Version geringfügig. Schauen Sie unter C:\Program Files\IBM\gsk7 für Anfänger. Es gibt mehrere verschiedene Benutzeroberflächen, aber die gewünschte Benutzeroberfläche ist die kompilierte gsk7cmd.

C:\Program Files\IBM\gsk7\bin>gsk7cmd.exe -keydb -convert 

A required value for the command was not specified: 
-db         Required 

-Correct command usage- 
-db         Required 
-pw         Optional 
-target        Optional 
-new_pw        Optional 
-old_format or -type    Optional 
-new_format       Required <cms | jceks | jks | kdb | p12 | pkcs12> 
-expire        Optional <0 - 7300> 
-stash        Optional` 

Wenn von JKS zu KDB Umwandlung, sollten Sie die -stash Option geben, damit das Programm das Passwort finden.

+0

Ich wurde mit 4 Schlüsseldateien geliefert (a crt, kdb, rdb und etw). Mir wurde gerade gesagt, dass ich ein Passwort angeben musste, um sie zu benutzen. –

+1

Sie wurden falsch angegeben. :-) Die .sth-Datei enthält das Passwort. Als ich sah, dass dir gesagt wurde, dass du ein Passwort verwenden musst, nahm ich an, dass sie dir ein JKS gaben. Legen Sie einfach alle Dateien in dasselbe Verzeichnis und zeigen Sie ihnen die Umgebungsvariable an, wie im Link zu den obigen Dokumenten beschrieben. Das env var to set ist 'MQEnvironment.SSLKeyRepository'. –

+0

Also wenn ich einen Fehler bekomme wie: SSL-Schlüssel-Repository: Passwort Stash-Datei fehlt oder unbrauchbar. Es bedeutet, dass sie mir eine beschissene Stash-Datei gaben? –

Verwandte Themen