Skip to content
Kotlin
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea/copyright
gradle/wrapper
samples
ziti
.gitignore
Jenkinsfile
LICENSE.txt initial commit Oct 10, 2019
README.rst
build.gradle.kts
gradle.properties
gradlew
gradlew.bat
settings.gradle
version

README.rst

Ziti SDK for JVM

The Ziti SDK for JVM enables Java and other developers to easily and securely connect their applications to backend services over NetFoundry Ziti networks.

Release Notes

Obtaining SDK

The recommended way to use the Ziti SDK for Java in your project is to add the dependency using your favorite build tool. Register our repository and add the SDK Maven dependency to your project.

Maven

<project>
   ....
   <repositories>
      ....
      <repository>
        <id>ziti-repo</id>
        <name>NetFoundry Ziti Repository</name>
        <url>https://netfoundry.jfrog.io/netfoundry/ziti-maven</url>
      </repository>
   </repositories>
   ....
   <dependencies>
      ...
      <dependency>
         <groupId>io.netfoundry.ziti</groupId>
         <artifactId>ziti</artifactId>
         <version>0.4.4-7</version>
      </dependency>
   </dependencies>
   ....
</project>

Gradle

repositories {
    ...
    maven { url = "https://netfoundry.jfrog.io/netfoundry/ziti-maven" }
}
...
dependencies {
   ...
   implementation 'io.netfoundry.ziti:ziti:0.4.4-7'
}

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: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.

You can’t perform that action at this time.