Skip to content

ML-KEM documentation#26037

Closed
baentsch wants to merge 3 commits intoopenssl:feature/ml-kemfrom
baentsch:mb-mlkem768docs
Closed

ML-KEM documentation#26037
baentsch wants to merge 3 commits intoopenssl:feature/ml-kemfrom
baentsch:mb-mlkem768docs

Conversation

@baentsch
Copy link
Contributor

Fixes openssl/project#1008.

Open question: Objections to putting all documentation for all ML-KEM algorithms in one file? References to other variants should be simply added to the 2 new core files doc/man7/EVP_KEM-MLKEM.pod and as and doc/man7/EVP_PKEY-MLKEM.pod when #26006 is resolved.

One new ToDo created referenced in this PR: #26036

@t8m
Copy link
Member

t8m commented Nov 22, 2024

Open question: Objections to putting all documentation for all ML-KEM algorithms in one file?

No objections. IMO this is the right way. It is similar to the ECX algorithms.

Comment on lines +5 to +6
EVP_KEM-MLKEM,
EVP_KEM-ML-KEM
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO, this should look like this:

Suggested change
EVP_KEM-MLKEM,
EVP_KEM-ML-KEM
EVP_KEM-ML-KEM-768

The name after the EVP_KEM- prefix should be the name as it is fetched from the provider, i.e. the names as listed in the PROV_NAMES_MLKEM768 define. It is not possible to "fetch" an algorithm called "ML-KEM" or "MLKEM" so we should not list them here. We can extend the list to include "ML-KEM-512" and "ML-KEM-768" as we implement them

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK. See below. Let me play with the doc-nits script how to bring your logical argument (that I agree with) and that check in line...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now changed adding all possibly key types -- but had to leave "generic" EVP_KEM-MLKEM to satisfy make doc-nits.

EVP_PKEY-MLKEM,
EVP_PKEY-ML-KEM,
EVP_KEYMGMT-ML-KEM,
EVP_PKEY-ML-KEM-768
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again the only valid algorithm name here is ML-KEM-768. You can't "fetch" anything else.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, the name "EVP_PKEY-MLKEM" I only added after a test complained that it needs adding. The next two to allow the links from default provider to work -- exactly to avoid having to change more than 2 files as and when -512 and -1024 get added as per my initial comment.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed equivalent as for PKEY above.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could try adding this somewhere:


=for openssl generic

(the empty lines surrounding it are significant)


=item EC, see L<EVP_KEM-EC(7)>

=item ML-KEM-768, see L<EVP_KEM-ML-KEM(7)>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
=item ML-KEM-768, see L<EVP_KEM-ML-KEM(7)>
=item ML-KEM-768, see L<EVP_KEM-ML-KEM-768(7)>

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK -- so basically the statement is that all these files need updating as -512 and -1024 get added?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

update done


=item SM2, see L<EVP_KEYMGMT-SM2(7)>

=item ML-KEM-768, see L<EVP_KEYMGMT-ML-KEM(7)>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
=item ML-KEM-768, see L<EVP_KEYMGMT-ML-KEM(7)>
=item ML-KEM-768, see L<EVP_KEYMGMT-ML-KEM-768(7)>

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed to all specific key types in 5b7aad1

L<EVP_PKEY-X25519(7)>, L<EVP_PKEY-X448(7)>, L<EVP_PKEY-ED25519(7)>,
L<EVP_PKEY-ED448(7)>, L<EVP_PKEY-EC(7)>, L<EVP_PKEY-RSA(7)>,
L<EVP_PKEY-DSA(7)>, L<EVP_PKEY-DH(7)>
L<EVP_PKEY-DSA(7)>, L<EVP_PKEY-DH(7)>, L<EVP_PKEY-MLKEM(7)>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
L<EVP_PKEY-DSA(7)>, L<EVP_PKEY-DH(7)>, L<EVP_PKEY-MLKEM(7)>
L<EVP_PKEY-DSA(7)>, L<EVP_PKEY-DH(7)>, L<EVP_PKEY-ML-KEM-768(7)>

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed to all specific key types in 5b7aad1

L<EVP_PKEY_CTX_new_from_pkey(3)>,
L<EVP_PKEY_encapsulate(3)>,
L<EVP_KEM-RSA(7)>, L<EVP_KEM-X25519(7)>, L<EVP_KEM-EC(7)>
L<EVP_KEM-RSA(7)>, L<EVP_KEM-X25519(7)>, L<EVP_KEM-EC(7)>, L<EVP_KEM-MLKEM(7)>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
L<EVP_KEM-RSA(7)>, L<EVP_KEM-X25519(7)>, L<EVP_KEM-EC(7)>, L<EVP_KEM-MLKEM(7)>
L<EVP_KEM-RSA(7)>, L<EVP_KEM-X25519(7)>, L<EVP_KEM-EC(7)>, L<EVP_KEM-ML-KEM-768(7)>

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed to all specific key types in 5b7aad1

L<EVP_PKEY_CTX_new_from_pkey(3)>,
L<EVP_PKEY_decapsulate(3)>,
L<EVP_KEM-RSA(7)>, L<EVP_KEM-X25519(7)>, L<EVP_KEM-EC(7)>
L<EVP_KEM-RSA(7)>, L<EVP_KEM-X25519(7)>, L<EVP_KEM-EC(7)>, L<EVP_KEM-MLKEM(7)>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
L<EVP_KEM-RSA(7)>, L<EVP_KEM-X25519(7)>, L<EVP_KEM-EC(7)>, L<EVP_KEM-MLKEM(7)>
L<EVP_KEM-RSA(7)>, L<EVP_KEM-X25519(7)>, L<EVP_KEM-EC(7)>, L<EVP_KEM-ML-KEM-768(7)>

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed to all specific key types in 5b7aad1


The OpenSSL ML-KEM encapsulation mechanism can only be modified by
setting randomness during encapsulation facilitating testing as per
FIPS 203, section 6.2, algorithm 17.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This wording is a little unclear to me what this actually does. Can we clarify it?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Encapsulation normally consumes 32 bytes of RNG entropy, which is hashed to produce other random values within the encapsulation process. Specifying this explicitly, instead of generating it randomly, make encasulation fully deterministic.


In addition to the common parameters that all keytypes should support (see
L<provider-keymgmt(7)/Common parameters>), the implementation of these keytypes
support the following.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these gettable, settable or both?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly gettable. What's settable are private or public keys, the seed for key generation and the entropy for encapsulation.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should whether they are gettable/settable in the documentation

Comment on lines +18 to +19
These implementations support the associated key, containing the public
key I<pub> and the private key I<priv>.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this really trying to say?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed.

Comment on lines +29 to +32
ML-KEM internally requires the generation of a keypair using a random value (seed).
This optional parameter can be used to set the value prior to key pair generation
or for retrieval of the random value created internally after keypair generation.
According to FIPS 203, section 3.3, this parameter should only be used for
test purposes and be treated with the same care as private key material.
The length of the seed is 64 bytes.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See above comment. The code DOES NOT currently allow retrieval of the seed when randomly generated.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed in latest commit.


In addition to the common parameters that all keytypes should support (see
L<provider-keymgmt(7)/Common parameters>), the implementation of these keytypes
support the following.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly gettable. What's settable are private or public keys, the seed for key generation and the entropy for encapsulation.


=item "pub" (B<OSSL_PKEY_PARAM_PUB_KEY>) <octet string>

The public key value.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is its standard wire form encoding as the vector t and the matrix seed rho.

Comment on lines +60 to +67
Used for getting and setting the encoding of a public key. Public keys are
expected be encoded in a format as defined by FIPS 203.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I got the discussion right this morning, you'll be adding logic that needs to be described here anyway, so I leave "generic" as-is for now such as to close out this PR.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, at this point setting the public key is not possible if any key is already set, it can only be set for a key that is still under construction.

@paulidale
Copy link
Contributor

I've pulled my IKME changes into a separate PR (#26082).

@vdukhovni
Copy link

I've pulled my IKME changes into a separate PR (#26082).

Reviewed, looks OK, but please rebase. The provider changes will otherwise conflict.

Comment on lines +60 to +67
Used for getting and setting the encoding of a public key. Public keys are
expected be encoded in a format as defined by FIPS 203.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I got the discussion right this morning, you'll be adding logic that needs to be described here anyway, so I leave "generic" as-is for now such as to close out this PR.

@baentsch
Copy link
Contributor Author

@vdukhovni @mattcaswell I went through all feedback I felt possible to act upon now, commented on those that are still WIP (i.e., topic for a new iteration of documentation as agreed-upon this morning) and thus would like to suggest another review/merge for now so @vavroch2010 can clean out the sprint.

@t8m t8m added triaged: documentation The issue/pr deals with documentation (errors) tests: exempted The PR is exempt from requirements for testing approval: review pending This pull request needs review by a committer triaged: design The issue/pr deals with a design document labels Nov 29, 2024
Copy link
Member

@mattcaswell mattcaswell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly good. Some minor tweaks to address and I could approve this.

ML-KEM makes extensive use of SHA3 primitives, SHA3-256, SHA3-512, SHAKE256 and SHAKE128.
To improve ML-KEM execution performance the EVP handles for these are pre-fetched during ML-KEM
key initialisation and stored in an MLKEM_CTX object.
These then used in key generation, encapsulation and decapsulation.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are then used

Keys can therefore be generated as "usual" by way of the EVP functions
EVP_PKEY_generate() and EVP_PKEY_Q_keygen().

The "seed format" can be selected by either setting the OSSL_PARAM value
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The "seed format" can be selected by either setting the OSSL_PARAM value
The "seed format" can be selected by setting the OSSL_PARAM value


=over 4

=item "entropy" (B<OSSL_KEM_PARAM_MLKEM_ENC_ENTROPY>)<UTF8 string>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should specify whether this is gettable or settable

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Settable only.


In addition to the common parameters that all keytypes should support (see
L<provider-keymgmt(7)/Common parameters>), the implementation of these keytypes
support the following.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should whether they are gettable/settable in the documentation

@baentsch
Copy link
Contributor Author

baentsch commented Dec 2, 2024

Mostly good. Some minor tweaks to address and I could approve this.

Thanks @mattcaswell . All comments incorporated in latest commit.

ML-KEM makes extensive use of SHA3 primitives, SHA3-256, SHA3-512, SHAKE256 and SHAKE128.
To improve ML-KEM execution performance the EVP handles for these are pre-fetched during ML-KEM
key initialisation and stored in an MLKEM_CTX object.
These then used in key generation, encapsulation and decapsulation.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
These then used in key generation, encapsulation and decapsulation.
These are then used in key generation, encapsulation and decapsulation.

Comment on lines +80 to +82
NIST guidance, only for testing. If the seed version is retrieved from a
normal key generation operation, it shall be subject to the same level of
protection given to private key material.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
NIST guidance, only for testing. If the seed version is retrieved from a
normal key generation operation, it shall be subject to the same level of
protection given to private key material.
NIST guidance, only for testing.


=over 4

=item "entropy" (B<OSSL_KEM_PARAM_MLKEM_ENC_ENTROPY>)<UTF8 string>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Settable only.


The OpenSSL ML-KEM encapsulation mechanism can only be modified by
setting randomness during encapsulation facilitating testing as per
FIPS 203, section 6.2, algorithm 17.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Encapsulation normally consumes 32 bytes of RNG entropy, which is hashed to produce other random values within the encapsulation process. Specifying this explicitly, instead of generating it randomly, make encasulation fully deterministic.


=back

This can be set when using EVP_PKEY_encapsulate_init().

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please fix the above.

Comment on lines +60 to +67
Used for getting and setting the encoding of a public key. Public keys are
expected be encoded in a format as defined by FIPS 203.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, at this point setting the public key is not possible if any key is already set, it can only be set for a key that is still under construction.

@baentsch
Copy link
Contributor Author

baentsch commented Dec 3, 2024

@vdukhovni I see the merit of some of your change requests (some had already been incorporated prior to your feedback) in light of all your improvements. However, I understood our agreement from last week to close this out based on the then-current code base and for @vavroch2010 to create a new tracking issue for another sprint and a consequent new documentation PR after the dust has settled (after #26054 has landed) as the stated goal/limitation was to not shift this PR into another sprint.

I now see two mutually exclusive ways forward:

  1. If the primary goal is to satisfy the "sprint process", then please adhere to the agreement then made (review to merge without taking into consideration ML-KEM refactor to support all three variants and some code cleanup #26054). If that'd be OK for you @vdukhovni then I'd think some of your latest PR feedback isn't applicable (yet) and this PR is ready to merge.
  2. If the primary goal is to create correct documentation, then let's switch to my proposal from last week and keep this PR open until ML-KEM refactor to support all three variants and some code cleanup #26054 has landed. That then would be an ask to @vavroch2010 to change tack.

I'll wait with further work until a decision has been made on whether 1) or 2) "rules". My preference is 2) ("process should not trump progress") but it is not what has been agreed last week.

@mattcaswell
Copy link
Member

Thanks @mattcaswell . All comments incorporated in latest commit.

@baentsch - I don't see my comments about specifying all params as either gettable or settable as having been addressed?

@openssl-machine openssl-machine added the hold: cla required The contributor needs to submit a license agreement label Dec 4, 2024
@baentsch
Copy link
Contributor Author

baentsch commented Dec 4, 2024

Thanks @mattcaswell . All comments incorporated in latest commit.

@baentsch - I don't see my comments about specifying all params as either gettable or settable as having been addressed?

@mattcaswell I am of the opinion that it has (or that no further documentation is warranted: Or do you also expect params to be documented that are default ones, i.e., OSSL_PKEY_PARAM_PUB_KEY, OSSL_PKEY_PARAM_PRIV_KEY, OSSL_PKEY_PARAM_ENCODED_PUBLIC_KEY, OSSL_PKEY_PARAM_BITS, OSSL_PKEY_PARAM_SECURITY_BITS, OSSL_PKEY_PARAM_MAX_SIZE ?

The one MLKEM PKEY specific one, "OSSL_PKEY_PARAM_MLKEM_SEED" is documented along this line and reads

This optional parameter can be used to set the value prior to key pair generation.

Or do you prefer a specific additional statement along the lines "This parameter can only be set." or even (additionally?) "This parameter cannot be retrieved."?

The MLKEM KEM "OSSL_KEM_PARAM_MLKEM_ENC_ENTROPY" param does have such very explicit statement even though upon re-reading that seems a bit "too much"/"in your face" in my eyes.

Just let me know what you prefer and/or is the norm for other docs and I'll adapt.

@mattcaswell
Copy link
Member

Or do you prefer a specific additional statement along the lines "This parameter can only be set."

Something like that would be helpful I think. It is implied that it can only be set, but only by absence of anything being said about getting.

Nothing is said about the getability/setability of OSSL_PKEY_PARAM_PUB_KEY, OSSL_PKEY_PARAM_PRIV_KEY - so I think we should be more explicit here.

@vdukhovni
Copy link

I have a bunch of minor tweaks to existing docs with mostly breadcrumb comments about specific places to mention MLKEM in the future, and a couple of places where it was already possible before this PR lands.

Should I hold on to these, or push them to this PR?

@baentsch
Copy link
Contributor Author

baentsch commented Dec 5, 2024

Or do you prefer a specific additional statement along the lines "This parameter can only be set."

Something like that would be helpful I think. It is implied that it can only be set, but only by absence of anything being said about getting.

Explicit statement added.

Nothing is said about the getability/setability of OSSL_PKEY_PARAM_PUB_KEY, OSSL_PKEY_PARAM_PRIV_KEY - so I think we should be more explicit here.

Usage reference added.

Copy link
Member

@mattcaswell mattcaswell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@vdukhovni please reconfirm

@paulidale paulidale added approval: review pending This pull request needs review by a committer and removed approval: done This pull request has the required number of approvals labels Dec 12, 2024
@t8m t8m added approval: done This pull request has the required number of approvals and removed approval: review pending This pull request needs review by a committer labels Dec 13, 2024
@openssl-machine openssl-machine added approval: ready to merge The 24 hour grace period has passed, ready to merge and removed approval: done This pull request has the required number of approvals labels Dec 14, 2024
@openssl-machine
Copy link
Collaborator

This pull request is ready to merge

@t8m
Copy link
Member

t8m commented Dec 16, 2024

Squashed and merged to the feature branch. Thank you.

@t8m t8m closed this Dec 16, 2024
openssl-machine pushed a commit that referenced this pull request Dec 16, 2024
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from #26037)
@baentsch baentsch mentioned this pull request Dec 18, 2024
3 tasks
vdukhovni pushed a commit to vdukhovni/openssl that referenced this pull request Jan 7, 2025
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from openssl#26037)
t8m pushed a commit to t8m/openssl that referenced this pull request Jan 7, 2025
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from openssl#26037)
vdukhovni pushed a commit to vdukhovni/openssl that referenced this pull request Jan 8, 2025
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from openssl#26037)
vdukhovni pushed a commit to vdukhovni/openssl that referenced this pull request Jan 14, 2025
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from openssl#26037)
vdukhovni pushed a commit to vdukhovni/openssl that referenced this pull request Jan 14, 2025
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from openssl#26037)
openssl-machine pushed a commit that referenced this pull request Jan 17, 2025
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from #26037)
openssl-machine pushed a commit that referenced this pull request Jan 19, 2025
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from #26037)
openssl-machine pushed a commit that referenced this pull request Jan 21, 2025
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from #26037)
openssl-machine pushed a commit that referenced this pull request Jan 22, 2025
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from #26037)
openssl-machine pushed a commit that referenced this pull request Jan 25, 2025
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from #26037)
openssl-machine pushed a commit that referenced this pull request Feb 5, 2025
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from #26037)
openssl-machine pushed a commit that referenced this pull request Feb 7, 2025
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from #26037)
vdukhovni pushed a commit to vdukhovni/openssl that referenced this pull request Feb 12, 2025
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from openssl#26037)
openssl-machine pushed a commit that referenced this pull request Feb 14, 2025
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from #26037)
definability pushed a commit to definability/openssl that referenced this pull request Feb 25, 2025
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from openssl#26037)
quarckster pushed a commit to quarckster/openssl-fork that referenced this pull request Feb 27, 2025
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from openssl#26037)
DDvO pushed a commit to siemens/openssl that referenced this pull request Jun 16, 2025
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from openssl#26037)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approval: ready to merge The 24 hour grace period has passed, ready to merge tests: exempted The PR is exempt from requirements for testing triaged: design The issue/pr deals with a design document triaged: documentation The issue/pr deals with documentation (errors)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants