Перемещение файлов в подкаталог talend автоматическое

Сценарий

Я получал исключения SSLHandshake на устройствах с версиями Android ранее Android 5.0. В моем случае я также хотел создать TrustManager, чтобы доверять моему клиентскому сертификату.

Я внедрил NoSSLv3SocketFactory и NoSSLv3Factory , чтобы удалить SSLv3 из списка моих клиентов поддерживаемых протоколов, но я не мог заставить ни одно из этих решений работать.

Некоторые вещи, которые я узнал:

  • На устройствах старше Android 5.0 TLSv1.1 и TLSv1.2 протоколов по умолчанию не включены.
  • Протокол SSLv3 по умолчанию не отключен на устройствах старше Android 5.0.
  • SSLv3 не является безопасным протоколом , и он поэтому желательно удалить его из списка поддерживаемых протоколов нашего клиента до того, как будет установлено соединение.

Что сработало для меня

Разрешить безопасность Android Provider для обновления при запуске ваше приложение.

Поставщик по умолчанию до 5.0+ не отключает SSLv3. При условии, что у вас есть доступ к сервисам Google Play, относительно просто исправить провайдера безопасности Android из вашего приложения.

private void updateAndroidSecurityProvider(Activity callingActivity) {
    try {
        ProviderInstaller.installIfNeeded(this);
    } catch (GooglePlayServicesRepairableException e) {
        // Thrown when Google Play Services is not installed, up-to-date, or enabled
        // Show dialog to allow users to install, update, or otherwise enable Google Play services.
        GooglePlayServicesUtil.getErrorDialog(e.getConnectionStatusCode(), callingActivity, 0);
    } catch (GooglePlayServicesNotAvailableException e) {
        Log.e("SecurityException", "Google Play Services not available.");
    }
}

Если теперь вы создаете свой OkHttpClient или HttpURLConnection, TLSv1.1 и TLSv1.2 должны быть доступны как протоколы и SSLv3 должны быть удалены. Если клиент / соединение (или, более конкретно, SSLContext) было инициализировано до вызова ProviderInstaller.installIfNeeded(...), то его нужно будет воссоздать.

Не забудьте добавить следующую зависимость (найденная последняя версия здесь ):

compile 'com.google.android.gms:play-services-auth:11.8.0'

Источники:

Помимо

мне не нужно явно устанавливать, какие алгоритмы шифрования мой клиент должен использовать, но я нашел сообщение SO, рекомендующее те, которые считаются наиболее безопасными на момент написания: Какие Cipher Suites включить для SSL Socket?

0
задан Zuhair Ahmed 3 March 2019 в 09:32
поделиться

1 ответ

Вы можете использовать компонент tFileList для итерации файлов в указанном исходном каталоге и компонент tFileCopy для перемещения файлов, как показано ниже. Убедитесь, что имя файла выбрано из tFileList, как показано, и что выбран вариант «Удалить исходный файл», чтобы удалить файл из исходного каталога. Надеюсь, это поможет.

enter image description here

0
ответ дан Neo 3 March 2019 в 09:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: