Skip to content

Commit f55ebe7

Browse files
committed
[doc] a little bit of documentation
1 parent d0bf430 commit f55ebe7

File tree

3 files changed

+168
-1
lines changed

3 files changed

+168
-1
lines changed

CONTRIBUTING.md

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
<!-- markdownlint-disable MD013 -->
2+
# Contributing
3+
4+
When contributing to this repository, please first discuss the change you wish to make via issue,
5+
email, or any other method with the owners of this repository before making a change.
6+
7+
Please note we have a code of conduct, please follow it in all your interactions with the project.
8+
9+
## Pull Request Process
10+
11+
1. Ensure any install or build dependencies are removed before the end of the layer when doing a
12+
build.
13+
2. Update the README.md with details of changes to the interface, this includes new environment
14+
variables, exposed ports, useful file locations and container parameters.
15+
3. Increase the version numbers in any examples files and the README.md to the new version that this
16+
Pull Request would represent. The versioning scheme we use is [SemVer](http://semver.org/).
17+
4. You may merge the Pull Request in once you have the sign-off of two other developers, or if you
18+
do not have permission to do that, you may request the second reviewer to merge it for you.
19+
20+
## Code of Conduct
21+
22+
### Our Pledge
23+
24+
In the interest of fostering an open and welcoming environment, we as
25+
contributors and maintainers pledge to making participation in our project and
26+
our community a harassment-free experience for everyone, regardless of age, body
27+
size, disability, ethnicity, gender identity and expression, level of experience,
28+
nationality, personal appearance, race, religion, or sexual identity and
29+
orientation.
30+
31+
### Our Standards
32+
33+
Examples of behavior that contributes to creating a positive environment
34+
include:
35+
36+
- Using welcoming and inclusive language
37+
- Being respectful of differing viewpoints and experiences
38+
- Gracefully accepting constructive criticism
39+
- Focusing on what is best for the community
40+
- Showing empathy towards other community members
41+
42+
Examples of unacceptable behavior by participants include:
43+
44+
- The use of sexualized language or imagery and unwelcome sexual attention or
45+
advances
46+
- Trolling, insulting/derogatory comments, and personal or political attacks
47+
- Public or private harassment
48+
- Publishing others' private information, such as a physical or electronic
49+
address, without explicit permission
50+
- Other conduct which could reasonably be considered inappropriate in a
51+
professional setting
52+
53+
### Our Responsibilities
54+
55+
Project maintainers are responsible for clarifying the standards of acceptable
56+
behavior and are expected to take appropriate and fair corrective action in
57+
response to any instances of unacceptable behavior.
58+
59+
Project maintainers have the right and responsibility to remove, edit, or
60+
reject comments, commits, code, wiki edits, issues, and other contributions
61+
that are not aligned to this Code of Conduct, or to ban temporarily or
62+
permanently any contributor for other behaviors that they deem inappropriate,
63+
threatening, offensive, or harmful.
64+
65+
### Scope
66+
67+
This Code of Conduct applies both within project spaces and in public spaces
68+
when an individual is representing the project or its community. Examples of
69+
representing a project or community include using an official project e-mail
70+
address, posting via an official social media account, or acting as an appointed
71+
representative at an online or offline event. Representation of a project may be
72+
further defined and clarified by project maintainers.
73+
74+
### Enforcement
75+
76+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
77+
reported by contacting the project team at [INSERT EMAIL ADDRESS]. All
78+
complaints will be reviewed and investigated and will result in a response that
79+
is deemed necessary and appropriate to the circumstances. The project team is
80+
obligated to maintain confidentiality with regard to the reporter of an incident.
81+
Further details of specific enforcement policies may be posted separately.
82+
83+
Project maintainers who do not follow or enforce the Code of Conduct in good
84+
faith may face temporary or permanent repercussions as determined by other
85+
members of the project's leadership.
86+
87+
### Attribution
88+
89+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
90+
available at [http://contributor-covenant.org/version/1/4][version]
91+
92+
[homepage]: http://contributor-covenant.org
93+
[version]: http://contributor-covenant.org/version/1/4/

README.md

Lines changed: 75 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,76 @@
11
# xca_template_parser
2-
little helper to parse xca templates
2+
3+
`xca_template_helper.py` can be used to decode certificate templates used by [XCA](https://github.com/chris2511/xca) which is ag great tool to manage the certificates for home and small enterprise networks.
4+
5+
[XCA templates](https://www.hohnstaedt.de/xca/index.php/documentation/manual) are stored in a proprietary format. I tried to reverse-engineer the format as my [request for documentation](https://github.com/chris2511/xca/issues/197) has unfortunately not been answered.
6+
7+
## Usage
8+
9+
Before running the tool you need to export the template into a file.
10+
11+
![xca-ca-list](xca.png)
12+
13+
After export you can run the parse to get the details.
14+
15+
```bash
16+
grindsa@ub18-04:~$ py ./xca_template_parser.py example/example.xca
17+
```
18+
19+
The script will print two dictionaries on std-out:
20+
21+
- a list of dn attributes taken from the template
22+
- a list of certificate attributes and extensions
23+
24+
```python
25+
# DN attributes
26+
{'commonName': 'cn',
27+
'countryName': 'co',
28+
'localityName': 'locality',
29+
'organizationName': 'organization',
30+
'organizationalUnitName': 'ou',
31+
'stateOrProvinceName': 'state'}
32+
33+
# certificate extensions and attributes
34+
{'adv_ext': None,
35+
'authInfAcc': None,
36+
'authKey': '1',
37+
'basicPath': None,
38+
'bcCritical': '1',
39+
'ca': '2',
40+
'crlDist': 'URI:http://foo.bar',
41+
'eKeyUse': 'serverAuth, clientAuth, ipsecEndSystem, ipsecTunnel, ipsecUser',
42+
'ekuCritical': '1',
43+
'issAltName': None,
44+
'keyUse': '3',
45+
'kuCritical': '1',
46+
'noWellDefinedExpDate': '0',
47+
'nsBaseUrl': None,
48+
'nsCARevocationUrl': None,
49+
'nsCaPolicyUrl': None,
50+
'nsCertType': '5',
51+
'nsComment': 'xca certificate',
52+
'nsRenewalUrl': None,
53+
'nsRevocationUrl': None,
54+
'nsSslServerName': None,
55+
'subAltName': None,
56+
'subKey': '1',
57+
'validM': '1',
58+
'validMidn': '0',
59+
'validN': '1'}
60+
```
61+
62+
## Contributing
63+
64+
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on my code of
65+
conduct, and the process for submitting pull requests.
66+
Please note that I have a life besides programming. Thus, expect a delay
67+
in answering.
68+
69+
## Versioning
70+
71+
I use [SemVer](http://semver.org/) for versioning. For the versions available,
72+
see the [tags on this repository](https://github.com/grindsa/dkb-robo/tags).
73+
74+
## License
75+
76+
This project is licensed under the GPLv3 - see the [LICENSE](LICENSE) file for details

xca.png

40 KB
Loading

0 commit comments

Comments
 (0)