Arbeiten mit Secure-Channel mit Security-Exit mit XMS .NET API

8

Ich besitze die folgenden Erkenntnisse, um gegen WMQ Secure-Channel zu arbeiten:

  1. Definierter Secure-Channel in der WMQ-Farm
  2. Öffentliche / private Schlüssel
  3. Nicht verwaltet Sicherheit -Exit Assembly

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:

Ссылка

    
Yair Nevet 07.04.2014, 13:19
quelle

2 Antworten

2

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:

  

XMSC.WMQ_SECURITY_EXIT

     

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

    
Yair Nevet 05.05.2014, 06:56
quelle
4

Gut, dass Sie diesen Technote gefunden haben. Stellen Sie auch sicher, dass ...

  • Wenn die gegenseitige Authentifizierung (der Kanal SVRCONN ist auf 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 .
  • Lassen Sie den Kanal zuerst ohne SSL oder einen Exit laufen. Führen Sie dann serverauthentifiziertes SSL und anschließend gegenseitig authentifiziertes SSL durch, und fügen Sie den Exit dann wieder hinzu. Dadurch werden Probleme isoliert.
  • Verwenden Sie den neuesten WMQ-Client. Ich meine nicht das letzte Fixpack für v7.0 oder v7.1, sondern das neueste v7.5 (zum jetzigen Zeitpunkt) Client. Laden Sie als SupportPac MQC75 herunter. Spätere Clients sind kompatibel mit Back-Level-QMgrs und sie haben mehr Fixes / Features.
  • Installieren Sie den vollständigen -Client und nicht nur die Klassen oder Assemblys, von denen Sie denken, dass Sie sie benötigen. Dadurch erhalten Sie alle Arten von Dienstprogrammen wie clientseitige Ablaufverfolgung.
  • Verwenden Sie die Stichprobe 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.
  • Rufen Sie die Seite WMQ SupportPacs auf und suchen Sie nach MH03 WebSphere MQ SSL Configuration Checker und MO04 WebSphere MQ SSL-Assistent . Diese können bei der Konfiguration und der Problemdiagnose helfen.
T.Rob 07.04.2014 21:22
quelle

Tags und Links