.. image:: https://raw.githubusercontent.com/openziti/branding/main/images/banners/Android.jpg :alt: Ziggy using the ziti-sdk-android
.. image:: https://github.com/openziti/ziti-sdk-android/workflows/CI%20build/badge.svg :target: https://github.com/openziti/ziti-sdk-android/actions?query=workflow%3A%22CI+build%22
.. image:: http://maven-badges.herokuapp.com/maven-central/org.openziti/ziti-android/badge.svg :target: http://maven-badges.herokuapp.com/maven-central/org.openziti/ziti-android
The Ziti SDK for Android enables developers to easily and securely connect their
Android applications
to backend services over OpenZiti <https://github.com/openziti/ziti>
_ networks.
.. contents::
The recommended way to use the Ziti SDK for Android in your project is to add the dependency using your favorite build tool. Our artifacts are hosted on Maven Central, so add the repo and dependency to your project. Make sure to use latest version from the top of this page.
Maven
.. code-block:: xml
Gradle
.. code-block:: gradle
repositories { ... jcenter() } ... dependencies { ... implementation 'org.openziti:ziti-android:+' // todo use fixed version }
Once you check out the project from GitHub, you can build it using gradle:
.. code-block::
./gradlew build
# install into your local maven cache
./gradlew :ziti-android:install
Kotlin <https://kotlinlang.org/>
_ with Java-friendly APIEnrollment
See background here <https://openziti.github.io/ziti/identities/enrolling.html>
_
Java SDK provides a way to enroll and generate identity file.
The default identity format for Java SDK is Java KeyStore stored as .p12/.pfx
files,
however it can use identity JSON files generated by ziti-enroller
as well.
Enrolling creates two(or more) entries in Java KeyStore:
private key entry
client SSL private key/certificate identifying the application instance. this entry is stored with
ziti://<controller_addr>/<id>
alias (pkcs#12 - friendly name)
rootCA
root CA certificates used to validate Ziti controller <https://openziti.github.io/ziti/manage/controller.html>
and
routers <https://openziti.github.io/ziti/manage/router-overview.html>
Note:
This allows enrolling and storing multiple identity keys and certificates in a single key store (pkcs#12 file). However, typically an application instance would only have a single enrollment or identity
Easiest way to start developing on Android with Ziti is to create your repo from
our template project <https://github.com/openziti/ziti-android-app#readme>
_
or just look at the code for inspiration.
Please use these community resources for getting help. We use GitHub issues_ for tracking bugs and feature requests and have limited bandwidth to address them.
Developer Community
_.. _Developer Community: https://ziti.dev .. _docs: https://openziti.github.io/ziti/overview.html .. _Discourse: https://openziti.discourse.group/ .. _issues: https://github.com/openziti/ziti-sdk-android/issues