Generate documentation for the IRMA scheme manager. You can browse a live version over here.
Dependencies:
- git (to clone the scheme managers)
- Python 3
- Jinja2 (Debian package:
python3-jinja2
) - yarn
Before generating content, download the scheme managers by running download_repos.py
.
To add a scheme, configure the schemes config in config.json
.
To generate the HTML for the attribute index, run the script:
python3 update.py
If you want to have an up-to-date attribute index, it is recommended to update the scheme managers regularly and run the update script afterwards.
To generate the JavaScript handling issuance sessions of demo credentials, run:
yarn
yarn run build
To build and run the Docker container, build and run the docker image via the following:
docker build -t attribute-index .
docker run -p 80:80 attribute-index
Currently, scheme managers are considered trusted. Generating an attribute index for an untrusted scheme manager has at least the following problems at the moment:
- URLs are not validated yet. They could start with
javascript:
, leading to XSS. - XML parsers are by default often vulnerable to security problems like the "billion laughs" attack, which causes enormous amounts of RAM to be used by the script. This is likely the case for the update script as well.
So, before an attribute index can be generated from untrusted scheme managers, these problems (and possibly others) need to be fixed first.