Skip to content

Commit e58ad09

Browse files
author
Giuseppe De Marco
authored
Terminology and sphinx template (italia#368)
* fix!: alignments according to breaking changes introduced by openid4vci I-D * editorials about IT-Wallet and introductions * sphix update and piccolo theme, docs italia removed * terminology and sphinx template * fix: CI with py38 * fix: it sphinx conf
1 parent 82c2836 commit e58ad09

13 files changed

+163
-69
lines changed

.github/workflows/ci-html.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343

4444
- uses: actions/setup-python@v2
4545
with:
46-
python-version: '3.8' # Version range or exact version of a Python version to use, using SemVer's version range syntax
46+
python-version: '3.10' # Version range or exact version of a Python version to use, using SemVer's version range syntax
4747
architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified
4848

4949
# Runs a single command using the runners shell

.github/workflows/gh-pages.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444

4545
- uses: actions/setup-python@v2
4646
with:
47-
python-version: "3.8" # Version range or exact version of a Python version to use, using SemVer's version range syntax
47+
python-version: "3.10" # Version range or exact version of a Python version to use, using SemVer's version range syntax
4848
architecture: "x64" # optional x64 or x86. Defaults to x64 if not specified
4949

5050
- name: Install deps

.github/workflows/latex.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727

2828
- uses: actions/setup-python@v2
2929
with:
30-
python-version: '3.8' # Version range or exact version of a Python version to use, using SemVer's version range syntax
30+
python-version: '3.10' # Version range or exact version of a Python version to use, using SemVer's version range syntax
3131
architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified
3232

3333
# TODO: temporary disabled

README.md

-4
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,6 @@ HTML
6262
````
6363
pip install -r requirements.txt
6464
65-
# italian version
66-
sphinx-build -b html -d html/it/doctrees docs/it/ html/it
67-
68-
# english version
6965
sphinx-build -b html -d html/en/doctrees docs/en/ html/en
7066
````
7167

docs/en/conf.py

+5-6
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
# -- No need to change below here
1414

1515
import sys, os
16-
docs_italia_theme = __import__("docs_italia_theme")
1716
from recommonmark.transform import AutoStructify
1817
from recommonmark.parser import CommonMarkParser
1918

@@ -48,7 +47,6 @@
4847
'sphinx.ext.todo',
4948
'sphinx.ext.coverage',
5049
'sphinx.ext.ifconfig',
51-
'docs_italia_theme',
5250
'sphinx.ext.autosectionlabel',
5351
]
5452

@@ -112,9 +110,9 @@ def setup(app):
112110

113111

114112
# -- Options for HTML output ----------------------------------------------
115-
html_theme = 'docs-italia-theme'
113+
html_theme = 'piccolo_theme'
116114

117-
html_theme_path = [docs_italia_theme.get_html_theme_path()]
115+
# html_theme_path = [docs_italia_theme.get_html_theme_path()]
118116

119117
# Theme options are theme-specific and customize the look and feel of a theme
120118
# further. For a list of options available for each theme, see the
@@ -131,8 +129,9 @@ def setup(app):
131129
on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
132130

133131
if not on_rtd: # only import and set the theme if we're building docs locally
134-
html_theme_path = [docs_italia_theme.get_html_theme_path()]
135-
html_theme = 'docs_italia_theme'
132+
# html_theme_path = [docs_italia_theme.get_html_theme_path()]
133+
# html_theme = 'docs_italia_theme'
134+
pass
136135
else:
137136
# Override default css to get a larger width for ReadTheDoc build
138137
html_context = {

docs/en/contribute.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
How to contribute
66
+++++++++++++++++++++++++++
77

8-
The IT Wallet project, including this document, follows an **open development process**. This approach ensures the development process is accessible to all, inviting all interested parties to participate.
8+
The IT-Wallet project, including this document, follows an **open development process**. This approach ensures the development process is accessible to all, inviting all interested parties to participate.
99

1010
Consequently, stakeholders, national and international community members are not only encouraged but also heartily welcomed to contribute to the refinement of these technical rules.
1111

docs/en/defined-terms.rst

+109-15
Large diffs are not rendered by default.

docs/en/index.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ Introduction
99

1010
The European Parliament `has adopted <https://www.europarl.europa.eu/doceo/document/A-9-2023-0038_EN.html#_section1>`_ the revision of the eIDAS Regulation concerning electronic identification and trust services, introducing a significant innovation: the `European Digital Identity Wallet <https://commission.europa.eu/strategy-and-policy/priorities-2019-2024/europe-fit-digital-age/european-digital-identity_en>`_. This update marks a pivotal advancement in the EU's digital strategy, aiming to enhance the security, interoperability, and usability of digital identities across Member States. For further details, resources, and notes on this legislative development, please refer to the official EU Commission and Parliament websites.
1111

12-
Italy has launched the National digital identity Wallet solution, known as IT Wallet, in direct response to the European community's directives. This initiative ensures full interoperability with the digital identity solutions provided by other European Member States, aligning completely with European regulations.
12+
Italy has launched the National digital identity Wallet solution, known as IT-Wallet, established by the Legislative Decree of March 2, 2024, No. 19 (commonly referred to as the PNRR Decree)., in direct response to the European community's directives. This initiative ensures full interoperability with the digital identity solutions provided by other European Member States, aligning with European regulations.
1313

14-
The purpose of the following technical rules is to define the technical architecture and reference framework to be used as a guideline by all the parties involved in the development of the IT Wallet project.
14+
The purpose of the following technical rules is to define the technical architecture and reference framework to be used as a guideline by all the parties involved in the development of the IT-Wallet project.
1515

16-
This documentation defines the national implementation profile of EUDI Wallet, containing the technical details about components of the Wallet ecosystem, as listed below:
16+
This documentation defines the national implementation profile of IT-Wallet, containing the technical details about components of the Wallet ecosystem, as listed below:
1717

1818
- Entities of the ecosystem according to `EIDAS-ARF`_.
1919
- Infrastructure of trust attesting realiability and eligibility of the participants.

docs/en/trust.rst

+7-7
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ The Infrastructure of trust facilitates the application of a trust assessment me
1717

1818
The roles within the Federation, where the Trust Anchor oversees its subordinates,
1919
which include one or more Intermediates and Leaves. In this
20-
representation, both the Trust Anchor and the Intermediates MAY assume the role of Accreditation Body.
20+
representation, both the Trust Anchor and the Intermediates assume the role of Registration Authority.
2121

2222
Federation Roles
2323
------------------
2424

25-
All the participants are Federation Entities that MUST be accredited by an Accreditation Body,
25+
All the participants are Federation Entities that MUST be registered by an Registration Body,
2626
except for Wallet Instances which are End-User's personal devices certified by their Wallet Provider.
2727

2828
.. note::
@@ -137,11 +137,11 @@ This section includes the requirements necessary for the successful implementati
137137
* - [FR #21]
138138
- **Future-Proof Cryptography**: the system should employ a flexible cryptographic framework that can be updated in response to new threats or advancements in cryptographic research, ensuring long-term security and integrity of federation operations.
139139
* - [FR #23]
140-
- **Autonomous Accreditation Bodies**: the system must facilitate the integration of autonomous accreditation bodies that operate in compliance with federation rules. These bodies are tasked with evaluating and accrediting entities within the federation, according to the pre-established rules and their compliance that must be periodically asserted.
140+
- **Autonomous Registration Bodies**: the system must facilitate the integration of autonomous registration bodies that operate in compliance with federation rules. These bodies are tasked with evaluating and accrediting entities within the federation, according to the pre-established rules and their compliance that must be periodically asserted.
141141
* - [FR #24]
142-
- **Compliance Evaluation for Federation Entity Candidates**: accreditation bodies must evaluate the compliance of candidate entities against federation standards before their registration in the federation.
142+
- **Compliance Evaluation for Federation Entity Candidates**: registration bodies must evaluate the compliance of candidate entities against federation standards before their registration in the federation.
143143
* - [FR #25]
144-
- **Periodic Auditing of Accreditation Bodies and Entities**: implement mechanisms for the periodic auditing and monitoring of the compliance status of both accreditation bodies and their accredited entities. This ensures ongoing adherence to federation standards and policies.
144+
- **Periodic Auditing of Registration Bodies and Entities**: implement mechanisms for the periodic auditing and monitoring of the compliance status of both registration bodies and their accredited entities. This ensures ongoing adherence to federation standards and policies.
145145
* - [FR #26]
146146
- **Certification of Compliance for Personal Devices**: trusted bodies, in the form of federation entities, should issue certifications of compliance and provide signed proof of such compliance for the hardware of personal devices used within the federation. These certifications should be attested and periodically renewed to ensure the devices meet current security standards.
147147
* - [FR #27]
@@ -454,7 +454,7 @@ Trust Anchors and Intermediates MUST expose the Federation Fetch endpoint, where
454454
.. note::
455455
The Federation Fetch endpoint MAY also publish X.509 certificates for each of the public keys of the Subordinate. Making the distribution of the issued X.509 certificates via a RESTful service.
456456

457-
Below there is a non-normative example of an Entity Statement issued by an Accreditation Body (such as the Trust Anchor or its Intermediate) in relation to one of its Subordinates.
457+
Below there is a non-normative example of an Entity Statement issued by an Registration Body (such as the Trust Anchor or its Intermediate) in relation to one of its Subordinates.
458458

459459
.. code-block:: text
460460
@@ -639,7 +639,7 @@ Offline Trust Attestation Mechanisms
639639
The offline flows do not allow for real-time evaluation of an Entity's status, such as its revocation. At the same time, using short-lived Trust Chains enables the attainment of trust attestations compatible with the required revocation administrative protocols (e.g., a revocation must be propagated in less than 24 hours, thus the Trust Chain must not be valid for more than that period).
640640

641641

642-
Offline EUDI Wallet Trust Attestation
642+
Offline Wallet Trust Attestation
643643
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
644644

645645
Given that the Wallet Instance cannot publish its metadata online at the *.well-known/openid-federation* endpoint,

docs/en/wallet-attestation.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ Wallet Instance Initialization and Registration
106106
**Device Integrity Service**: In this section the Device Integrity Service is considered as it is provided by device manufacturers. This service allows the verification of a key being securely stored within the device's hardware through a signed object. Additionally, it offers the verifiable proof that a specific Wallet Instance is authentic, unaltered, and in its original state using a specialized signed document made for this scope.
107107

108108
The service also incorporates details in the signed object, such as the device type, model, app version, operating system version, bootloader status, and other relevant information to assess the device has not been compromised. For Android, the DIS is represented by *Key Attestation*, a feature supported by *StrongBox Keymaster*, which is a physical HSM installed directly on the motherboard, and the *TEE* (Trusted Execution Environment), a secure area of the main processor. *Key Attestation* aims to provide a way to strongly determine if a key pair is hardware-backed, what the properties of the key are, and what constraints are applied to its usage. Developers can leverage its functionality through the *Play Integrity API*.For Apple devices, the DIS is represented by *DeviceCheck*, which provides a framework and server interface to manage device-specific data securely. *DeviceCheck* is used in combination with the *Secure Enclave*, a dedicated HSM integrated into Apple's SoCs. *DeviceCheck* can be used to attest the integrity of the device, apps, and/or encryption keys generated on the device, ensuring they were created in a secure environment like *Secure Enclave*. Developers can leverage *DeviceCheck* functionality by using the framework itself.
109-
These services, specifically developed by the manufacturer, are integrated within the Android or iOS SDKs, eliminating the need for a predefined endpoint to access them. Additionally, as they are specifically developed for mobile architecture, they do not need to be registered as Federation Entities through national accreditation systems.
109+
These services, specifically developed by the manufacturer, are integrated within the Android or iOS SDKs, eliminating the need for a predefined endpoint to access them. Additionally, as they are specifically developed for mobile architecture, they do not need to be registered as Federation Entities through national registration systems.
110110
For Apple devices *Secure Enclave* is available since the iPhone 5s (2013).
111111
For Android devices, the inclusion of **Strongbox Keymaster** may vary by each smartphone manufacturer, who decides whether to include it or not.
112112

docs/en/wallet-solution.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ Below a non-normative example of the Entity Configuration.
234234
]
235235
},
236236
"federation_entity": {
237-
"organization_name": "IT Wallet Provider",
237+
"organization_name": "IT-Wallet Provider",
238238
"homepage_uri": "https://wallet-provider.example.org",
239239
"policy_uri": "https://wallet-provider.example.org/privacy_policy",
240240
"tos_uri": "https://wallet-provider.example.org/info_policy",

docs/it/conf.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
# -- No need to change below here
1414

1515
import sys, os
16-
docs_italia_theme = __import__("docs_italia_theme")
1716
from recommonmark.transform import AutoStructify
1817
from recommonmark.parser import CommonMarkParser
1918

@@ -48,7 +47,7 @@
4847
'sphinx.ext.todo',
4948
'sphinx.ext.coverage',
5049
'sphinx.ext.ifconfig',
51-
'docs_italia_theme',
50+
'sphinx.ext.autosectionlabel',
5251
]
5352

5453
# Add any paths that contain templates here, relative to this directory.
@@ -111,9 +110,9 @@ def setup(app):
111110

112111

113112
# -- Options for HTML output ----------------------------------------------
114-
html_theme = 'docs-italia-theme'
113+
html_theme = 'piccolo_theme'
115114

116-
html_theme_path = [docs_italia_theme.get_html_theme_path()]
115+
# html_theme_path = [docs_italia_theme.get_html_theme_path()]
117116

118117
# Theme options are theme-specific and customize the look and feel of a theme
119118
# further. For a list of options available for each theme, see the
@@ -130,8 +129,9 @@ def setup(app):
130129
on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
131130

132131
if not on_rtd: # only import and set the theme if we're building docs locally
133-
html_theme_path = [docs_italia_theme.get_html_theme_path()]
134-
html_theme = 'docs_italia_theme'
132+
# html_theme_path = [docs_italia_theme.get_html_theme_path()]
133+
# html_theme = 'docs_italia_theme'
134+
pass
135135
else:
136136
# Override default css to get a larger width for ReadTheDoc build
137137
html_context = {
@@ -281,5 +281,5 @@ def setup(app):
281281

282282
numfig = True
283283

284-
# to turn smartquotes off and be able to use
284+
# to turn smartquotes off and be able to use
285285
smartquotes = False

requirements-dev.txt

+26-21
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,33 @@
1-
alabaster==0.7.12
2-
Babel==2.10.1
1+
alabaster==0.7.16
2+
Babel==2.15.0
33
certifi==2024.7.4
4-
charset-normalizer==2.0.12
4+
charset-normalizer==3.3.2
55
commonmark==0.9.1
6-
doc8==0.11.1
7-
docs-italia-theme @ git+https://github.com/italia/docs-italia-theme.git@3209d99db00ef965c528fd2932ae7da7dcee26b0
8-
docutils==0.18.1
6+
doc8==1.1.1
7+
docutils==0.20.1
98
idna==3.7
10-
imagesize==1.3.0
9+
imagesize==1.4.1
1110
Jinja2==3.1.4
12-
MarkupSafe==2.1.1
13-
packaging==21.3
14-
Pygments==2.15.0
15-
pyparsing==3.0.9
16-
pytz==2022.1
17-
PyYAML==6.0
11+
MarkupSafe==2.1.5
12+
packaging==24.1
13+
pbr==6.0.0
14+
Pygments==2.18.0
15+
pyparsing==3.1.2
16+
pytz==2024.1
17+
PyYAML==6.0.1
1818
recommonmark==0.7.1
19-
requests==2.32.0
19+
requests==2.32.3
20+
restructuredtext-lint==1.4.0
2021
snowballstemmer==2.2.0
21-
Sphinx==5.0.1
22-
sphinxcontrib-applehelp==1.0.2
23-
sphinxcontrib-devhelp==1.0.2
24-
sphinxcontrib-htmlhelp==2.0.0
22+
Sphinx==7.4.5
23+
sphinx-theme==1.0
24+
sphinxcontrib-applehelp==1.0.8
25+
sphinxcontrib-devhelp==1.0.6
26+
sphinxcontrib-htmlhelp==2.0.5
2527
sphinxcontrib-jsmath==1.0.1
26-
sphinxcontrib-qthelp==1.0.3
27-
sphinxcontrib-serializinghtml==1.1.5
28-
urllib3==1.26.19
28+
sphinxcontrib-qthelp==1.0.7
29+
sphinxcontrib-serializinghtml==1.1.10
30+
stevedore==5.2.0
31+
tomli==2.0.1
32+
urllib3==2.2.2
33+
piccolo_theme

0 commit comments

Comments
 (0)