我在Google Play商店中有一個應用程序。最近我收到一封郵件:opentok-android-sdk-2.3.1和OpenSSL漏洞問題
Google Play 60-day deadline for resolving OpenSSL vulnerabilities
它聲明我使用的OpenSSL版本易受某些問題的影響。但是,我沒有直接使用OpenSSL。我使用OpenTok庫進行視頻聊天功能,該功能在內部使用OpenSSL。我目前使用openTok SDK版本2.3.1。但是根據這個鏈接http://www.tokbox.com/blog/mobile-sdks-2-2-1-resolve-openssl-vulnerability/所有的OpenSSL漏洞都是從SDK 2.2.1開始解決的。 (我目前使用2.3.1,裏面傳來必須2.2.1之後版本)
我在我的Android應用程序中使用下面的命令(APK文件):
$ unzip -p YourApp.apk | strings | grep "OpenSSL"
我得到了以下記錄:
"OpenSSL"
GmsCore_OpenSSL
OpenSSLAdapter::OnCloseEvent(
OpenSSLAdapter::Error(
OpenSSLAdapter::OnConnectEvent
Failed to create OpenSSLCertificate from PEM string.
OpenSSLStreamAdapter::Error(
OpenSSLStreamAdapter::OnEvent SE_OPEN
OpenSSLStreamAdapter::OnEvent
OpenSSLStreamAdapter::OnEvent(SE_CLOSE,
OpenSSLStreamAdapter::Read(
OpenSSLStreamAdapter::Write(
OpenSSL CMAC method
%s(%d): OpenSSL internal error, assertion failed: %s
OpenSSL PKCS#3 DH method
OpenSSL DH Method
OpenSSL DSA method
OpenSSL EC algorithm
OpenSSL ECDH method
OpenSSL ECDSA method
OpenSSL HMAC method
You need to read the OpenSSL FAQ, http://www.openssl.org/support/faq.html
OpenSSL RSA method
OpenSSL 1.0.1e 11 Feb 2013
OpenSSL default user interface
OpenSSLAdapter::OnCloseEvent(
OpenSSLAdapter::Error(
OpenSSLAdapter::OnConnectEvent
Failed to create OpenSSLCertificate from PEM string.
OpenSSLStreamAdapter::Error(
OpenSSLStreamAdapter::OnEvent SE_OPEN
OpenSSLStreamAdapter::OnEvent
OpenSSLStreamAdapter::OnEvent(SE_CLOSE,
OpenSSLStreamAdapter::Read(
OpenSSLStreamAdapter::Write(
OpenSSL CMAC method
%s(%d): OpenSSL internal error, assertion failed: %s
OpenSSL PKCS#3 DH method
OpenSSL DH Method
OpenSSL DSA method
OpenSSL EC algorithm
OpenSSL ECDH method
OpenSSL ECDSA method
OpenSSL HMAC method
You need to read the OpenSSL FAQ, http://www.openssl.org/support/faq.html
OpenSSL RSA method
OpenSSL 1.0.1e 11 Feb 2013
OpenSSL default user interface
從上面的日誌中我得到一個確認,在我目前的APK,OpenTok是使用OpenSSL的OpenSSL 1.0.1e。
因此,我已經用opentok-android-sdk-2.5.0
附帶的最新版本更新OpenTok庫。整合/更新到新庫後,我執行下面的命令:
$ unzip -p YourApp.apk | strings | grep "OpenSSL"
下面是對APK日誌與更新OpenTok庫:
"OpenSSL"
GmsCore_OpenSSL
OpenSSL EC algorithm
OpenSSL HMAC method
OpenSSL RSA method
OpenSSLAdapter::Error(
OpenSSLAdapter::OnCloseEvent(
OpenSSLAdapter::OnConnectEvent
Failed to create OpenSSLCertificate from PEM string.
OpenSSLStreamAdapter::Error(
OpenSSLStreamAdapter::Write(
OpenSSLStreamAdapter::Read(
OpenSSLStreamAdapter::OnEvent SE_OPEN
OpenSSLStreamAdapter::OnEvent
OpenSSLStreamAdapter::OnEvent(SE_CLOSE,
OpenSSL EC algorithm
OpenSSL HMAC method
OpenSSL RSA method
OpenSSLAdapter::Error(
OpenSSLAdapter::OnCloseEvent(
OpenSSLAdapter::OnConnectEvent
Failed to create OpenSSLCertificate from PEM string.
OpenSSLStreamAdapter::Error(
OpenSSLStreamAdapter::Write(
OpenSSLStreamAdapter::Read(
OpenSSLStreamAdapter::OnEvent SE_OPEN
OpenSSLStreamAdapter::OnEvent
OpenSSLStreamAdapter::OnEvent(SE_CLOSE,
在這裏,我們看不到任何獲取日誌中的OpenSSL版本。
所以我的問題是:
- 這是否意味着現在,如果我在谷歌更新這一新的APK發揮 商店,應用程序是否可以接受?
- 有沒有辦法檢查我的OpenSSL版本是否仍然容易受到 問題的影響(如google play中的郵件所述)?
- 有沒有在我的APK 正在使用的方式來獲得的OpenSSL版本(雖然,$解壓-p YourApp.apk |串| grep的「OpenSSL的」,是不是 能夠列出的OpenSSL版本)
注:
我曾經使用過此Google Play and OpenSSL warning message後消失,所有提供的解決方案有,但我不能夠得到OpenSSL的版本。
關於此的任何信息應該是非常有用的。 在此先感謝。
*「我目前正在使用openTok SDK版本2.3.1 ...」* - 您應該使用最新版本,它似乎是2.5.1。由於在2.4版本切換到BoringSSL,這完全避免了OpenSSL。 – jww
@jww:會這樣做。但更新到最新版本後,openssl版本的詳細信息將從命令中消失:unzip -p apk |字符串| grep「OpenSSL」 – Zax
*「在更新到最新版本後,openssl版本的詳細信息將消失......」 - 完美無缺,聽起來像它不再是您的問題。 – jww