2017-08-14 60 views
1

方案:MQIPT用於在MQ客戶端和MQ服務器版本8可以MQIPT被配置爲驗證由MQ客戶端設置的憑證用於特定連接

之間是否有可能以驗證與一起發送的證書MQIPT的通道連接。我檢查了文檔,似乎無法完成,除非爲它編寫了某種安全退出。

只是想得到這個意見,至於如何儘可能實現。

謝謝。

+0

如果您在談論MQIPT上的用戶名密碼驗證,那麼您的評估是正確的,但不能這樣做。您可以讓客戶端使用證書,並使MQIPT與基於證書DN和簽署者DN的證書相匹配。 – JoshMc

+0

謝謝。我正在使用您指定的證書配置。 –

+0

@JoshMc,你知道我們是否可以在MQIPT的安全出口讀取用戶/密碼。我的發現:MQIPT使用SecurityExit/CertificateExit類來啓動驗證過程,僅允許提供少量連接信息,例如頻道名稱,QM名稱,客戶端IP,端口等。但是,可以獲取任何可用於讀取用戶/密碼詳細信息的內容 –

回答

1

MQIPT com.ibm.mq.ipt.exit.SecurityExitcom.ibm.mq.ipt.exit.CertificateExit類不公開用戶通道的用戶名和密碼信息。以下是IBM關於這兩類出口的文檔。

公共SecurityExitResponse驗證(IPTTrace)
的以下屬性:

  • 監聽端口

    The com.ibm.mq.ipt.exit.SecurityExit class在帶有以下信息的IBM 9.0知識中心記錄

  • 目的地
  • desti國家端口
  • 超時
  • 客戶端IP地址
  • 客戶端端口地址
  • 頻道名稱
  • 隊列管理器名稱

validate方法將由MQIPT當它接收一個 連接請求被稱爲驗證。如果啓用SSLProxyMode屬性 ,則通道名稱和隊列管理器 名稱將不可用,因爲此功能僅用於隧道SSL/TLS數據,因此通常從初始數據流獲取的數據將爲 不可讀。

The com.ibm.mq.ipt.exit.CertificateExit class記錄在IBM v9中。0知識中心與以下信息:

用於獲得屬性支持的方法:
公衆詮釋getListenerPort()

檢索路線偵聽器端口 - 由ListenerPort 屬性所定義

public String getDestination()

檢索t他的目的地地址 - 由目的地 財產

公衆詮釋getDestinationPort()

檢索目的地監聽端口地址定義 - 由 DestinationPort財產

公共字符串getClientIPAddress定義()

檢索發出連接請求的客戶端的IP地址

公衆詮釋getClientPortAddress()

檢索使連接 請求

公共布爾用於確定如果所述退出是被isSSLClient()

由客戶機使用的端口地址稱爲SSL/TLS客戶端或 SSL/TLS服務器。如果返回true,則退出位於連接的客戶端端 ,驗證從 服務器獲得的證書。如果返回false,則退出位於 連接的服務器端,驗證客戶端發送的證書。對於作爲SSL/TLS服務器和SSL/TLS客戶端的路由,解密和重新加密通信的路由是有效的,其中 爲 。在這種情況下,儘管 有一個退出類,但該類的一些實例將被調用爲客戶端,並且一些作爲服務器調用。你可以使用isSSLClient來 確定給定實例的情況。

公衆詮釋getConnThreadID()

用於檢索工作線程正在處理 連接請求時,它可以是用於調試的ID

公共字符串getChannelName()

檢索在連接 請求中使用的IBM®MQ頻道名稱。僅當傳入請求未使用時纔可用 SSL/TLS和MQIPT充當SSL/TLS客戶端。

公共字符串getQMName()

檢索在連接 請求中使用的IBM MQ隊列管理器的名稱。僅在客戶端請求未使用時纔可用 SSL/TLS和MQIPT充當SSL/TLS客戶端。

公共布爾getTimedout()

由出口用於確定如果超時已過期。

公共IPTCertificate getCertificate()

檢索需要驗證的SSL/TLS證書。

公共字符串getExitData()

檢索出口數據,由SSLExitData屬性所定義的。

公共字符串getExitName()

檢索出口名稱,由SSLExitName屬性所定義的。

相關問題