我有一个 Android 应用程序正在使用一些 .jar 文件(库)。我的应用程序因 OpenSSL 漏洞而被拒绝,但找不到包含 OpenSSL 的 .jar 文件。
如何在我的 MAC 上搜索 Openssl 的 .jar 文件?
grep Openssl.class /Users/joon/work/androidApp/*.jar
更新===
这是我的依赖项和罐子。当我运行下面提到的 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.+'
}
如何在我的 MAC 上搜索 Openssl 的 .jar 文件?
您可以使用以下脚本检查 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' {} \;
Or:
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 文件)的文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)