Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/android-password-store/kage
🚧 WIP Kotlin implementation of the age file encryption format
https://github.com/android-password-store/kage
age hacktoberfest kotlin
Last synced: 3 months ago
JSON representation
🚧 WIP Kotlin implementation of the age file encryption format
- Host: GitHub
- URL: https://github.com/android-password-store/kage
- Owner: android-password-store
- License: apache-2.0
- Created: 2021-08-23T09:12:20.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-08-02T17:27:41.000Z (3 months ago)
- Last Synced: 2024-08-02T20:06:07.260Z (3 months ago)
- Topics: age, hacktoberfest, kotlin
- Language: Kotlin
- Homepage: https://age-encryption.org/v1
- Size: 1.71 MB
- Stars: 56
- Watchers: 5
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
- Authors: AUTHORS
Awesome Lists containing this project
- awesome-age - kage - in-progress implementation for Kotlin/JVM and Android. (Implementations)
README
# 🚧 kage 🚧 ![Maven Central](https://img.shields.io/maven-central/v/com.github.android-password-store/kage?style=flat-square&label=Latest%20version)
kage is a work-in-progress 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.
## Download
An initial alpha release is available on [Maven Central]
```kotlin
// build.gradle.kts
dependencies {
implementation("com.github.android-password-store:kage:0.1.0")
}
```Builds from the development branch can be obtained from [Sonatype's snapshots repository].
```kotlin
// 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") }
}
}
}
``````kotlin
// build.gradle.kts
dependencies {
implementation("com.github.android-password-store:kage:0.2.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` APIsThe current completion status can be tracked through [this MVP checklist](https://github.com/android-password-store/kage/issues/15)
## 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](https://github.com/FiloSottile/age/discussions/365#discussioncomment-1711442).## License
Licensed under either of
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or
http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)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.[age encryption protocol]: https://age-encryption.org/v1
[reference go implementation]: https://github.com/FiloSottile/age
[rust implementation]: https://github.com/str4d/rage
[sonatype's snapshots repository]: https://oss.sonatype.org/content/repositories/snapshots
[maven central]: https://central.sonatype.com/