+
Skip to content

android-password-store/kage

Repository files navigation

kage Maven Central

The age logo, an wireframe of St. Peters dome in Rome, with the text: age, file encryption

kage is an implementation of the age encryption protocol for Kotlin/JVM and Android. The reference Go implementation and the third-party Rust implementation are being used as reference for the development of the library. The public APIs provided by the library correspond to the v1.2.0 release of age. If you find something missing, please file an issue.

The minimum supported Android version is API 26, and the minimum supported Java version is 11.

Download

The library is available on Maven Central. Despite the 0.x versioning, we aim to make no further breaking changes to the kage APIs, and it will be incremented to 1.0.0 soon and follow strict Semantic Versioning going forward.

// build.gradle.kts
dependencies {
  implementation("com.github.android-password-store:kage:0.3.0")
}

Builds from the development branch can be obtained from Sonatype's snapshots repository.

// settings.gradle.kts
dependencyResolutionManagement {
  repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
  repositories {
    exclusiveContent {
      forRepository { maven("https://oss.sonatype.org/content/repositories/snapshots") }
      filter { includeModule("com.github.android-password-store", "kage") }
    }
  }
}
// build.gradle.kts
dependencies {
  implementation("com.github.android-password-store:kage:0.4.0-SNAPSHOT")
}

Goals

  • Provide a library that can generate and parse age keys, as well as encrypt or decrypt bytes using said keys.
  • Achieve parity with the reference Go implementation: everything that can be done with the age library should also be possible with the kage APIs

The current completion status can be tracked through this MVP checklist

Non-goals

These can evolve over time, but for now the following are non-goals for our work on kage.

  • Offer a user interface of any kind (CLI/GUI): The kage project intends to only be a library for other applications to build on
  • Support plugins: The upstream implementation of plugins relies on binaries in $PATH, which is impractical for mobile.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

Kotlin implementation of the age file encryption format

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Contributors 5

Languages

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载