Knox VPN framework namespace changes

By Technical Publications Team

With the release of Knox SDK v3.4 in 2019, the Knox VPN framework merges with the Knox SDK. As part of the Knox SDK, partners must update their VPN clients to use the new namespace, as the Knox VPN framework currently uses the legacy namespaces. This blog post discusses why and how you should migrate to the new namespace.

New namespace and your VPN client

All packages, intents, and permission names in the Knox SDK v3.x must migrate to the namespace in time for the Android Q OS release. Android Q is expected to release around the same time as Knox 3.4, which is expected to release in late 2019 or early 2020.

VPN clients that are still using the legacy namespaces—that is and com.sec.enterprise—when Android Q OS is released will stop working, even if they are not using the Android Q OS.

Solution: Migrate your apps to the new namespace

To prevent your VPN clients from malfunctioning and leaving your users without VPN access, we strongly recommend updating your VPN clients to use the new namespace. All VPN clients compatible with Samsung Knox SDK v3.0 or higher must update their namespace. Older devices and VPN clients can continue to use the current process.  

Updating an app to use the new namespace is straightforward, especially with an IDE like Android Studio, which can look up the class for an API method. For a tutorial on how to migrate your VPN client to the new namespace, see VPN namespace changes.

In the interim

Until the Knox SDK v3.4 release, use the supportlib.jar library to map old namespaces to the new namespace. This static library acts as a proxy that forwards framework requests from the old namespace to the new namespace. You can download the supportlib.jar library from the Knox SDK Overview page.

We realize that migrating your VPN clients may take longer than anticipated. Currently, the Knox VPN framework binds Knox VPN clients using old namespace classes. In this process, the SupportLib static library works as a proxy and forwards any bind requests originating from the old namespace framework to the new namespace framework.

For the upcoming Samsung Knox SDK v3.3 release, we plan to continue automatic forwarding of requests from VPN clients using the old namespace to the new namespace. This automatic forwarding ensures that VPN clients continue to function until they can update to use the new namespace.

Next Steps: