【问题标题】:Android SSL internals - where is the actual implementation?Android SSL 内部 - 实际实现在哪里?
【发布时间】:2011-01-17 03:21:22
【问题描述】:

我已经下载了整个 Android 平台的源代码,我有兴趣查看 SSL 实现。例如,当访问启用 SSL 的网站时,我想弄清楚 Android 是如何与 SSL 握手并建立连接的。

我查看了代码的各个部分,但还没有找到我要查找的内容,所以我想我会在这里问一下,看看是否有人能指出我正确的方向。

【问题讨论】:

  • 您是否打算记录您的发现?我也有兴趣。
  • 你找到SSLEngine或其他类的实现了吗?

标签: android ssl implementation android-source


【解决方案1】:

网页浏览器应用源码在:
https://android.googlesource.com/platform/packages/apps/Browser

大部分功能都在 android.webkit.WebView 和相关类中:

https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/webkit

这个包中的一些是用 C++ 实现的。不过,大部分功能都将由 WebKit(用 C++ 编写)实现:

https://android.googlesource.com/platform/external/webkit

我认为 WebKit 使用 curl:

https://android.googlesource.com/platform/external/webkit/+/gingerbread-release/WebCore/platform/network

而 curl 使用 OpenSSL:

https://android.googlesource.com/platform/external/openssl

【讨论】:

    【解决方案2】:

    我不确定您到底在寻找什么,但 Android 中的 SSL 是由 openssl 提供的。这个库的代码可以在/androidroot/external/openssl

    【讨论】:

    • 我试图弄清楚 SSL 握手是如何工作的——哪些部分发生在 Java 中,哪些部分由 OpenSSL 库处理?密钥在哪里以及如何生成?那种东西……
    猜你喜欢
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 2014-02-14
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    • 2012-04-13
    相关资源
    最近更新 更多