[OTC VOTE PROPOSAL] Approve behavior change for `pkey -[pub]check`

Matt Caswell matt at openssl.org
Wed Nov 11 09:10:47 UTC 2020


I have no problem  with the proposal or the vote text. I only wonder
whether, as a breaking change an OMC vote is required? Or is an OTC vote
sufficient?

Matt


On 10/11/2020 16:15, Nicola Tuveri wrote:
> ## Background
> 
> As part of the discussion in [issue #8435], it was highlighted that both
> in 1.1.1 and master we are missing tests to validate decoded SM2 keys.
> The `openssl pkey -check` (or `pkey -pubcheck` to validate only the
> public key component) command allows to explicitly execute the
> validation checks, while on regular operations (e.g., using `pkeyutl` or
> `dgst`) no validation of the input keys is normally done (probably by
> design).
> 
> In [PR 13359] I am adding new tests, using `openssl pkey -check` to
> validate specific key corner cases, for P-256 as an exemplar for EC keys
> and for SM2 keys.
> Unfortunately `openssl pkey -check` behavior currently shows the result
> of the validation only in the text output, so parsing of `stdout` would
> require measuring the test results.
> In the PR I am proposing to change the behavior of `openssl pkey` so
> that an early exit is triggered if `-check` or `-pubcheck` validation
> fails, exiting with a failure exit status: [apps/pkey.c changes].
> 
> This is a breaking change in the behavior of `openssl pkey` and the
> reason why I am planning to raise a vote to approve this change.
> 
> Note that during our OTC meeting today it was proposed as an alternative
> to have a more generic vote on approving this kind of change in general
> for all similar situations across all the apps.
> While I am not opposed to such a decision, I am afraid having such a
> generic vote might be quite difficult:
> 
> - I am not sure I can express in a clear and unambiguous what are the
>   conditions to fall within "similar situations", making such a
>   decision hard to execute in practical terms;
> - I personally cannot commit to execute such vote across all apps and
>   all relevant conditions: doing so requires extensive review of the
>   apps logic in parsing the CLI switches, of conformity with existing
>   documentation and an exploration of existing use patterns in the user
>   codebase to see what are the expectations and estimate the impact of
>   such changes. It would also require writing an extensive battery of
>   tests to ensure we behave as documented/expected across apps and CLI
>   switches.
> - The amount of work to which we would commit after such a generic
>   decision, and the impact it could have on the behavior consistency
>   w.r.t. 3.0 and 1.1.1, would make me think such a decision is more in
>   the realm of strategic objectives, for which an OMC vote would be more
>   appropriate.
> 
> For these reasons, at this time, I am opting to propose an OTC vote on
> the single case of the behavior change of `pkey -check`/`pkey -pubcheck`
> rather than a more generic one, and I will let others decide if a more
> generic vote is also required/appropriate and if it can be framed
> exclusively within the technical prerogatives of the OTC decision
> process.
> 
> ## Proposed vote text
> 
>     Change the behavior of `pkey -check`
>     and `pkey -pubcheck` in 3.0 to trigger an
>     early exit if validation fails, returning a
>     failure exit status to the parent process.
> 
> ---
> 
> Please leave feedback relevant to the proposed vote text and the scope
> of the vote.
> In absence of feedback I plan to open the actual vote in 24h.
> 
> 
> 
> Cheers,
> 
> Nicola
> 
> ---
> 
> [issue #8435]: <https://github.com/openssl/openssl/issues/8435>
> [PR 13359]: <https://github.com/openssl/openssl/pull/13359>
> [apps/pkey.c changes]:
> <https://github.com/openssl/openssl/pull/13359/files#diff-810c047ab642e686cab85b16802e9190bbc9f2f9bfce8a55fb8d6b744caa9091>
> 


More information about the openssl-project mailing list