Anywhere you go, let me go too

關於部落格
對人海闊天空,做事仔細周密
  • 31398

    累積人氣

  • 1

    今日人氣

    0

    訂閱人氣

CICS can't connect to windows IIS by https

 為了建置新系統,測試由IBM CICS主機發動https至Windows IIS, 
結果由IIS Log完全看不到主機連線進入的IP位址。

後來請主機用Ping / telnet 連線至我的測試主機,經一陣努力,終於透過
netstat -an -t 5 > file path 
終於看到有主機的IP address, 但IIS仍然看不到有主機連線進入的IP... 
 於是開始懷疑是 ssl 沒有建起來. 找來免費版的wireshark來看,結果馬上現形:D


CICS 一來Say Hello, Windows就不回人家了, 於是我想到之前同事提到的(當時是由Windows 發動上CICS 也是一樣怎麼連的失敗)
所以就把那份文件找出來看.....覺得概念是一樣的。說明如下:

首先是當完成TCPIP層的溝通後,就是要再往上去完成http(第7層)的協定後,訊息才有辦法開始傳遞,所以我們要解ssl無法建立的問題後面才能建立完成。由上圖是CICS向Windows說Hello,同時他告訴Windows它可以接受的Cipher為何?(即箭頭所指的
Cipher suites)
下面這個Link是Windows他可以接受的種類有那些
https://msdn.microsoft.com/zh-tw/library/windows/desktop/aa374757(v=vs.85).aspx

同時他也告訴你那些他支援但沒有納入預設清單中,順帶一提的是在這麼多種的Cipher中,如果
其中有*NULL* 的cipher suites於資料傳輸中不進行加密(上述文件也清楚的標示每個Tag代表的意思)
所以我就一一比對Wireshark內容和上面link提供的, CICS可接受的
Cipher Suite: TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)  è不支援
Cipher Suite: TLS_RSA_WITH_DES_CBC_SHA (0x0009)   è 支援但要加入 
Cipher Suite: TLS_DHE_RSA_WITH_DES_CBC_SHA (0x0015)  ==>不支援
Cipher Suite: TLS_DHE_DSS_WITH_DES_CBC_SHA (0x0012)  ==>支援但要加入
Cipher Suite: TLS_DH_RSA_WITH_DES_CBC_SHA (0x000f) ==>不支援
Cipher Suite: TLS_DH_DSS_WITH_DES_CBC_SHA (0x000c)  ==>不支援
Cipher Suite: TLS_RSA_EXPORT_WITH_RC4_40_MD5 (0x0003) ==>支援但要加入
Cipher Suite: TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 (0x0006) ==>不支援
Cipher Suite: TLS_RSA_WITH_NULL_SHA (0x0002) ==>支援
Cipher Suite: TLS_RSA_WITH_NULL_MD5 (0x0001) ==>  支援,但要加入
*NULL* 是不加密的,所以我沒有選這個
直接以TLS_RSA_WITH_DES_CBC_SHA
為加入首選,那如何讓Windows???
參考下面 link:

https://msdn.microsoft.com/zh-tw/library/windows/desktop/bb870930(v=vs.85).aspx

我直接取注要段落
Note  You can also modify the list of cipher suites by configuring the SSL Cipher Suite Order group policy settings using the Group Policy Object snap-in in Microsoft Management Console.
Bb870930.wedge(en-us,VS.85).gifTo configure the SSL Cipher Suite Order group policy setting
  1. At a command prompt, enter gpedit.msc. The Group Policy Object Editor appears.
  2. Expand Computer Configuration, Administrative Templates, Network, and then click SSL Configuration Settings.
  3. Under SSL Configuration Settings, click the SSL Cipher Suite Order setting.
  4. In the SSL Cipher Suite Order pane, scroll to the bottom of the pane.
  5. Follow the instructions labeled How to modify this setting.
It is necessary to restart the computer after modifying this setting for the changes to take effect.

另外其中第5點,當你依前4個步驟打開那個功能UI後,你會發現他的instruction某些詞真的非常看不懂:|(那文件的中文詞...,可能是for China吧!所以我看不懂)


後來我是try出來的,其實就是簡單幾句就可以了8-)

選[啟用] ==> 他就會出現一個text box (裏面就是他目前有支援的Cipher) ==> 把他全選 ==> Copy 
==> 貼到記事本(要可以看總長度的) 

Windows是如果你沒有啟用,他會依預設給你用,如果你啟用,那就會有總長度限制,他厡本預設的有1070 ,但如果你啟用後, windows只允許你放入1023 bytes(具體長度我忘了...反正預設比開放讓你設的長度有差距) , win2012的預設內容如下:

TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384,TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,TLS_DHE_DSS_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_RC4_128_MD5,SSL_CK_RC4_128_WITH_MD5,SSL_CK_DES_192_EDE3_CBC_WITH_MD5,TLS_RSA_WITH_NULL_SHA256,TLS_RSA_WITH_NULL_SHA, TLS_RSA_WITH_DES_CBC_SHA
我將部份刪除 , 再加上CICS可以支援的,調整後如下: (全部都要在同一列中哦!)
~略~TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,TLS_DHE_DSS_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_RC4_128_MD5,TLS_RSA_WITH_DES_CBC_SHA
存檔後 ==> 重開 ==> 在IIS的Log就可以看到主機有連線進Win2012 IIS了;-)


相簿設定
標籤設定
相簿狀態