Ich besitze die folgenden Erkenntnisse, um gegen WMQ Secure-Channel zu arbeiten:
Meine Frage ist, wie man diese Ressourcen nutzt und mit einem sicheren Kanal über die XMS-API interagiert. (Mit C #)
Das habe ich bisher versucht, aber ohne Erfolg:
%Vor%Ich bekomme den folgenden Fehler beim Aufruf:
CWSMQ0006E: Während des Aufrufs der Methode wurde eine Ausnahme empfangen ConnectionFactory.CreateConnection: CompCode: 2, Grund: 2195. Während Ausführung der angegebenen Methode wurde eine Ausnahme von einer anderen ausgelöst Komponente. Weitere Informationen finden Sie in der verknüpften Ausnahme.
UPDATE:
Ich habe den folgenden Technote gefunden, der mein Problem und seine mögliche (nicht getestete) Lösung beschreibt:
Ich habe herausgefunden, dass Sie eine nicht verwaltete Security Exit Assembly nicht mit IBM.XMS API ( IBM.XMS.dll
), und das habe ich derzeit.
Aus den XMS-Dokumenten:
Diese Eigenschaft ist nur relevant, wenn eine Anwendung eine Verbindung zu einer Warteschlange herstellt Manager im verwalteten Client-Modus. Außerdem sind nur verwaltete Exits unterstützt .
Schließlich habe ich die Verwendung der XMS-API durch die MQ-Klassen für .NET (Native .NET-API von IBM für WMQ), die die Verwendung eines nicht verwalteten Sicherheits-Exits durch Einstellung unterstützt seine Eigenschaft MQC.SECURITY_EXIT_PROPERTY
(sollte in Form eines Eintrags Hashtable
geliefert werden). Genauer gesagt ist dies die Assembly: amqmdnet.dll
Gut, dass Sie diesen Technote gefunden haben. Stellen Sie auch sicher, dass ...
SSLCAUTH(REQUIRED)
gesetzt) das persönliche Zertifikat der App ist hat ein Label, das dem Dienstkonto entspricht . Beispiel: Wenn die App als dotnetacct
ausgeführt wird, lautet die Bezeichnung des persönlichen Zertifikats im Schlüsselspeicher ibmwebspheremqdotnetacct
. amqssslc
, um Ihren Kanal und Ihre Zertifikate zu testen. Dies ist normalerweise bei C:\Program Files (x86)\IBM\WebSphere MQ\tools\c\Samples\Bin\amqssslc.exe
und gehört zu den bei der Installation des vollständigen Clients bereitgestellten Dienstprogrammen.