在 Android 上添加自定义 TLS 扩展

yia*_*nis 11 ssl android openssl jsse boringssl

我正在开发一个 Android 应用程序,并希望在 TLS/SSL ClientHello 握手中添加一个自定义扩展。OpenSSL 和 BoringSSL 都支持添加自定义扩展所需的功能和回调,但不幸的是,Android JSSE 提供程序似乎没有公开此功能。

我相信我至少有两个选择:

  1. 一种方法是修改 conscrypt,添加对自定义扩展的支持,并在我的应用程序中捆绑库(本机 .so + .jar)。

  2. 找到另一个支持自定义扩展的 JSEE 提供程序,或者比 conscrypt 更容易修改和捆绑。

Rgearding (1),我找不到关于如何将 conscrypt 与特定应用程序捆绑在一起的任何好的说明,并且第一次尝试根据源代码构建并在我的应用程序中手动添加库不起作用(我无法导入任何内容来自conscrypt)。即使这个问题得到解决,也很可能发生类冲突。

为我的应用程序添加支持的最佳方式是什么?

谢谢。