From 9a48f0549d34b292aa1913ef565660ff3b9afd4b Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Thu, 6 Feb 2025 15:06:53 -0500 Subject: [PATCH] engagements: add PyCA Signed-off-by: William Woodruff --- alpha/engagements/2025/PyCA/README.md | 23 +++++++++++++++++++ alpha/engagements/2025/PyCA/update-2025-01.md | 12 ++++++++++ 2 files changed, 35 insertions(+) create mode 100644 alpha/engagements/2025/PyCA/README.md create mode 100644 alpha/engagements/2025/PyCA/update-2025-01.md diff --git a/alpha/engagements/2025/PyCA/README.md b/alpha/engagements/2025/PyCA/README.md new file mode 100644 index 00000000..93b4c499 --- /dev/null +++ b/alpha/engagements/2025/PyCA/README.md @@ -0,0 +1,23 @@ +# Alpha Engagement: PyCA Cryptography Declarative ASN.1 API + +The purpose of this Alpha engagement is to fund the development of +a declarative ASN.1 API for [PyCA Cryptography](https://cryptography.io/), +the de facto standard cryptography library for Python. + +This API will allow developers to declare ASN.1 structures as Python +classes and perform DER serialization/deserialization against them. The +internals of this API will be developed against +[rust-asn1](https://github.com/alex/rust-asn1), which already underlies +PyCA Cryptography's internal use of ASN.1 and DER. + +## Timeline + +This engagement started in January 2025. + +## Monthly updates + +* [January 2025](./update-2025-01.md) + +## Primary Contacts + +* William Woodruff - Trail of Bits diff --git a/alpha/engagements/2025/PyCA/update-2025-01.md b/alpha/engagements/2025/PyCA/update-2025-01.md new file mode 100644 index 00000000..71d8d013 --- /dev/null +++ b/alpha/engagements/2025/PyCA/update-2025-01.md @@ -0,0 +1,12 @@ +# PyCA Cryptography Declarative ASN.1 API + +*Logistical note*: This is our first status update, and reflects +only a limited number of hours used this month. + +## In progress + +* Began design and initial development on the Python components of the + declarative ASN.1, including a `dataclasses`-style public API, + `typing.Annotated` support, and an intermediate representation suitable + for use within the Rust components. +