All Projects → leonardoxh → keystore-ultimate

leonardoxh / keystore-ultimate

Licence: Apache-2.0 license
The ultimate solution for keystore manipulation in Android

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to keystore-ultimate

Aegis
A free, secure and open source app for Android to manage your 2-step verification tokens.
Stars: ✭ 2,692 (+8873.33%)
Mutual labels:  secure
Applocker
AppLocker - simple lock screen for iOS Application ( Swift 4+, iOS 9.0+) Touch ID / Face ID
Stars: ✭ 188 (+526.67%)
Mutual labels:  secure
Web
A free, open-source, and completely encrypted notes app. https://standardnotes.com
Stars: ✭ 3,061 (+10103.33%)
Mutual labels:  secure
Free Email Forwarding
The best free email forwarding for custom domains. Visit our website to get started (SMTP server)
Stars: ✭ 2,024 (+6646.67%)
Mutual labels:  secure
Antiddos System
🛡️⚔️ Protect your web app from DDOS attack or the Dead Ping + CAPTCHA VERIFICATION in one line!
Stars: ✭ 173 (+476.67%)
Mutual labels:  secure
Cms
GleezCMS - A Light, Simple, Flexible Content Management System
Stars: ✭ 200 (+566.67%)
Mutual labels:  secure
Standardnotes Fs
Mount your Standard Notes as a filesystem.
Stars: ✭ 133 (+343.33%)
Mutual labels:  secure
GenuineChannels
Collection of custom .NET Remoting channels
Stars: ✭ 29 (-3.33%)
Mutual labels:  secure
Sec Interview
信息安全面试题汇总
Stars: ✭ 177 (+490%)
Mutual labels:  secure
Jackline
minimalistic secure XMPP client in OCaml
Stars: ✭ 236 (+686.67%)
Mutual labels:  secure
Sum
SUM - Secure Ultimate Messenger
Stars: ✭ 154 (+413.33%)
Mutual labels:  secure
Msquic
Cross-platform, C implementation of the IETF QUIC protocol.
Stars: ✭ 2,501 (+8236.67%)
Mutual labels:  secure
Adamant Im
ADAMANT Decentralized Messenger. Progressive Web Application (PWA)
Stars: ✭ 202 (+573.33%)
Mutual labels:  secure
Zom Android Xmpp
THIS PROJECT IS NOW CLOSED. WE HAVE MOVED TO A NEW ZOM 2.0 MATRIX CORE. FOLLOW THE LINK!
Stars: ✭ 148 (+393.33%)
Mutual labels:  secure
2ami
Your easy 2FA companion that keep the secrets secret.
Stars: ✭ 24 (-20%)
Mutual labels:  secure
Php Login System
Embeddable and Secure PHP Authentication System with Login, Signup, User Profiles, Profile Editing, Account Verification via Email, Password Reset System, Remember-Me Feature and more.
Stars: ✭ 135 (+350%)
Mutual labels:  secure
Secure Wireguard Implementation
A guide on implementing a secure Wireguard server on OVH (or any other Debian VPS) with DNSCrypt, Port Knocking & an SSH-Honeypot
Stars: ✭ 200 (+566.67%)
Mutual labels:  secure
secure-media
Store private media securely in WordPress.
Stars: ✭ 22 (-26.67%)
Mutual labels:  secure
koa-plus
The Koa framework extended for APIs. Optimized for security, scalability, and productivity.
Stars: ✭ 17 (-43.33%)
Mutual labels:  secure
Secbox
🖤 网络安全与渗透测试工具导航
Stars: ✭ 222 (+640%)
Mutual labels:  secure

Android Arsenal

Keystore Ultimate

The ultimate solution for keystore manipulation in Android

Tired of deal with Android keystore? A lot of code ever? This library is for you

This library is tiny (no dependencies) just to small implementations to store/retrieve keystore values it automatically deals with old Android keystore implementation (pre api 23) and newer Android keystore

Usage:

//Just get a instance of the CipherStorage
CipherStorage cipherStorage = CipherStorageFactory.newInstance(context);
//Then you can use the encrypt and decrypt method

Gradle dependency:

implementation 'com.github.leonardoxh:keystore-ultimate:1.3.0'

...Unit tests?

  • I care a lot about unit tests, and since this library touch on the Android Keystore making it almost impossible to test, but, I said "almost" that's why I provide another library just for tests, if you wanna use mockito when...then it's fine but I think this is not your responsability so just add this into your test implementation and that's it, the CipherStorageFactory will return a in memory implementation just for tests you don't need change anything on your source code:
testImplementation 'com.github.leonardoxh:keystore-ultimate-test:1.3.0'

Where the encrypted values are stored?

  • By default the encrypted values are stored in an android shared preferences, but you can always pass your own implementation of the Storage interface and store it where you want, on a SQLite for example.

Library usage?

  • Did you use this library? Please notify me via email [email protected] I would love to receive feedbacks and see if this library is used in some project and if it's helping somehow.

Inspiration:

Limitations:

  • On Api level 22 and bellow your alias for key should not contain more than 256 bytes otherwise we can't save the the value due a limitation on the Android Keystore

Special thanks:

  • Zularizal for this amazing library logo and sample icons

LICENSE:

Copyright 2018 Leonardo Rossetto

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].