ZKMA

Zion Key Management Api

OTHER License

Stars
37
Committers
1

Zion Key Management API

ZKMA (Zion Key Management API) is a library which provides a way for developers to manage seed security built into HTC EXODUS devices, which integrates Zion protection. All secure operations (input pin, display seed, sign transaction…) will be performed by the trusted OS and no secure data exposed to the rest of Android.

All details at https://github.com/htczion/ZKMA/wiki

Support coin types:

  • BTC
  • BCH
  • BNB
  • ETH
  • LTC

Change List:

For HW wallet, SDK will check the compatibility between ROM,SDK and TrustZone. About the details of version number, you can find at section Compatibility.

ZKMS ver: 3.3.0:

  • 3.4.6 Support BNB

  • 3.4.0 Support BCH

  • 3.3.1 Added getAccountExtPublicKey and getBipExtPublicKey APIs for ZKMS

ZKMS ver: 2.0.0:

  • 3.2.2 Update strings.xml for multi-lang

  • 3.2.1 Removed the conflicted res

  • 3.2.0 Open source on GitHub

  • 3.1.2 Support readTzDataSet/writeTzDataSet error handling

  • 3.1.1 Add readTzDataSet/writeTzDataSet APIs

  • 3.1.0 Add permission check for exported APIs.

  • 3.0.5 Support readTzDataSet and writeTzDataSet

  • 3.0.2 show error prompt in same thread

  • 3.0.1 print stacktrace instead of exception

  • 3.0.0 Upload to GitHub

  • 2.2.2 (0.0005.01000038) update for social key TEE

  • 2.2.0 ZKMALog instead of Log TEEKHelper support readTzDataSet/writeTzDataSet/setKeyboardType/changePIN_v2

  • 2.1.1 Remove SW wallet ByteArrayHolder will auto adjust output size(MAX=16KB) if input size(2KB) is not enough.

  • 2.0.1 (0.0005.01000031) ignore E_TEEKM_VC_CANCEL and E_TEEKM_VC_TIMEOUT

  • 2.0.0 , ZKMS_ver= 2.0.0 start to support ZKMS

Not support ZKMS:

  • 1.4.1 remove PII add dummy SW security for social key

  • 1.4.0 remove SW wallet support signMultipleTransaction

  • 1.3.0 support troubleshooting dialog with multi-lang

  • 1.2.9 all error dialog applied Zion default background

  • 1.2.8 fix show err dialog crash App at API27:Only fullscreen opaque activities can request orientation.

  • 1.2.7 (0.0005.01000017) limit SDK run on ROM 1.55

  • 1.2.6 ignore E_TEEKM_CLIENT_SCREEN_OFF and E_TEEKM_CLIENT_TOUCH error case Added the custom error message dialog support getPartialSeed_v2 and combineSeeds_v2

  • 1.2.5 (0.0005.01000011) support signMessage for ETH

  • 1.2.4 fix UI error ITS#197

  • 1.2.3 (0.0005.0100000e) Add setEnvironment support Notify for UI events Notify TryTooOften events for APP check

  • 1.2.2 ignore -907 and -927 Enable setSdkProtectorListener

  • 1.2.1 (0.0004.01000006) TZ Basic error code base from 0 to 300 error dialog bypass E_TEEKM_UI_REJECT

  • 1.2.0 (0.0004.01010005) add seed_index param to enterVerificationCode show error code UI prompt dialog if HW wallet error dialog supported multi-lang register API can return error code try-catch protect service API for compatible mode fix bugs

  • 1.1.3 Remove error code UI prompt dialog whatever SW or HW wallet

  • 1.1.2 Remove error code UI prompt dialog if SW wallet

  • 1.1.1 Disable SDK proguard since SW wallet init got an exception.

  • 1.1.0 (0.0003.01010001) Add following APIs showVerificationCode enterVerificationCode getEncAddr getPartialSeedv2 combineSeedsv2 changePIN(4) setERC20BGColor getTZIDHash b. Any error code will show error dialog. c. AAR proguard

  • 1.0.1 (0.0001.01000000) a. Add following APIs getInstance init getModuleVersion getApiVersion register getSendPublicKey getSendPublicKey with idx getSendReceiveKey getSendReceiveKey with idx isSeedExists createSeed clearSeed showSeed restoreSeed signTransaction isRooted unregister deinit getPartialSeed getPartialSeed with RESULT combineSeeds changePIN(1,2,3) b. Try too often will show block UI activity.

Badges
Extracted from project README
Build Status
Related Projects