TEE Key Store and Credential Provisioning System
This project defines SKS (Secure Key Store) which can hold X.509 certificates
and symmetric keys as well as associated attributes such as logotypes, key ACLs and URLs:
https://cyberphone.github.io/doc/security/sks-api-arch.pdf
The project also defines KeyGen2 which is a credential provisioning and management system
for SKS:
https://cyberphone.github.io/doc/security/keygen2.html
The JSON library supports a clear text signature system called JSF:
https://cyberphone.github.io/doc/security/jsf.html
as well as a "matching" encryption scheme coined JEF:
https://cyberphone.github.io/doc/security/jef.html
The CBOR library also supports signatures and encryption:
https://cyberphone.github.io/javaapi/org/webpki/cbor/package-summary.html
- Java SDK Version 17 or later
- Ant 1.10.8 or later
- The projects are being developed using Eclipse but there's no dependence on Eclipse.
Currently only the "library" project is suitable for public use. To create the openkeystore library, perform the following steps:
$ cd library
$ ant build
It is recommendable running the following JUnit tests as well:
$ ant testsks
$ ant testkeygen2
$ ant testjson
$ ant testcbor
Now you should have a file library/dist/webpki.org-libext-1.00.jar
which
implements the API described in https://cyberphone.github.io/javaapi/overview-summary.html.
There also is an Android proof-of-concept implementation which allows you to test provisioning
and then using provisioned keys for authentication:
https://play.google.com/store/apps/details?id=org.webpki.mobile.android
To create a source distribution for Android perform:
$ cd library
$ ant android-json
Now you should have a file library/dist/android.json.zip
which can be imported in an Android project.
An Android demo/test project is available at:
https://github.com/cyberphone/android-json
To create a source distribution for Android perform:
$ cd library
$ ant android-cbor
Now you should have a file library/dist/android.cbor.zip
which can be imported in an Android project.
An Android demo/test project is available at:
https://github.com/cyberphone/android-cbor