1

我在 Google Play 商店有一个应用程序。最近收到一封邮件:

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/从 SDK 版本 2.2.1 开始,所有 OpenSSL 漏洞均已解决。(我目前使用的是 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. 集成/更新到新库后,我执行以下命令:

  $ unzip -p YourApp.apk | strings | grep "OpenSSL"

以下是更新 OpenTok 库的 APK 日志:

"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。

所以我的问题是:

  • 现在是否意味着如果我在 Google Play 商店更新这个新的 APK,该应用程序会被接受吗?
  • 有没有办法检查我的 OpenSSL 版本是否仍然容易出现问题(如 google play 的邮件中所述)?
  • 有没有办法让我的 APK 中使用的 OpenSSL 版本(虽然,$ unzip -p YourApp.apk | strings | grep "OpenSSL",无法列出 OpenSSL 的版本)

笔记:

我已经浏览了这个Google Play 和 OpenSSL 警告消息帖子以及那里提供的所有解决方案,但我无法获得 OpenSSL 版本。

这方面的任何信息都将非常有帮助。提前致谢。

4

1 回答 1

1

现在是否意味着如果我在 Google Play 商店更新这个新的 APK,该应用程序会被接受吗?

可能到Maybe。Google 用来监管 OpenSSL 的脚本非常愚蠢。他们将 OpenSSL 标记为版本号,而不是使用易受攻击的功能。由于没有版本信息,脚本可能不会触发它认为是错误的版本。


有没有办法检查我的 OpenSSL 版本是否仍然容易出现问题(如 google play 的邮件中所述)?

是的,使用该strings程序转储 OpenSSL 字符串。


有没有办法让我的 APK 中使用的 OpenSSL 版本(虽然,$ unzip -p YourApp.apk | strings | grep "OpenSSL",无法列出 OpenSSL 的版本)

我相信你需要在这里与 OpenTok 人员核实一下。看起来OpenTok在2.4.0 版本切换到BoringSSL。BoringSSL 是 Google 的 OpenSSL 分支。

于 2015-05-14T11:12:56.760 回答