<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div dir="ltr"></div><div dir="ltr">Re-sending to list since I accidentally sent this solely to Oleg! Sorry about that Oleg.</div><div dir="ltr"><br></div><div dir="ltr">-Paul</div><div dir="ltr"><br><blockquote type="cite">On Oct 30, 2024, at 7:02 AM, Paul Kehrer <paul.l.kehrer@gmail.com> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><meta http-equiv="content-type" content="text/html; charset=utf-8"><div dir="ltr"></div><div dir="ltr">We would be willing to take support for this since it’s just some asn.1 definitions and there’s a specification associated with it. If the diff is larger than 400 lines then for ease of review we’ll likely want to break this into multiple PRs, but otherwise feel free to submit and we can discuss!</div><div dir="ltr"><br></div><div dir="ltr">-Paul</div><div dir="ltr"><br><blockquote type="cite">On Oct 30, 2024, at 5:51 AM, Oleg Höfling <oleg.hoefling@gmail.com> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><div dir="ltr">The spec I have at hand ist the <a href="https://fachportal.gematik.de/fachportal-import/files/gemSpec_PKI_V2.10.2.pdf">https://fachportal.gematik.de/fachportal-import/files/gemSpec_PKI_V2.10.2.pdf</a> which lists the Admission under section 4.8.3.2. Unfortunately, this spec: 1. is written in german language and 2. is not complete, e.g. it does not provide the ASN.1 syntax for the NamingAuthority. It is however based on the Common PKI v2 specification which does provide the complete ASN.1 spec (Table 29 and 29b). Link: <a href="https://www.elektronische-vertrauensdienste.de/EVD/SharedDocuments/Downloads/QES/Common_PKI_v2.0_02.html">https://www.elektronische-vertrauensdienste.de/EVD/SharedDocuments/Downloads/QES/Common_PKI_v2.0_02.html</a> It is hosted by the Bundesnetzagentur as part of the eIDAS regulation and not BSI, however I see that BSI mentions Common PKI in its glossary here: <a href="https://www.bsi.bund.de/DE/Themen/Oeffentliche-Verwaltung/Moderner-Staat/ElektronischeSignatur/Glossar/glossar_node.html">https://www.bsi.bund.de/DE/Themen/Oeffentliche-Verwaltung/Moderner-Staat/ElektronischeSignatur/Glossar/glossar_node.html</a><div>Don't shoot the messenger, but this is all I have at hand.</div><div><br></div><div>Kind regards,</div><div><br></div><div>Oleg</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Am Mi., 30. Okt. 2024 um 03:29 Uhr schrieb Paul Kehrer <<a href="mailto:paul.l.kehrer@gmail.com">paul.l.kehrer@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="ltr"></div><div dir="ltr">Is there a published spec that defines the ASN.1 syntax for these extensions (maybe from BSI)? We generally like to have a specification that we can use as a source of truth. For x509 I don’t have any objection to adding this assuming a spec exists.</div><div dir="ltr"><br></div><div dir="ltr">-Paul</div><div dir="ltr"><br><blockquote type="cite">On Oct 29, 2024, at 6:54 PM, Oleg Höfling via Cryptography-dev <<a href="mailto:cryptography-dev@python.org" target="_blank">cryptography-dev@python.org</a>> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><div dir="ltr">Dear devs,<div><br></div><div>there is an X509 extension named `Admissions`, supported e.g. by OpenSSL (<a href="https://docs.openssl.org/master/man3/ADMISSIONS/" target="_blank">https://docs.openssl.org/master/man3/ADMISSIONS/</a>) and BouncyCastle (<a href="https://people.eecs.berkeley.edu/~jonah/bc/index.html?org/bouncycastle/asn1/isismtt/x509/AdmissionSyntax.html" target="_blank">https://people.eecs.berkeley.edu/~jonah/bc/index.html?org/bouncycastle/asn1/isismtt/x509/AdmissionSyntax.html</a>). Would you be interested in `cryptography` supporting it as well? This is an extension that is used in german public healthcare and legal sectors, and I am working for one of them :-) I really enjoy working with `cryptography` for reading out and persisting X509 certificates, but dealing with the `Admissions` extension requires me adding extra dependencies and writing extra code using other libraries I do not enjoy this much.</div><div><br></div><div>If you agree that it could be a viable addition to the project, I would gladly contribute the necessary bits myself. I made a proof-of-concept implementation for the Admissions extension in my fork of `cryptography` to have something to discuss:</div><div><br></div><div><a href="https://github.com/pyca/cryptography/compare/main...hoefling:cryptography:admission-extension?expand=1" target="_blank">https://github.com/pyca/cryptography/compare/main...hoefling:cryptography:admission-extension?expand=1</a></div><div><br></div><div><div><div>Example script that creates a certificate with an admission extension that has some dummy values: <a href="https://gist.github.com/hoefling/fa290eb33b24a2e5405cf9cdeeda03bc" target="_blank">https://gist.github.com/hoefling/fa290eb33b24a2e5405cf9cdeeda03bc</a></div></div></div><div><br></div><div>Of course, this is far from the state where it can be reviewed, should be split into smaller patches, is missing tests and docs etc etc.</div><div><br></div><div>If you reject the idea, I would try and put the code in a separate library that depends on `cryptography` and connect them together somehow. I would be grateful for any advices on that matter - maybe you already had a case with a third party extension for `cryptography` being built.</div><div><br></div><div>Last but not least - I really enjoyed hacking the working prototype together and fiddling with the Rust backend, kudos for having such a clear and concise API design!</div><div><br></div><div>Kind regards,</div><div><br></div><div>Oleg</div></div>
<span>_______________________________________________</span><br><span>Cryptography-dev mailing list</span><br><span><a href="mailto:Cryptography-dev@python.org" target="_blank">Cryptography-dev@python.org</a></span><br><span><a href="https://mail.python.org/mailman/listinfo/cryptography-dev" target="_blank">https://mail.python.org/mailman/listinfo/cryptography-dev</a></span><br></div></blockquote></div></blockquote></div>
</div></blockquote></div></blockquote></body></html>