control (3990B)
1 Source: kych 2 Section: net 3 Priority: optional 4 Maintainer: Taler Systems SA <deb@taler.net> 5 Uploaders: Christian Grothoff <grothoff@gnu.org> 6 Rules-Requires-Root: no 7 Build-Depends: 8 debhelper-compat (= 13), 9 cargo, 10 # The crate is edition 2024, which needs rustc 1.85 or newer. Trixie ships 11 # 1.85, so no backport is required. 12 rustc (>= 1.85), 13 # reqwest is built with its default TLS backend (native-tls -> openssl-sys). 14 pkg-config, 15 libssl-dev, 16 # Builds the man pages from documentation/taler-docs/manpages/ using the 17 # minimal configuration in documentation/sphinx-man/. No Sphinx extensions 18 # are needed; keep it that way. 19 python3-sphinx, 20 # For the swiyu-verifier package: the SWIYU Generic Verifier in 21 # swiyu-verifier/upstream/ is a Spring Boot application, built for Java 25 22 # since its 5.0.0 release. Trixie has the JDK; the pom's wrapper would pin 23 # Maven 3.10.0, but the build is fine with the 3.9.9 the distribution ships, 24 # which is preferred over letting the wrapper download one. 25 maven, 26 openjdk-25-jdk-headless 27 Standards-Version: 4.7.2 28 Vcs-Git: https://git.taler.net/kych.git 29 Homepage: https://taler.net/ 30 31 Package: kych 32 Architecture: any 33 Depends: 34 ${misc:Depends}, 35 ${shlibs:Depends}, 36 # kych-dbconfig needs createdb/createuser/psql, and so does the postinst to 37 # find out whether there is a database to upgrade at all. 38 postgresql-client, 39 adduser 40 Recommends: 41 nginx | apache2 | httpd, 42 postgresql (>= 14.0), 43 swiyu-verifier 44 Description: OAuth 2.0 gateway for SWIYU identity verification 45 KyCH bridges OAuth 2.0 clients -- primarily a GNU Taler exchange performing 46 KYC -- to the Swiss SWIYU e-ID trust infrastructure. The client speaks a 47 plain OAuth 2.0 authorization code flow, while KyCH speaks OpenID4VP to a 48 SWIYU verifier, so that the user's SWIYU wallet presents an SD-JWT verifiable 49 credential with selective disclosure. The OAuth 2.0 scope names the 50 credential claims to be disclosed. 51 . 52 This package provides the gateway daemon, its systemd unit, the database 53 schema with the kych-dbconfig and kych-dbinit tools that create and migrate 54 it, and kych-client-management for registering OAuth 2.0 clients. 55 . 56 The SWIYU verifier that the gateway speaks OpenID4VP to is packaged 57 separately as swiyu-verifier; it can equally well be operated on another 58 host, or by somebody else entirely. 59 60 Package: swiyu-verifier 61 Architecture: all 62 Depends: 63 ${misc:Depends}, 64 # The jar is built for Java 25, which is what its 5.0.0 release moved to; 65 # an older runtime cannot load it. 66 openjdk-25-jre-headless | java25-runtime, 67 postgresql-client, 68 adduser 69 Recommends: 70 nginx | apache2 | httpd, 71 postgresql (>= 14.0) 72 Suggests: 73 kych 74 Description: SWIYU Generic Verifier for e-ID credential verification 75 The SWIYU Generic Verifier is the service that performs the actual 76 verification of a credential presented by a SWIYU wallet: it publishes the 77 OpenID4VP endpoints the wallet talks to, checks the presented SD-JWT 78 verifiable credential against the issuer's key from the Swiss Base Registry 79 and its revocation status from the Status Registry, and reports the result to 80 the business application that asked for the verification -- KyCH, in this 81 case. 82 . 83 It exposes two interfaces that belong on different sides of a firewall: the 84 OID4VP interface, which wallets must reach over HTTPS with a publicly 85 trusted certificate, and the management interface under /management/api/, 86 which must not be reachable from outside the organisation. 87 . 88 This package builds the upstream Spring Boot application maintained by the 89 Swiss Confederation (https://github.com/swiyu-admin-ch/swiyu-verifier), 90 pinned to a release in the swiyu-verifier/upstream/ submodule of the KyCH 91 source package, and adds a systemd unit, a configuration under 92 /etc/swiyu-verifier and swiyu-verifier-dbconfig for the database. 93 . 94 Operating a verifier requires onboarding to the SWIYU trust infrastructure 95 first: the service needs its own DID and signing key before it can serve a 96 single verification.