亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java-WebSocket - 從服務器獲取客戶端證書進行身份驗證

Java-WebSocket - 從服務器獲取客戶端證書進行身份驗證

慕桂英3389331 2023-08-23 15:01:06
我已經使用 Java-WebSocket 和有效的雙向 TLS 連接建立了一個 websocket 連接。但是,為了使客戶端身份驗證成為可能,我希望能夠獲取客戶端證書附加的信息。這將包含一些有關客戶端連接的信息,因此擁有它會很有用。我已在調試模式下查看了連接及其包含的數據的所有數據,但找不到對證書的任何引用。網上大多數問題似乎都是關于標準 javax websocket,但我使用的問題是由 TooTallNate 提出的(https://github.com/TooTallNate/Java-WebSocket)我希望能夠從已建立的會話中獲得證書。這可能嗎?
查看完整描述

1 回答

?
弒天下

TA貢獻1818條經驗 獲得超8個贊

顯然,在新版本中,從會話獲取 SSLEngine 的可能性已經成為可能。這應該從版本 1.4.1 開始出現,目前是一個快照。


對于其他遇到這個問題的人來說,這是一個從使用的 1.4.1-SNAPSHOT 版本開始工作的解決方案。此代碼應該在任何服務器事件中起作用。就我而言,我將其放置在 onOpen 事件中,我猜這也是您希望它出現的位置。我還沒有使用非 SSL 服務器對此進行全面測試,但由于有檢查到位,所以應該沒問題。不過,請提前測試。


Certificate[] certificates = null;

if(webSocket.hasSSLSupport()) {

    try {

        certificates = webSocket.getSSLSession().getPeerCertificates();

    } catch (SSLPeerUnverifiedException e) {

        logger.error("Could not read SSL Certificates");

        e.printStackTrace();

    }

}


查看完整回答
反對 回復 2023-08-23
  • 1 回答
  • 0 關注
  • 391 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號