Skip to content

Commit df55450

Browse files
author
gitlab-runner
committed
Release of version 1.5.0
1 parent 66e1a4a commit df55450

138 files changed

Lines changed: 9376 additions & 6094 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/linting-test.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# SPDX-FileCopyrightText: Copyright (c) 2025 Infineon Technologies AG
2+
# SPDX-License-Identifier: MIT
3+
4+
name: REUSE Compliance Check
5+
on: [push, pull_request]
6+
jobs:
7+
test:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- uses: actions/checkout@v4
11+
- name: REUSE Compliance Check
12+
uses: fsfe/reuse-action@v5

CHANGELOG.md

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,29 @@
33
All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6+
and this project adheres to [Semantic
7+
Versioning](https://semver.org/spec/v2.0.0.html).
8+
9+
## 1.5.0 (2025-02-25)
10+
11+
### Added
12+
- Support for new OPTIGA™ Trust M v3 firmware version v3.02.2564
13+
- New CLI feature: chipinfo readout
14+
- New CLI feature: interface parameter for interface selection
15+
- Support for I²C via gpiod
16+
- Example for signature creation and verification with Infineon pre-provisioned
17+
key pair and certificate
18+
19+
### Changed
20+
- Updated documentation:
21+
- Move to Infineon theme
22+
- Move to mikroBUS™ shields as preferred setup
23+
- General improvements and fixes
24+
- Completely removed `oscrypto` from project in favor of `cryptography` package
25+
- Updated Python package dependencies to latest versions
26+
27+
### Fixed
28+
- Fixed an issue when importing a DER formatted x.509 certificate
729

830
## 1.4.3 (2024-11-29)
931

@@ -18,7 +40,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1840
### Fixed
1941
- Removed .reuse/dep5
2042
- Cleaned setup.py
21-
- Date of relese 1.4.1 fixed
43+
- Date of release 1.4.1 fixed
2244

2345
## 1.4.1 (2024-08-29)
2446

@@ -32,7 +54,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3254

3355
### Added
3456
- [Reuse](https://reuse.software/) compliancy
35-
- [Download script](extras/optiga-trust-m/download_libusb_windows.bat) for the download of LibUSB library and header for Windows
57+
- [Download script](extras/optiga-trust-m/download_libusb_windows.bat) for the
58+
download of LibUSB library and header for Windows
3659

3760
### Changed
3861
- Moved to optiga-trust-m host library v5.x.x

CODE_OF_CONDUCT.md

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
<!--
2+
SPDX-FileCopyrightText: Copyright (c) 2025 Infineon Technologies AG
3+
SPDX-License-Identifier: CC-BY-4.0
4+
-->
5+
6+
# Contributor Covenant Code of Conduct
7+
8+
## Our pledge
9+
10+
We as members, contributors, and leaders pledge to make participation in our
11+
community a harassment-free experience for everyone, regardless of age, body
12+
size, visible or invisible disability, ethnicity, sex characteristics, gender
13+
identity and expression, level of experience, education, socio-economic status,
14+
nationality, personal appearance, race, caste, color, religion, or sexual
15+
identity and orientation.
16+
17+
We pledge to act and interact in ways that contribute to an open, welcoming,
18+
diverse, inclusive, and healthy community.
19+
20+
## Our standards
21+
22+
Examples of behavior that contributes to a positive environment for our
23+
community include:
24+
25+
* Demonstrating empathy and kindness toward other people
26+
* Being respectful of differing opinions, viewpoints, and experiences
27+
* Giving and gracefully accepting constructive feedback
28+
* Accepting responsibility and apologizing to those affected by our mistakes,
29+
and learning from the experience
30+
* Focusing on what is best not just for us as individuals, but for the overall
31+
community
32+
33+
Examples of unacceptable behavior include:
34+
35+
* The use of sexualized language or imagery, and sexual attention or advances of
36+
any kind
37+
* Trolling, insulting or derogatory comments, and personal or political attacks
38+
* Public or private harassment
39+
* Publishing others' private information, such as a physical or email address,
40+
without their explicit permission
41+
* Other conduct which could reasonably be considered inappropriate in a
42+
professional setting
43+
44+
## Enforcement responsibilities
45+
46+
Community leaders are responsible for clarifying and enforcing our standards of
47+
acceptable behavior and will take appropriate and fair corrective action in
48+
response to any behavior that they deem inappropriate, threatening, offensive,
49+
or harmful.
50+
51+
Community leaders have the right and responsibility to remove, edit, or reject
52+
comments, commits, code, wiki edits, issues, and other contributions that are
53+
not aligned to this Code of Conduct, and will communicate reasons for moderation
54+
decisions when appropriate.
55+
56+
## Scope
57+
58+
This Code of Conduct applies within all community spaces, and also applies when
59+
an individual is officially representing the community in public spaces.
60+
Examples of representing our community include using an official e-mail address,
61+
posting via an official social media account, or acting as an appointed
62+
representative at an online or offline event.
63+
64+
## Enforcement
65+
66+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
67+
reported to the community leaders responsible for enforcement at
68+
[MAINTAINERS.md](MAINTAINERS.md). All complaints will be reviewed and
69+
investigated promptly and fairly.
70+
71+
All community leaders are obligated to respect the privacy and security of the
72+
reporter of any incident.
73+
74+
## Enforcement guidelines
75+
76+
Community leaders will follow these Community Impact Guidelines in determining
77+
the consequences for any action they deem in violation of this Code of Conduct:
78+
79+
### 1. Correction
80+
81+
**Community impact**: Use of inappropriate language or other behavior deemed
82+
unprofessional or unwelcome in the community.
83+
84+
**Consequence**: A private, written warning from community leaders, providing
85+
clarity around the nature of the violation and an explanation of why the
86+
behavior was inappropriate. A public apology may be requested.
87+
88+
### 2. Warning
89+
90+
**Community impact**: A violation through a single incident or series of
91+
actions.
92+
93+
**Consequence**: A warning with consequences for continued behavior. No
94+
interaction with the people involved, including unsolicited interaction with
95+
those enforcing the Code of Conduct, for a specified period of time. This
96+
includes avoiding interactions in community spaces as well as external channels
97+
like social media. Violating these terms may lead to a temporary or permanent
98+
ban.
99+
100+
### 3. Temporary ban
101+
102+
**Community impact**: A serious violation of community standards, including
103+
sustained inappropriate behavior.
104+
105+
**Consequence**: A temporary ban from any sort of interaction or public
106+
communication with the community for a specified period of time. No public or
107+
private interaction with the people involved, including unsolicited interaction
108+
with those enforcing the Code of Conduct, is allowed during this period.
109+
Violating these terms may lead to a permanent ban.
110+
111+
### 4. Permanent ban
112+
113+
**Community impact**: Demonstrating a pattern of violation of community
114+
standards, including sustained inappropriate behavior, harassment of an
115+
individual, or aggression toward or disparagement of classes of individuals.
116+
117+
**Consequence**: A permanent ban from any sort of public interaction within the
118+
community.
119+
120+
## Attribution
121+
122+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
123+
version 2.1, available at
124+
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
125+
126+
[homepage]: https://www.contributor-covenant.org
127+
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html

CONTRIBUTING.md

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
<!--
2+
SPDX-FileCopyrightText: Copyright (c) 2025 Infineon Technologies AG
3+
SPDX-License-Identifier: CC-BY-4.0
4+
-->
5+
6+
# Contributing to this repository
7+
8+
First off, thanks for taking the time to contribute!
9+
10+
All types of contributions are encouraged and valued. See the [Table of
11+
contents](#table-of-contents) for different ways to help and details about how
12+
this project handles them. Please make sure to read the relevant section before
13+
making your contribution. It will make it a lot easier for us maintainers and
14+
smooth out the experience for all involved. The community looks forward to your
15+
contributions.
16+
17+
## Table of contents
18+
19+
- [I Have a question](#i-have-a-question)
20+
- [I Want to contribute](#i-want-to-contribute)
21+
- [Reporting bugs](#reporting-bugs)
22+
- [Suggesting enhancements](#suggesting-enhancements)
23+
24+
## I Have a question
25+
26+
> If you want to ask a question, we assume that you have read the available
27+
> [documentation](README.md).
28+
29+
Before you ask a question, it is best to search for existing
30+
[issues](https://github.com/Infineon/python-optiga-trust/issues) that might help you.
31+
In case you have found a suitable issue and still need clarification, you can
32+
write your question in this issue. It is also advisable to search the internet
33+
for answers first.
34+
35+
If you then still feel the need to ask a question and need clarification, we
36+
recommend the following:
37+
38+
- Open an [issue](https://github.com/Infineon/python-optiga-trust/issues/new).
39+
- Provide as much context as you can about what you're running into.
40+
- Provide project and platform versions (nodejs, npm, etc), depending on what
41+
seems relevant.
42+
43+
We will then take care of the issue as soon as possible.
44+
45+
## I want to contribute
46+
47+
> ### Legal notice
48+
>
49+
> When contributing to this project, you must agree that you have authored 100%
50+
> of the content, that you have the necessary rights to the content and that the
51+
> content you contribute may be provided under the project license.
52+
53+
### Reporting bugs
54+
55+
#### Before submitting a bug report
56+
57+
A good bug report shouldn't leave others needing to chase you up for more
58+
information. Therefore, we ask you to investigate carefully, collect information
59+
and describe the issue in detail in your report. Please complete the following
60+
steps in advance to help us fix any potential bug as fast as possible.
61+
62+
- Make sure that you are using the latest version.
63+
- Determine if your bug is really a bug and not an error on your side e.g. using
64+
incompatible environment components/versions (Make sure that you have read the
65+
[documentation](README.md). If you are looking for support, you might want to
66+
check [this section](#i-have-a-question)).
67+
- To see if other users have experienced (and potentially already solved) the
68+
same issue you are having, check if there is not already a bug report existing
69+
for your bug or error in the [bug tracker](issues?q=label%3Abug).
70+
- Also make sure to search the internet (including Stack Overflow) to see if
71+
users outside of the GitHub community have discussed the issue.
72+
- Collect information about the bug:
73+
- Stack trace (traceback)
74+
- OS, Platform and Version (Windows, Linux, macOS, x86, ARM)
75+
- Version of the interpreter, compiler, SDK, runtime environment, package
76+
manager, depending on what seems relevant.
77+
- Possibly your input and the output
78+
- Can you reliably reproduce the issue? And can you also reproduce it with older
79+
versions?
80+
81+
#### How do I submit a good bug report?
82+
83+
> You must never report security related issues, vulnerabilities or bugs
84+
> including sensitive information to the issue tracker, or elsewhere in public.
85+
> Instead sensitive bugs must be sent by email to one of the repository's
86+
> [maintainers](MAINTAINERS.md).
87+
88+
We use GitHub issues to track bugs and errors. If you run into an issue with the
89+
project:
90+
91+
- Open an [issue](https://github.com/Infineon/python-optiga-trust/issues/new). (Since
92+
we can't be sure at this point whether it is a bug or not, we ask you not to
93+
talk about a bug yet and not to label the issue.)
94+
- Explain the behavior you would expect and the actual behavior.
95+
- Please provide as much context as possible and describe the *reproduction
96+
steps* that someone else can follow to recreate the issue on their own. This
97+
usually includes your code. For good bug reports you should isolate the
98+
problem and create a reduced test case.
99+
- Provide the information you collected in the previous section.
100+
101+
Once it's filed:
102+
103+
- The project team will label the issue accordingly.
104+
- A team member will try to reproduce the issue with your provided steps. If
105+
there are no reproduction steps or no obvious way to reproduce the issue, the
106+
team will ask you for those steps and mark the issue as `needs-repro`. Bugs
107+
with the `needs-repro` tag will not be addressed until they are reproduced.
108+
- If the team is able to reproduce the issue, it will be marked `needs-fix`, as
109+
well as possibly other tags (such as `critical`), and the issue will be left
110+
to be implemented by someone.
111+
112+
### Suggesting enhancements
113+
114+
This section guides you through submitting an enhancement suggestion for this
115+
project, **including completely new features and minor improvements to existing
116+
functionality**. Following these guidelines will help maintainers and the
117+
community to understand your suggestion and find related suggestions.
118+
119+
#### Before submitting an enhancement
120+
121+
- Make sure that you are using the latest version.
122+
- Read the [documentation](README.md) carefully and find out if the
123+
functionality is already covered, maybe by an individual configuration.
124+
- Perform a [search](https://github.com/Infineon/python-optiga-trust/issues) to see
125+
if the enhancement has already been suggested. If it has, add a comment to the
126+
existing issue instead of opening a new one.
127+
- Find out whether your idea fits with the scope and aims of the project. It's
128+
up to you to make a strong case to convince the project's developers of the
129+
merits of this feature. Keep in mind that we want features that will be useful
130+
to the majority of our users and not just a small subset. If you're just
131+
targeting a minority of users, consider writing an add-on/plugin library.
132+
133+
#### How do I submit a good enhancement suggestion?
134+
135+
Enhancement suggestions are tracked as [GitHub
136+
issues](https://github.com/Infineon/python-optiga-trust/issues).
137+
138+
- Use a **clear and descriptive title** for the issue to identify the
139+
suggestion.
140+
- Provide a **step-by-step description of the suggested enhancement** in as many
141+
details as possible.
142+
- **Describe the current behavior** and **explain which behavior you expected to
143+
see instead** and why. At this point you can also tell which alternatives do
144+
not work for you.
145+
- You may want to **include screenshots and animated GIFs** which help you
146+
demonstrate the steps or point out the part which the suggestion is related
147+
to.
148+
- **Explain why this enhancement would be useful** to most users of this
149+
project. You may also want to point out the other projects that solved it
150+
better and which could serve as inspiration.
151+
152+
## Attribution
153+
154+
This guide is based on the
155+
[contributing-gen](https://github.com/bttger/contributing-gen)!

INSTALL.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
## Dependencies
44

5-
The `optigatrust` Python module depends on the modules in [requirements.txt](requirements.txt). For testing, the additional dependencies in [tests/requirements.txt](tests/requirements.txt) have to be installed.
5+
The `optigatrust` Python module depends on the modules in
6+
[requirements.txt](requirements.txt). For testing, the additional dependencies
7+
in [tests/requirements.txt](tests/requirements.txt) have to be installed.
68

79
```bash
810
python -m pip install -r ./requirements.txt
@@ -15,4 +17,4 @@ To install this Python module from sources, run the following command.
1517

1618
```bash
1719
python -m pip install .
18-
```
20+
```

0 commit comments

Comments
 (0)