As much as I hate ASN.1 (also shared by people on the ASN.1 committee back then), you got to love how easy it is to add things in ASN.1.

Perhaps one of the first "Object Oriented Data Model"?

On 10/30/24 10:04, Paul Kehrer via Cryptography-dev wrote:
Re-sending to list since I accidentally sent this solely to Oleg! Sorry about that Oleg.

-Paul

On Oct 30, 2024, at 7:02 AM, Paul Kehrer <paul.l.keh...@gmail.com> wrote:


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!

-Paul

On Oct 30, 2024, at 5:51 AM, Oleg Höfling <oleg.hoefl...@gmail.com> wrote:


The spec I have at hand ist the https://fachportal.gematik.de/fachportal-import/files/gemSpec_PKI_V2.10.2.pdf 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: https://www.elektronische-vertrauensdienste.de/EVD/SharedDocuments/Downloads/QES/Common_PKI_v2.0_02.html 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: https://www.bsi.bund.de/DE/Themen/Oeffentliche-Verwaltung/Moderner-Staat/ElektronischeSignatur/Glossar/glossar_node.html
Don't shoot the messenger, but this is all I have at hand.

Kind regards,

Oleg

Am Mi., 30. Okt. 2024 um 03:29 Uhr schrieb Paul Kehrer <paul.l.keh...@gmail.com>:

    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.

    -Paul

    On Oct 29, 2024, at 6:54 PM, Oleg Höfling via Cryptography-dev
    <cryptography-dev@python.org> wrote:

    
    Dear devs,

    there is an X509 extension named `Admissions`, supported e.g.
    by OpenSSL (https://docs.openssl.org/master/man3/ADMISSIONS/)
    and BouncyCastle
    
(https://people.eecs.berkeley.edu/~jonah/bc/index.html?org/bouncycastle/asn1/isismtt/x509/AdmissionSyntax.html).
    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.

    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:

    
https://github.com/pyca/cryptography/compare/main...hoefling:cryptography:admission-extension?expand=1

    Example script that creates a certificate with an admission
    extension that has some dummy values:
    https://gist.github.com/hoefling/fa290eb33b24a2e5405cf9cdeeda03bc

    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.

    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.

    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!

    Kind regards,

    Oleg
    _______________________________________________
    Cryptography-dev mailing list
    Cryptography-dev@python.org
    https://mail.python.org/mailman/listinfo/cryptography-dev


_______________________________________________
Cryptography-dev mailing list
Cryptography-dev@python.org
https://mail.python.org/mailman/listinfo/cryptography-dev
_______________________________________________
Cryptography-dev mailing list
Cryptography-dev@python.org
https://mail.python.org/mailman/listinfo/cryptography-dev

Reply via email to