minor tweaks to code layout
3 files changed
tree: 0f2e081a309238461eced29c527c9af9972c72fa
  1. .dockerignore
  2. .gitignore
  3. Dockerfile
  4. Dockerfile-alpine
  7. README.md
  8. build-static.sh
  9. build.sh
  10. cmd/
  11. go.mod
  12. go.sum
  13. libs/
  14. lint.sh
  15. open-api.yaml
  16. pkg/
  17. plugins/
  18. test.sh

Milagro Distributed Trust Authority


Milagro D-TA is a colaborative key management server

Milagro D-TA facilitates secure and auditable communication between people who to use key pairs (Principal) and service providers who can keep the secret keys safe (Master Fiduciary). It is written in Go and uses REST services based on the GoKit microservices framework, it uses IPFS to create a shared immutable log of transactions and relies on Milagro-Crypto-C for it's crypto.


Milagro D-TA provides a basic set of services for creating identities for actors in the system, and passing encrypted communication between them but it assumes that different service providers will have their own “special sauce” for securely storing secret keys, so the vanilla services can be extended using a plugin framework. Two basic plugins are included in this release to give you an idea of how this can be done.

  1. BitcoinPlugin Generates a Bitcoin address and reveals the corresponding secret key
  2. SafeGuardSecret Encrypts a string and decrypts it again


To see Milagro D-TA in action clone this repo and run the build script. This has currently been tested on Ubuntu (we‘ll make a Mac version shortly. Windows? You’re on your own...)

git clone https://github.com/apache/incubator-milagro-dta.git

cd incubator-milagro-dta


Alternatively you can run Milagro D-TA in a docker container

git clone https://github.com/apache/incubator-milagro-dta.git

cd incubator-milagro-dta

docker build -t mydta .

Running Test



You can find documentation for Milagro D-TA in the main Milagro docs site

Which includes a quick start guide that will show you how to get Milagro D-TA to “do stuff”


Key pairs are becoming central to our online lives, and keeping secret keys safe is a growing industry, we hope to create an ecosystem of custodial service providers who colabroate to make the Internet a safer place for everyone. We are keen to get contributions and feedback from anyone in this space. This is a brand new project so our development processes are still being figured out, but if you have suggestions, questions or wish to make contributions please go ahead raise an issue and someone on the team will get right on it.


Apache License 2.0