Commit 795f0962 authored by Sietse Ringers's avatar Sietse Ringers
Browse files

Update readme and comments

parent 78691bed
......@@ -2,12 +2,11 @@
`irmago` is an IRMA implementation in Go. It contains multiple libraries and applications:
* 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 Go package `irma` contains generic IRMA functionality used by all other components below, 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 [IRMA mobile app](https://github.com/privacybydesign/irma_mobile) uses `irmaclient`.
* The `server` package contains the corresponding IRMA server as a Go library and as an executable.
* The tool `irma` for generating IRMA issuer public/private keypairs, and for verifying and signing [IRMA schemes](https://credentials.github.io/docs/irma.html#scheme-managers).
For example, the [IRMA mobile app](https://github.com/privacybydesign/irma_mobile) uses `irmago`.
## Dependencies
`irmago` uses [`dep`](https://github.com/golang/dep) for its dependencies. After [Installing `dep`](https://golang.github.io/dep/docs/installation.html) if necesssary, run
......
// Package servercore is the core of the IRMA server library, allowing IRMA verifiers, issuers
// or attribute-based signature applications to perform IRMA sessions with irmaclient instances
// (i.e. the IRMA app). It exposes a small interface to expose to other programming languages
// through cgo. It is used by the irmarequestor package but otherwise not meant for use in Go.
// through cgo. It is used by the irmaserver package but otherwise not meant for use in Go.
package servercore
import (
......
......@@ -20,7 +20,7 @@ import (
var Logger *logrus.Logger = logrus.StandardLogger()
// Configuration contains configuration for the irmarequestor library and irmaserver.
// Configuration contains configuration for the irmaserver library and irmad.
type Configuration struct {
// irma_configuration. If not given, this will be popupated using SchemesPath.
IrmaConfiguration *irma.Configuration `json:"-"`
......
// Executable for the irmad.
package cmd
import (
......
......@@ -53,7 +53,7 @@ func (s *Server) StartSession(request interface{}, handler SessionHandler) (*irm
// with IRMA apps.
//
// Example usage:
// http.HandleFunc("/irma/", irmarequestor.HandlerFunc())
// http.HandleFunc("/irma/", irmaserver.HandlerFunc())
//
// The IRMA app can then perform IRMA sessions at https://example.com/irma.
func (s *Server) HandlerFunc() http.HandlerFunc {
......
Markdown is supported
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