首先, OPENSSL 1.0.2u 這個舊版本, 最多只支援 TLSv1.2, 而且, 假如憑證建立時使用的演算法是 RSA 的話, 就無法自動支援 ECDH 相關的 Cipher Suites. 更麻煩的是, forward secrecy (FS) 測試會告訴你, TLS 1.2 sig_algs 列表中有一個弱組合: ECDSA+SHA1, 無論你怎麼設定都無法移除.
解法如下:
1. 使用ECC方式產生憑證
2. 程式碼中呼叫 SSL_CTX_set_ecdh_auto() 以支援 ECDH 相關演算法
3. 修改 OPENSSL source code, 把 TLS library 裡面的 SHA1 拔掉
沒有留言:
張貼留言