Skip to content

Commit a51fa69

Browse files
committed
1 parent 6c598b9 commit a51fa69

12 files changed

Lines changed: 406 additions & 50 deletions

.github/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ This setup assumes two devices (one Android, one Linux).
3434

3535
## Use
3636

37-
1. Linux device: choose a credential type to issue (`https://<IP>:5000/credential_offer_choice`)
37+
1. Linux device: choose a credential type to issue (`https://<IP>:5600/credential_offer_choice`)
3838
and continue to generate a QR code for a credential.
3939

4040
2. Scan the QR code with the Android app. When prompted, use the Form Country (FC).
Lines changed: 290 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,290 @@
1+
# config_issuer_backend.yaml - COMPLETE CONFIGURATION
2+
# ⚠️ IMPORTANT: This file contains SECRETS - DO NOT commit to git!
3+
# Add to .gitignore: config_issuer_backend.yaml, config_issuer_backend.*.yaml
4+
5+
# ============================================================================
6+
# SERVICE CONFIGURATION
7+
# ============================================================================
8+
service_url: "https://snf-74864.ok-kno.grnetcloud.net:5602"
9+
10+
wallet_tester_url: "https://tester.issuer.eudiw.dev"
11+
12+
revocation:
13+
take_url: "https://demo.eudiw.grnet.gr:5603/token_status_list/take"
14+
set_url: https://demo.eudiw.grnet.gr:5603/token_status_list/set
15+
api_key: "secret" # SECRET
16+
enabled: true
17+
18+
# ============================================================================
19+
# FRONTEND CONFIGURATION
20+
# ============================================================================
21+
frontend:
22+
default: "5d725b3c-6d42-448e-8bfd-1eff1fcf152d"
23+
24+
frontends_config:
25+
"5d725b3c-6d42-448e-8bfd-1eff1fcf152d":
26+
url: "https://snf-74864.ok-kno.grnetcloud.net:5602"
27+
metadata_signing_key_path: "/home/ubuntu/eudi-srv-web-issuing-eudiw-py-1.0/snf-74864.ok-kno.grnetcloud.net.key"
28+
metadata_access_certificate_path: "/home/ubuntu/eudi-srv-web-issuing-eudiw-py-1.0/snf-74864.ok-kno.grnetcloud.net.crt"
29+
metadata_signing_key_password: null
30+
31+
# ============================================================================
32+
# ISSUER AUTHORIZATION SERVER CONFIGURATION
33+
# ============================================================================
34+
35+
authorization_server:
36+
base_url: "https://snf-74864.ok-kno.grnetcloud.net:5601"
37+
user_verify_endpoint: "https://snf-74864.ok-kno.grnetcloud.net:5602/oidc/verify/user"
38+
39+
# ============================================================================
40+
# EXTERNAL SERVICES CONFIGURATION
41+
# ============================================================================
42+
#verifier url for oid4vp request generation, available at https://github.com/eu-digital-identity-wallet/eudi-srv-verifier-endpoint
43+
dynamic_presentation_url: "https://demo.eudiw.grnet.gr:4200/ui/presentations"
44+
# at least one of 'intended_use_id' or 'registration_certificate_jwt' must be defined
45+
intended_use_id:
46+
registration_certificate_jwt:
47+
48+
# WUA trust validator url, available at https://github.com/eu-digital-identity-wallet/eudi-srv-trust-validator
49+
trust_validator:
50+
url: "https://trust-validator.eudiw.dev/trust"
51+
enabled: true
52+
53+
status_validator:
54+
url: "https://status-validator.issuer.eudiw.dev/status"
55+
enabled: true
56+
57+
# ============================================================================
58+
# SCHEMA CONFIGURATION
59+
# ============================================================================
60+
oid4vp_scheme: "haip-vp://"
61+
62+
credential_offer_scheme: "haip-vci://"
63+
64+
# ============================================================================
65+
# POSTGRES CONFIGURATION
66+
# ============================================================================
67+
postgres:
68+
host: "localhost"
69+
port: 5433
70+
dbname: "grnet_eudiw_issuer"
71+
user: "issuer_backend"
72+
password: "secret"
73+
74+
# ============================================================================
75+
# LOGGING
76+
# ============================================================================
77+
logging:
78+
backend_path: "/tmp/log_prod/logs.log"
79+
log_level: "INFO"
80+
81+
# ============================================================================
82+
# EXPIRY TIMES (minutes)
83+
# ============================================================================
84+
expiry:
85+
revocation_code: 60
86+
form: 60
87+
session: 60
88+
89+
# ============================================================================
90+
# KEY PATHS
91+
# ============================================================================
92+
keys:
93+
nonce_path: "/home/ubuntu/eudi-srv-web-issuing-eudiw-py-1.0/private_nonce_key.pem" # Private key that signs the nonce at the nonce enpoint.
94+
credential_request_path: "/home/ubuntu/eudi-srv-web-issuing-eudiw-py-1.0/snf-74864.ok-kno.grnetcloud.net.key" # Private key used for credential request encryption. Metadata advertised public key is automatically generated from this private key.
95+
96+
# Path to trusted CA certificates, used to validate VP_Tokens
97+
trusted_CAs_path: "/etc/eudiw/pid-issuer-dev/cert/"
98+
99+
# ============================================================================
100+
# CREDENTIALS AUTHENTICATION METHODS CONFIGURATION
101+
# ============================================================================
102+
credential_auth_methods:
103+
PID_login:
104+
- eu.europa.ec.eudi.pseudonym_over18_mdoc
105+
- eu.europa.ec.eudi.pseudonym_over18_mdoc_deferred_endpoint
106+
- eu.europa.ec.eudi.por_mdoc
107+
- eu.europa.ec.eudi.iban_mdoc
108+
- eu.europa.ec.eudi.hiid_mdoc
109+
- eu.europa.ec.eudi.tax_mdoc
110+
- eu.europa.ec.eudi.msisdn_mdoc
111+
112+
country_selection:
113+
- eu.europa.ec.eudi.loyalty_mdoc
114+
- eu.europa.ec.eudi.mdl_mdoc
115+
- eu.europa.ec.eudi.pid_vc_sd_jwt
116+
- eu.europa.ec.eudi.pid_mdoc
117+
- eu.europa.ec.eudi.pseudonym_over18_mdoc
118+
- eu.europa.ec.eudi.pseudonym_over18_mdoc_deferred_endpoint
119+
- eu.europa.ec.eudi.photoid
120+
- eu.europa.ec.eudi.por_mdoc
121+
- eu.europa.ec.eudi.iban_mdoc
122+
- eu.europa.ec.eudi.hiid_mdoc
123+
- eu.europa.ec.eudi.tax_mdoc
124+
- eu.europa.ec.eudi.msisdn_mdoc
125+
- eu.europa.ec.eudi.ehic_mdoc
126+
- eu.europa.ec.eudi.pda1_mdoc
127+
- eu.europa.ec.eudi.tax_sd_jwt_vc
128+
- eu.europa.ec.eudi.por_sd_jwt_vc
129+
- eu.europa.ec.eudi.msisdn_sd_jwt_vc
130+
- eu.europa.ec.eudi.hiid_sd_jwt_vc
131+
- eu.europa.ec.eudi.iban_sd_jwt_vc
132+
- eu.europa.ec.eudi.pseudonym_over18_sd_jwt_vc
133+
- eu.europa.ec.eudi.cor_mdoc
134+
- eu.europa.ec.eudi.pda1_sd_jwt_vc
135+
- eu.europa.ec.eudi.ehic_sd_jwt_vc
136+
- org.iso.18013.5.1.reservation_mdoc
137+
- eu.europa.ec.eudi.seafarer_mdoc
138+
- eu.europa.ec.eudi.diploma_vc_sd_jwt
139+
- eu.europa.ec.eudi.tax_residency_vc_sd_jwt
140+
- eu.europa.ec.eudi.employee_mdoc
141+
- eu.europa.ec.eudi.pid_mdoc_deferred
142+
- eu.europa.ec.eudi.age_verification_mdoc
143+
- eu.europa.ec.eudi.age_verification_mdoc_passport
144+
- eu.europa.ec.eudi.learning_credential_vc_sd_jwt
145+
146+
# ============================================================================
147+
# COUNTRIES CONFIGURATION
148+
# ============================================================================
149+
150+
# Currently only _default is supported for both keys and custom_modifiers
151+
# Eventually keys will be separated by frontend and custom_modifiers per credential_configuration_id
152+
# Connection types supported: oauth or openid
153+
154+
countries:
155+
EU:
156+
name: "nodeEU"
157+
158+
# Keys and certificates
159+
keys:
160+
_default:
161+
private_key_path: "/home/ubuntu/eudi-srv-web-issuing-eudiw-py-1.0/snf-74864.ok-kno.grnetcloud.net.key"
162+
private_key_password: null
163+
certificate_path: "/home/ubuntu/eudi-srv-web-issuing-eudiw-py-1.0/snf-74864.ok-kno.grnetcloud.net.crt.der"
164+
165+
supported_credential_ids:
166+
- "eu.europa.ec.eudi.pid_mdoc"
167+
- "eu.europa.ec.eudi.pid_vc_sd_jwt"
168+
- "eu.europa.ec.eudi.pid_mdoc_deferred"
169+
170+
custom_modifiers:
171+
_default:
172+
family_name: "CurrentFamilyName"
173+
given_name: "CurrentGivenName"
174+
birth_date: "DateOfBirth"
175+
176+
connection_type: "oauth"
177+
178+
auth:
179+
base_url: "https://eidas.projj.eu"
180+
redirect_uri: "https://backend.issuer.eudiw.dev/dynamic/redirect"
181+
scope: "profile"
182+
response_type: "code"
183+
client_id: "example"
184+
client_secret: "example"
185+
186+
FC:
187+
name: "FormEU"
188+
keys:
189+
_default:
190+
private_key_path: "/home/ubuntu/eudi-srv-web-issuing-eudiw-py-1.0/snf-74864.ok-kno.grnetcloud.net.key"
191+
private_key_password: null
192+
certificate_path: "/home/ubuntu/eudi-srv-web-issuing-eudiw-py-1.0/snf-74864.ok-kno.grnetcloud.net.crt.der"
193+
194+
un_distinguishing_sign: "FC"
195+
196+
supported_credential_ids:
197+
- "eu.europa.ec.eudi.pid_mdoc"
198+
- "eu.europa.ec.eudi.pid_vc_sd_jwt"
199+
- "eu.europa.ec.eudi.mdl_mdoc"
200+
- "eu.europa.ec.eudi.over18_mdoc"
201+
- "eu.europa.ec.eudi.loyalty_mdoc"
202+
- "eu.europa.ec.eudi.photoid"
203+
- "eu.europa.ec.eudi.por_mdoc"
204+
- "eu.europa.ec.eudi.iban_mdoc"
205+
- "eu.europa.ec.eudi.hiid_mdoc"
206+
- "eu.europa.ec.eudi.tax_mdoc"
207+
- "eu.europa.ec.eudi.msisdn_mdoc"
208+
- "eu.europa.ec.eudi.pda1_mdoc"
209+
- "eu.europa.ec.eudi.tax_sd_jwt_vc"
210+
- "eu.europa.ec.eudi.por_sd_jwt_vc"
211+
- "eu.europa.ec.eudi.msisdn_sd_jwt_vc"
212+
- "eu.europa.ec.eudi.hiid_sd_jwt_vc"
213+
- "eu.europa.ec.eudi.iban_sd_jwt_vc"
214+
- "eu.europa.ec.eudi.ehic_mdoc"
215+
- "eu.europa.ec.eudi.cor_mdoc"
216+
- "eu.europa.ec.eudi.ehic_sd_jwt_vc"
217+
- "eu.europa.ec.eudi.pda1_sd_jwt_vc"
218+
- "org.iso.18013.5.1.reservation_mdoc"
219+
- "eu.europa.ec.eudi.seafarer_mdoc"
220+
- "eu.europa.ec.eudi.diploma_vc_sd_jwt"
221+
- "eu.europa.ec.eudi.tax_residency_vc_sd_jwt"
222+
- "eu.europa.ec.eudi.employee_mdoc"
223+
- "eu.europa.ec.eudi.pid_mdoc_deferred"
224+
- "eu.europa.ec.eudi.learning_credential_vc_sd_jwt"
225+
226+
227+
PT:
228+
name: "Portugal"
229+
230+
keys:
231+
_default:
232+
private_key_path: "/home/ubuntu/eudi-srv-web-issuing-eudiw-py-1.0/snf-74864.ok-kno.grnetcloud.net.key"
233+
private_key_password: null
234+
certificate_path: "/home/ubuntu/eudi-srv-web-issuing-eudiw-py-1.0/snf-74864.ok-kno.grnetcloud.net.crt.der"
235+
236+
un_distinguishing_sign: "P"
237+
238+
supported_credential_ids:
239+
- "eu.europa.ec.eudi.pid_mdoc"
240+
- "eu.europa.ec.eudi.pid_vc_sd_jwt"
241+
- "eu.europa.ec.eudi.mdl_mdoc"
242+
- "eu.europa.ec.eudi.pid_mdoc_deferred"
243+
244+
connection_type: "oauth"
245+
246+
custom_modifiers:
247+
_default:
248+
"http://interop.gov.pt/MDC/Cidadao/DataNascimento": "birth_date"
249+
"http://interop.gov.pt/MDC/Cidadao/NomeApelido": "family_name"
250+
"http://interop.gov.pt/MDC/Cidadao/NomeProprio": "given_name"
251+
252+
auth:
253+
base_url: "https://country-connector.ageverification.dev"
254+
redirect_uri: "https://backend.issuer.eudiw.dev/dynamic/redirect"
255+
scope: "profile"
256+
response_type: "code"
257+
client_id: "example"
258+
client_secret: "example"
259+
260+
EE:
261+
name: "Estonia"
262+
263+
keys:
264+
_default:
265+
private_key_path: "/home/ubuntu/eudi-srv-web-issuing-eudiw-py-1.0/snf-74864.ok-kno.grnetcloud.net.key"
266+
private_key_password: null
267+
certificate_path: "/home/ubuntu/eudi-srv-web-issuing-eudiw-py-1.0/snf-74864.ok-kno.grnetcloud.net.crt.der"
268+
269+
supported_credential_ids:
270+
- "eu.europa.ec.eudi.pid_mdoc"
271+
- "eu.europa.ec.eudi.pid_vc_sd_jwt"
272+
273+
connection_type: "openid"
274+
275+
auth:
276+
base_url: "https://tara-test.ria.ee"
277+
redirect_uri: "https://pprpid.provider.eudiw.projj.eu/tara/redirect"
278+
scope: "openid"
279+
response_type: "code"
280+
grant_type: "authorization_code"
281+
client_id: "eu_europa_ec_eudiw_pid_provider_1_ppr"
282+
client_secret: "Basic example=="
283+
authorization_headers: {"Host": "tara-test.ria.ee"}
284+
token_endpoint_headers: {"Host": "tara-test.ria.ee", "Content-Type": "application/x-www-form-urlencoded"}
285+
286+
custom_modifiers:
287+
_default:
288+
family_name: "CurrentFamilyName"
289+
given_name: "CurrentGivenName"
290+
birth_date: "date_of_birth"

app/metadata_config/metadata_config.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
2-
"credential_issuer":"https://dev.issuer.eudiw.dev",
2+
"credential_issuer":"https://snf-74864.ok-kno.grnetcloud.net:5600",
33
"authorization_servers":[
4-
"https://dev.issuer.eudiw.dev/oidc"
4+
"https://snf-74864.ok-kno.grnetcloud.net:5600"
55
],
6-
"credential_endpoint":"https://dev.issuer.eudiw.dev/credential",
7-
"nonce_endpoint":"https://dev.issuer.eudiw.dev/nonce",
8-
"deferred_credential_endpoint":"https://dev.issuer.eudiw.dev/deferred_credential",
9-
"notification_endpoint":"https://dev.issuer.eudiw.dev/notification",
6+
"credential_endpoint":"https://snf-74864.ok-kno.grnetcloud.net:5600/credential",
7+
"nonce_endpoint":"https://snf-74864.ok-kno.grnetcloud.net:5600/nonce",
8+
"deferred_credential_endpoint":"https://snf-74864.ok-kno.grnetcloud.net:5600/deferred_credential",
9+
"notification_endpoint":"https://snf-74864.ok-kno.grnetcloud.net:5600/notification",
1010
"batch_credential_issuance":{
1111
"batch_size":100
1212
},
@@ -54,12 +54,12 @@
5454
"name":"Digital Credentials Issuer",
5555
"locale":"en",
5656
"logo":{
57-
"uri":"https://dev.issuer.eudiw.dev/ic-logo.png",
57+
"uri":"https://snf-74864.ok-kno.grnetcloud.net:5600/ic-logo.png",
5858
"alt_text":"EU Digital Identity Wallet Logo"
5959
}
6060
}
6161
],
6262
"credential_configurations_supported":{
6363

6464
}
65-
}
65+
}
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
{
22
"issuer":
3-
"https://issuer.eudiw.dev",
3+
"https://snf-74864.ok-kno.grnetcloud.net:5600",
44
"authorization_endpoint":
5-
"https://issuer.eudiw.dev/authorizationV3",
5+
"https://snf-74864.ok-kno.grnetcloud.net:5601/authorizationV3",
66
"token_endpoint":
7-
"https://issuer.eudiw.dev/token",
7+
"https://snf-74864.ok-kno.grnetcloud.net:5601/token",
88
"token_endpoint_auth_methods_supported":
99
["public"],
1010
"token_endpoint_auth_signing_alg_values_supported":
1111
["ES256"],
1212
"code_challenge_methods_supported":
1313
["S256"],
1414
"userinfo_endpoint":
15-
"https://issuer.eudiw.dev/userinfo",
15+
"https://snf-74864.ok-kno.grnetcloud.net:5601/userinfo",
1616
"jwks_uri":
17-
"https://issuer.eudiw.dev/static/jwks.json",
17+
"https://snf-74864.ok-kno.grnetcloud.net:5601/static/jwks.json",
1818
"registration_endpoint":
19-
"https://issuer.eudiw.dev/registration",
19+
"https://snf-74864.ok-kno.grnetcloud.net:5601/registration",
2020
"scopes_supported": [
2121
"openid"],
2222
"response_types_supported":
2323
["code"]
2424

25-
}
25+
}

0 commit comments

Comments
 (0)