2016-07-28 22 views
9

Mam podstawę kodu dla aplikacji, ale nie widzę, gdzie mogę znaleźć zestaw szyfrów używany podczas wykonywania połączeń wychodzących. Czy ktoś może wskazać mi właściwy kierunek. Kiedy otwieram projekt w Android Studio prawym przyciskiem myszy, aplikacja-> otwórz ustawienia modułu -> karta Smaki -> Min. Wersja Sdk ma wartość 15, docelowa wersja Sdk jest ustawiona na API 21: Android 5.0 (Lollipop)Android, wybieranie zestawu szyfrów

Dzięki, P

+0

Co masz na myśli przez "Pakiet szyfrów"? – AesSedai101

+0

See szyfrów na https://developer.android.com/reference/javax/net/ssl/SSLSocket.html Przykłady: SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA itp – user1054637

+0

Czy wdrożenie sieci? – AesSedai101

Odpowiedz

2

Używany pakiet algorytmów zależy od certyfikatu SSL serwera i obsługiwanych szyfrów. można sprawdzić dostępne garnitury szyfr dla różnych wersji Androida tutaj:

https://developer.android.com/reference/javax/net/ssl/SSLEngine.html

Uwaga następujący fragment:

Te rodzaje ochrony są określone przez „szyfrów”, który jest połączenie algorytmów kryptograficznych używanych przez dane połączenie SSL . Podczas procesu negocjacji oba punkty końcowe muszą uzgodnić zestaw algorytmów szyfrowania dostępny w obu środowiskach pod numerem . Jeśli nie ma takiego zestawu wspólnych, nie można ustanowić połączenia SSL i żadne dane nie mogą być wymieniane.

Jak widać, Android 5.0 może korzystać z wielu różnych zestawów, w zależności od typu certyfikatu.

+0

Więc jeśli dobrze cię rozumiem, nie możesz zaprogramować wybranego zestawu algorytmów szyfrowania, który jest wybierany podczas uzgadniania między klientem/serwerem. Jak więc zapewnić na przykład, że wybrany zestaw szyfrów będzie wersją TLSv1.2? Czy aktualizuję certyfikaty po obu stronach? – user1054637

+0

Powinieneś ustawić tylko poprawny pakiet dla swojego serwera, a klient będzie musiał się z nim zgodzić lub anulować połączenie. – Jehy

Powiązane problemy