-
Notifications
You must be signed in to change notification settings - Fork 5
/
params.json
1 lines (1 loc) · 4.43 KB
/
params.json
1
{"name":"I Reveal My Attributes","tagline":"IRMA: Development & Engineering","body":"### Welcome to IRMA's Development & Engineering headquarters\r\nThis is the place to find out more about the code that actually drives the IRMA project.\r\n\r\nThis page has just been created and will be under development for some time. In the end it will contain a guide/manual for developers to develop new IRMA applications/services or to integrate IRMA support into existing applications and services.\r\n\r\n## Credentials API\r\nTo start we need to create a working directory (replace `<workdir>` with a name of your choice).\r\n```\r\n$ mkdir <workdir>\r\n$ cd <workdir>\r\n```\r\nWithin this working directory we will check out the various projects and set up the IRMA development environment. Most of the projects provide both Eclipse project files as well as Ant build files. The eclipse project files are usually located in the `dev/eclipse` directory, so they should be copied to the project root before use. When using the Ant build file, running the `ant` command, will produce three `.jar` files:\r\n - `<projectname>.lib.jar` or `<projectname>.app.jar`: The binaries of the library or application. Applications can be run using the `java -jar <projectname>.app.jar` command.\r\n - `<projectname>.src.jar`: The sources of the project combined into a single archive.\r\n - `<projectname>.dev.jar`: A combination of the above, which is convenient for developers.\r\n\r\n#### SCUBA\r\nFor the communication with the IRMA card we use the [SCUBA library] (http://scuba.sf.net) to provide a layer of abstraction.\r\n```\r\n$ git clone https://github.com/credentials/scuba.git\r\n$ cd scuba\r\n$ ant\r\n$ cd ..\r\n```\r\n\r\n#### Idemix\r\n```\r\n$ git clone https://github.com/credentials/idemix_library.git\r\n$ git clone https://github.com/credentials/idemix_terminal.git\r\n```\r\nThe next step is to prepare these sources. For this we first need to [download the Idemix 2.3.4 sources](https://prime.inf.tu-dresden.de/idemix/) from IBM and store them in the idemix_library created by the clone command. These sources need to be patched, hence the additional `ant prepare` command. Note: Idemix 2.3.40 and newer are not supported.\r\n```\r\n$ cd idemix_library\r\n$ ant prepare; ant\r\n$ cd ..\r\n```\r\n\r\n```\r\n$ cd idemix_terminal/lib\r\n$ ln -s ../../scuba/scuba.dev.jar\r\n$ ln -s ../../idemix_library/idemix_library.dev.jar\r\n$ cd ..\r\n$ ant\r\n$ cp dev/eclipse/.project dev/eclipse/.classpath .\r\n$ cd ..\r\n```\r\n\r\n#### IRMA\r\n```\r\n$ git clone https://github.com/credentials/irma_configuration.git\r\n$ git clone https://github.com/credentials/credentials_api.git\r\n$ git clone https://github.com/credentials/credentials_idemix.git\r\n```\r\nThe `irma_configuration` project contains the data structure used within the IRMA project by the credentials API. The actual API consists of two projects, `credentials_api` which contains the generic code and `credentials_idemix` which contains the Idemix specific instantiations of the API.\r\n```\r\n$ cd credentials_api/lib\r\n$ ln -s ../../scuba/scuba.dev.jar\r\n$ cd ..\r\n$ ant\r\n$ cp dev/eclipse/.project dev/eclipse/.classpath .\r\n$ cd ..\r\n```\r\n\r\n```\r\n$ cd credentials_idemix/lib\r\n$ ln -s ../../scuba/scuba.dev.jar\r\n$ ln -s ../../idemix_library/idemix_library.dev.jar\r\n$ ln -s ../../idemix_terminal/idemix_terminal.dev.jar\r\n$ ln -s ../../credentials_api/credentials_api.dev.jar\r\n$ cd ..\r\n$ ant\r\n$ cp dev/eclipse/.project dev/eclipse/.classpath .\r\n$ ln -s ../irma_configuration\r\n$ cd ..\r\n```\r\n\r\n## Developing an IRMA application\r\n\r\nNow you can start developing your own IRMA application. The easiest for this is to create your own project directory `<project>` within the `<workdir>`. Within this directory add all relevant libraries and add the IRMA configuration such that the Credentials API can find it.\r\n```\r\n$ mkdir <project>\r\n$ cd <project>\r\n$ ln -s ../irma_configuration\r\n$ mkdir lib; cd lib\r\n$ ln -s ../../scuba/scuba.dev.jar\r\n$ ln -s ../../idemix_library/idemix_library.dev.jar\r\n$ ln -s ../../idemix_terminal/idemix_terminal.dev.jar\r\n$ ln -s ../../credentials_api/credentials_api.dev.jar\r\n$ ln -s ../../credentials_idemix/credentials_idemix.dev.jar\r\n```\r\n\r\n### Support or Contact\r\nHaving trouble with the Credentials API or IRMA development? Contact [email protected] and we’ll help you sort it out.","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."}