Code Monkey home page Code Monkey logo

ziti-sdk-android's Introduction

Ziggy using the ziti-sdk-android

image

image

Ziti SDK for JVM

The Ziti SDK for Android enables developers to easily and securely connect their Android applications to backend services over OpenZiti networks.

Release Notes

Obtaining SDK ------------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

<project>
   ....
   <repositories>
      ....
      <repository>
          <snapshots>
              <enabled>false</enabled>
          </snapshots>
          <id>central</id>
          <name>Maven Central</name>
          <url>https://repo.maven.apache.org/maven2/</url>
       </repository>
   </repositories>
   ....
   <dependencies>
      ...
      <dependency>
         <groupId>org.openziti</groupId>
         <artifactId>ziti-android</artifactId>
         <version>[0,)</version>
      </dependency>
   </dependencies>
   ....
</project>

Gradle

repositories {
    ...
    jcenter()
}
...
dependencies {
   ...
   implementation 'org.openziti:ziti-android:+' // todo use fixed version
}

Building from Source

Once you check out the project from GitHub, you can build it using gradle:

./gradlew build

# install into your local maven cache
./gradlew :ziti-android:install

Features

  • allows to develop applications that connect to services on NetFoundry Ziti Service mesh
  • strong identity support
  • transparent use -- in seamless mode connections to network resources are intercepted and routed over Ziti network for any Ziti service that identity has access to
  • written in Kotlin with Java-friendly API
  • read more in our docs

Enrollment

See background here

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 and routers

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

Android Support

Easiest way to start developing on Android with Ziti is to create your repo from our template project or just look at the code for inspiration.

Getting Help

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.

ziti-sdk-android's People

Contributors

dependabot[bot] avatar dovholuknf avatar ekoby avatar qrkourier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

gmh5225

ziti-sdk-android's Issues

dialOptions.identity is ignored

see openziti/ziti-tunnel-sdk-c#508

User provided an intercept.v1 config where it had dialOptions.identity set. The ziti-edge-tunnel could not connect the service yet the Android tunneler would.

The android tunneler/sdk? needs to read/process/use the dialOptions.identity field properly

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.