Commit ea79ef72 authored by Sietse Ringers's avatar Sietse Ringers
Browse files

Update README.md

parent 27b0921a
irmago
======
# irmago
**DO NOT USE!** This library is in heavy development and is in constant flux. It is not ready for use.
`irmago` is an IRMA implementation in Go. It contains multiple libraries and applications:
Irmago is an IRMA client in Go: it can receive IRMA attributes, store them, disclose them to others, and use them to create attribute-based signatures. In more detail:
* It is the client (like the [IRMA Android app](https://github.com/credentials/irma_android_cardemu)) in the [IRMA protocol](https://credentials.github.io/protocols/irma-protocol/)
* It parses [credential and issuer definitions and public keys](https://github.com/credentials/irma_configuration)
* It also implements the [keyshare protocol](https://github.com/credentials/irma_keyshare_server) and handles registering to keyshare servers.
* The Go package `irma` contains generic IRMA functionality such as parsing [credential and issuer definitions and public keys](https://github.com/privacybydesign/irma-demo-schememanager), parsing [IRMA metadata attributes](https://credentials.github.io/docs/irma.html#the-metadata-attribute), and structs representing messages of the [IRMA protocol](https://credentials.github.io/protocols/irma-protocol/).
* The Go package `irmaclient` is a library that serves as the client in the IRMA protocol; it can receive and disclose IRMA attributes and store and read them from storage. It also implements the [keyshare protocol](https://github.com/privacybydesign/irma_keyshare_server) and handles registering to keyshare servers.
* The tool `schememgr` manages signatures on IRMA [scheme managers](https://credentials.github.io/docs/irma.html#scheme-managers): it can generate public-private keypairs for signing their directory structures, as well as creating and verifying these signatures.
For example, the [IRMA mobile app](https://github.com/privacybydesign/irma_mobile) uses `irmago`.
## Running the unit tests
......@@ -16,7 +14,7 @@ For running the unit tests, you need to run [irma_keyshare_server](https://githu
### IRMA Keyshare Server
- Copy the `irma_configuration` folder from `testdata/` to the configuration of the Keyshare server.
- Copy or symlink the `irma_configuration` folder from `testdata/` to the configuration of the Keyshare server.
- Note that a `gradle appRun` won't automatically use the new `irma_configuration` folder if it was already built with an old one. For this, use `gradle clean`.
- Add the keyshare user used in the unit tests to the keyshare database by a command like this:
......@@ -25,12 +23,12 @@ For running the unit tests, you need to run [irma_keyshare_server](https://githu
- Make sure `check_user_enabled` is set to false in the Keyshare server configuration. Other options are already setup correctly in the example configuration.
### IRMA Api Server
- Copy the `irma_configuration` folder from `testdata/` to the configuration of the IRMA api server.
### IRMA API Server
- Copy or symlink the `irma_configuration` folder from `testdata/` to the configuration of the IRMA api server.
- Note that a `gradle appRun` won't automatically use the new `irma_configuration` folder if it was already built with an old one. For this, use `gradle clean`.
## Running the tests
### Running the tests
The tests can be run by using:
go test
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment