2012-01-08 18 views
5

SSL/TLS'ye yükseltilen normal düz soketin bulunduğu bir protokolüm var. SSL tokalaşmasının yanı sıra izin verilen protokoller sürümleri gibi diğer parametreleri işlemek için zaman aşımını kontrol edebilmem gerekir. (ör. SSLv3'ü kapatın). Sen javax.net.ssl.SSLSocketFactory yoluyla el sıkışma zaman aşımı hariç tüm yapabilirsinizSSLSocketFactory ayar el sıkışması zaman aşımı ve yuva özellikleri

, sen el sıkışma için startHandshake çağrı sonra, iade SSLSocket ek ayarları, createSocket(socket, host port, autoClose) çağırabilir. Ancak, el sıkışma zaman aşımı ayarını yapmak için herhangi bir yol görünmüyor ve varsayılan ayar oldukça küçük.

bu tokalaşma zaman aşımı ayarını kontrol etmenizi sağlar !, android.net.SSLCertificateSocketFactory burada korkmayın, ama fabrikadan geriye onun senin de SSLSocket gidinceye kadar bu yüzden de, fiili el sıkışma yapmak createSocket(socket, host, port, autoClose) davranışını değiştirir el sıkışma etkileyecek başka bir şey yapmaya geç (SSLv3'ü kapatmak gibi).

İkisini de yapmanın bir yolu var mı? Bunu Api v8

'da yapabilmem gerekir (SSLContext/SSLParameters kullanışlı olabilir ama Api v9'dur, ancak SSLCertificateSocketFactory kendi bağlamını oluşturuyor gibi görünüyor, bu nedenle varsayılan ayarı ayarlama yardımcı olmayacaktır.).

cevap

-1

Belirli protokol seçimi için startHandshake çağrılmadan önce SSLSocket.setEnabledProtocols denediniz mi?

El sıkışma zaman aşımı ayarı için SSLCertificateSocketFactory'yi kullanabilirsiniz.

+1

Soketi, zaman aşımını ayarlamak için yapmanız gereken SSLCertificateSocketFactory'den alırsanız, otomatik olarak sizin için startHandshake işlevini çağırır, böylece protokolü yuva örneğinde ayarlama şansınız olmaz. – superfell