Как получить или поискать файлы.jar для OpenSSL?

У меня есть приложение для Android, которое использует некоторые файлы.jar (библиотеки). Мое приложение отклонено из-за уязвимостей OpenSSL, но не может найти файл.jar, который содержит OpenSSL.

Как мне найти файлы.jar для Openssl на моем MAC?

grep Openssl.class /Users/joon/work/androidApp/*.jar

UPDATE ===

Вот мои зависимости и банки. Когда я запускаю команду grep, упомянутую ниже, она не говорит мне, какая проблема в jar, просто у меня старая версия OpenSSL. Кроме того, некоторые из приведенных ниже jar-файлов, например Bouncy Castle, независимо от того, имеют они OpenSSL или нет, не обновлялись с 2013 года, то есть до исправления безопасности OpenSSL. Мы попытались удалить каждый из jar-файлов один за другим и перекомпилировать + очистку (закомментировав код, чтобы он скомпилировался), но он по-прежнему говорит, что используется старый OpenSSL. Кто-нибудь может указать на виновника ниже?

JARS:
httpmime-4.1.3.jar
libGoogleAnalyticsServices.jar
opentok-android-sdk-2.3.1.jar
sc-light-jdk15on-1.47.0.2.jar
scpkix-jdk15on-1.47.0.2.jar
scprov-jdk15on-1.47.0.2.jar
socketio.jar


dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.+'
    compile 'com.google.android.gms:play-services-maps:6.5.+'
    compile 'com.crashlytics.android:crashlytics:1.+'
}

1 ответ

Решение

Как мне найти файлы.jar для Openssl на моем MAC?

Вы можете проверить файлы JAR с помощью следующего скрипта:

#!/usr/bin/env bash

JAR_FILES=("httpmime-4.1.3.jar"
           "libGoogleAnalyticsServices.jar"
           "opentok-android-sdk-2.3.1.jar"
           "sc-light-jdk15on-1.47.0.2.jar"
           "scpkix-jdk15on-1.47.0.2.jar"
           "scprov-jdk15on-1.47.0.2.jar"
           "socketio.jar")

for jar_file in "${JAR_FILES[@]}"
do
    echo "************ $jar_file ************"
    grep '1.0.1h' "$jar_file"
done

Вы должны заменить строку '1.0.1h' с уязвимой версией OpenSSL, о которой вам сообщают. Обязательно сохраните одинарную кавычку, потому что период является буквальным в 1.0.1h,


Еще один способ сделать это:

find /Users/joon/work/androidApp/ -name '*.jar' -exec grep 'Openssl.class' {} \;

Или же:

find /Users/joon/work/androidApp/ -name '*.jar' -exec grep '1.0.1h' {} \;

На OS X это тоже полезно:

find "$HOME" -name '.DS_Store' -exec rm -f {} \;

Удаляет те .DS_Store файлы, которые создаются в каждом каталоге и впоследствии добавляются в архивы, такие как ZIP-файлы.

Другие вопросы по тегам