2016-03-25 3 views
1

いくつかの.jarファイル(ライブラリ)を使用しているAndroidアプリがあります。私のアプリケーションはOpenSSLの脆弱性に対して拒否されていますが、OpenSSLを含む.jarファイルは見つかりません。OpenSSLの.jarファイルをgrepまたは検索するには?

MACでOpensslの.jarファイルを検索するにはどうすればよいですか?ここで

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

UPDATE ===

は私の依存関係とジャーです。下記のgrepコマンドを実行すると、古いバージョンのOpenSSLを持っているだけで、どのjarファイルが問題になるかは分かりません。さらに、Bouncy Castleのように、OpenSSLを持っているかどうかにかかわらず、以下のジャーの一部は、OpenSSLセキュリティ修正の前の2013年以降に更新されていません。それぞれのjarファイルを1つずつ削除して、+ clean(コンパイルできるようにコードをコメントアウトする)を再コンパイルしてみましたが、古い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.+' 
} 
+0

[Google Play OpenSSLの警告の原因となる依存関係を特定する方法](http://stackoverflow.com/a/38190080/608639)を参照してください。 – jww

答えて

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 

あなたに報告された脆弱性のOpenSSLのバージョンを文字列'1.0.1h'を交換する必要があります。ピリオドは1.0.1hのリテラルなので、一重引用符は必ず保持してください。それを行うには


もう一つの方法は次のとおりです。

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

または:OS X上で

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

、これはあまりにも便利です。

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

それはすべてのディレクトリで作成され、その後ZIPファイルのようなアーカイブに追加されるそれらのファイル.DS_Storeを削除します。

関連する問題