2016-03-25 12 views
1

Bazı .jar dosyalarını (kitaplıklar) kullanan bir Android uygulamasına sahibim. Uygulamam OpenSSL güvenlik açıkları için reddediliyor, ancak OpenSSL içeren .jar dosyasını bulamıyor.OpenSSL için .jar dosyalarını grep veya aramak nasıl?

Nasıl benim MAC üzerinde Openssl için .jar dosyalarını ararım?

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

GÜNCELLEME === Burada

benim bağımlılıkları ve Kavanozlar vardır. Aşağıda belirtilen grep komutunu çalıştırdığımda, OpenSSL'nin eski bir sürümüne sahip olduğumda hangi jarde sorun olduğunu söylemiyor. Ayrıca, OpenSSL sahip olsun ya da olmasın, Bouncy Castle gibi aşağıdaki bazı kavanozlar, OpenSSL güvenlik düzeltmesinden önceki 2013'ten beri güncellenmemiştir. Kavanozların her birini tek tek çıkarmayı ve yeniden derlemeyi + temizlemeyi (kodun derlenmesini sağlayacak şekilde yorumlayarak) denedik, ancak yine de eski OpenSSL'nin kullanımda olduğunu söylüyor. Aşağıdaki suçluya işaret eden var mı?

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

Ayrıca bkz. [Hangi bağımlılığın Google Play OpenSSL uyarısına neden kaynaklandığını belirleme nasıldır?] (Http://stackoverflow.com/a/38190080/608639) – jww

cevap

1

nasıl MAC üzerinde Openssl için .jar dosyaları arama yapabilirim?

Aşağıdaki komut dosyası ile JAR dosyaları kontrol edebilirsiniz:

#!/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 

Size rapor ediliyor savunmasız OpenSSL sürümü ile dize '1.0.1h' değiştirmelisiniz. Tek alıntıyı tuttuğunuzdan emin olun çünkü dönem 1.0.1h içinde bir tamsayıdır.


bunu yapmak için başka bir yoludur:

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

Veya:

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

, bu yararlı çok geçerli:

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

Her dizinde oluşturulan ve daha sonra ZIP dosyaları gibi arşivlere eklenen .DS_Store dosyalarını kaldırır.