2016-11-15 76 views
3

我使用NSStream作爲服務器進行握手,握手成功沒有問題。我得到了客戶證書,我驗證並存入鑰匙鏈。如何在握手期間使用NSStream生成證書異常

現在問題是我想拋出異常,它必須通過流發送到外部設備,如果證書不存在於鑰匙鏈中。

我必須拋出異常,因爲外部設備的實現就像那樣。如果證書不在鑰匙串中,任何機構都可以幫助我如何拋出異常。

+0

http://stackoverflow.com/questions/28413923/ssl-handshake-with-my-certificate-by-nsstream –

回答

2

我收到了Apple的回覆。 Apple表示NSStream無法引發證書異常。有了NSStream,我們只能獲得信任並驗證信任。如果信任失敗,那麼我們必須斷開套接字。

如果我們必須拋出異常,那麼我們必須下降到更低的級別,以便我們能夠了解每個握手消息。

編輯1: - 即使使用低級別的API,也不可能拋出「證書異常」。我們將瞭解何時從客戶端/服務器收到證書。