Virgil KeyKnox Java/Android SDK

Virgil Security provides an SDK which allows you to communicate with Virgil Keyknox Service. Virgil Keyknox Service allows users to store their sensitive data (such as Private Key) encrypted (with end-to-end encryption) for using and sharing it between different devices.

License

License

Virgil Security, Inc. license
Categories

Categories

Security KeY Data Data Formats Formal Verification
GroupId

GroupId

com.virgilsecurity
ArtifactId

ArtifactId

keyknox
Last Version

Last Version

0.2.1
Release Date

Release Date

Type

Type

jar
Description

Description

Virgil KeyKnox Java/Android SDK
Virgil Security provides an SDK which allows you to communicate with Virgil Keyknox Service. Virgil Keyknox Service allows users to store their sensitive data (such as Private Key) encrypted (with end-to-end encryption) for using and sharing it between different devices.
Project URL

Project URL

https://www.virgilsecurity.com/
Source Code Management

Source Code Management

https://github.com/VirgilSecurity/keyknox-kotlin

Download keyknox

How to add to project

<!-- https://jarcasting.com/artifacts/com.virgilsecurity/keyknox/ -->
<dependency>
    <groupId>com.virgilsecurity</groupId>
    <artifactId>keyknox</artifactId>
    <version>0.2.1</version>
</dependency>
// https://jarcasting.com/artifacts/com.virgilsecurity/keyknox/
implementation 'com.virgilsecurity:keyknox:0.2.1'
// https://jarcasting.com/artifacts/com.virgilsecurity/keyknox/
implementation ("com.virgilsecurity:keyknox:0.2.1")
'com.virgilsecurity:keyknox:jar:0.2.1'
<dependency org="com.virgilsecurity" name="keyknox" rev="0.2.1">
  <artifact name="keyknox" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.virgilsecurity', module='keyknox', version='0.2.1')
)
libraryDependencies += "com.virgilsecurity" % "keyknox" % "0.2.1"
[com.virgilsecurity/keyknox "0.2.1"]

Dependencies

runtime (4)

Group / Artifact Type Version
org.jetbrains.kotlin : kotlin-stdlib-jdk8 jar 1.3.41
com.virgilsecurity.sdk : crypto jar 5.1.2
com.virgilsecurity.sdk : sdk jar 5.1.2
com.google.code.gson : gson jar 2.8.5

Project Modules

There are no modules declared in this project.

Virgil KeyKnox Java/Android SDK

Introduction | SDK Features | Install and configure SDK | Docs | Support

Introduction

Virgil Security provides an SDK which allows you to communicate with Virgil Keyknox Service. Virgil Keyknox Service allows users to store their sensitive data (such as Private Key) encrypted (with end-to-end encryption) for using and sharing it between different devices.

SDK Features

  • use Virgil Crypto library
  • use Virgil SDK
  • upload encrypted sensitive data to Virgil Keyknox Service
  • download the data from Virgil Keyknox Service
  • update and synchronize the data

Install and configure SDK

Installation

Virgil Keyknox SDK is provided as a set of frameworks. These frameworks are distributed via Gradle and Maven. Also in this guide, you find one more package called VirgilCrypto (Virgil Crypto Library) that is used by the SDK to perform cryptographic operations.

TheVirgil Keyknox SDK is provided as a package named com.virgilsecurity.keyknox. The package is distributed via Maven repository.

The package is available for:

  • Java 8 and newer
  • Android API 16 and newer

Prerequisites:

  • Java Development Kit (JDK) 8+
  • Gradle 4+

You can easily add SDK dependency to your project, just follow the examples below.

Install SDK Package

Maven

Apache Maven is a software project management and comprehension tool.

To integrate Virgil Keyknox SDK into your Java project using Maven, set up dependencies in your pom.xml:

<dependencies>
    <dependency>
        <groupId>com.virgilsecurity</groupId>
        <artifactId>keyknox</artifactId>
        <version>0.1.0</version>
    </dependency>
</dependencies>

Gradle

Gradle is an open-source build automation system that builds upon the concepts of Apache Ant and Apache Maven and introduces a Groovy-based domain-specific language (DSL) instead of the XML form used by Apache Maven for declaring the project configuration.

Server

To integrate Virgil Keyknox SDK into your Java project using Gradle, set up dependencies in your build.gradle:

dependencies {
    compile 'com.virgilsecurity:keyknox:0.1.0'
}
Android

To integrate Virgil Keyknox SDK into your Android project using Gradle, add jcenter() repository if missing:

repositories {
    jcenter()
}

Set up dependencies in your build.gradle:

dependencies {
    implementation 'com.virgilsecurity.sdk:crypto-android:5.0.4@aar'
    implementation ('com.virgilsecurity:keyknox:0.1.0') {
        exclude group: 'com.virgilsecurity.sdk', module: 'crypto'
    }
}

Configure SDK

To begin using Virgil Keyknox SDK you'll need to initialize SyncKeyStorage class. This class is responsible for synchronization between Keychain and Keyknox Cloud. In order to initialize SyncKeyStorage class you'll need the following values:

  • accessTokenProvider
  • public keys of all devices/users that should have access to data
  • private key of current device/user
  • identity of the user (the device can have different users)
// Setup Access Token provider to provide access token for Virgil services
// Check https://github.com/VirgilSecurity/virgil-sdk-java-android
val accessTokenProvider = ...

// Download public keys of users that should have access to data from Virgil Cards service
// Check https://github.com/VirgilSecurity/virgil-sdk-java-android
val publicKeys = ...

// Load private key from Keychain
val privateKey = ..

val syncKeyStorage = SyncKeyStorage(identity = "Alice", accessTokenProvider = accessTokenProvider,
        publicKeys = publicKeys, privateKey = privateKey)

Docs

Virgil Security has a powerful set of APIs, and the documentation below can get you started today.

License

This library is released under the 3-clause BSD License.

Support

Our developer support team is here to help you. Find out more information on our Help Center.

You can find us on Twitter or send us email [email protected].

Also, get extra help from our support team on Slack.

com.virgilsecurity

Virgil Security, Inc.

Virgil Security, Inc. enables developers to eliminate passwords & encrypt everything, in hours, without having to become security experts.

Versions

Version
0.2.1
0.2.0
0.1.2
0.1.1
0.1.0