我在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