Streamline PSA key type and curve encodings #330

Merged
gilles-peskine-arm merged 23 commits from psa-streamline_encodings-types_and_curves into development 2020-01-31 07:52:16 -06:00
gilles-peskine-arm commented 2019-12-04 14:10:17 -06:00 (Migrated from github.com)

Change psa_key_type_t to a more compact 16-bit type.

Change the encoding of elliptic curves (and FFDH groups) drastically: now there is an 8-bit curve family in the lower 8 bits of the key type. A curve family can include several curves as long as they all have different octet lengths. The precise curve is determined by the curve family and the key size, which is fully known when generating or deriving a key and known up to byte granularity when importing a key. Rationale: it makes the encoding more compact, and makes it easier for applications to work with multiple curves without having to embed a conversion between the curve/type encoding and the size.

Distinct key types have a Hamming distance of at least 2. This helps implementations that protect against a single bit flip. This is done by making the least significant bit a parity bit.

Elliptic curves no longer use the encoding from the TLS registry, which was restrictive because it has little room reserved for curves that aren't in the registry, but the world outside TLS uses quite a few curves that aren't used in TLS.

Private discussion about the design: https://github.com/ARMmbed/psa-crypto/issues/122#issuecomment-561096308

This breaks the build of the attestation service in Mbed OS due to the change in how elliptic curves are encoded.

Needs preceding PRs:

Change `psa_key_type_t` to a more compact 16-bit type. Change the encoding of elliptic curves (and FFDH groups) drastically: now there is an 8-bit curve family in the lower 8 bits of the key type. A curve family can include several curves as long as they all have different octet lengths. The precise curve is determined by the curve family and the key size, which is fully known when generating or deriving a key and known up to byte granularity when importing a key. Rationale: it makes the encoding more compact, and makes it easier for applications to work with multiple curves without having to embed a conversion between the curve/type encoding and the size. Distinct key types have a Hamming distance of at least 2. This helps implementations that protect against a single bit flip. This is done by making the least significant bit a parity bit. Elliptic curves no longer use the encoding from the TLS registry, which was restrictive because it has little room reserved for curves that aren't in the registry, but the world outside TLS uses quite a few curves that aren't used in TLS. Private discussion about the design: https://github.com/ARMmbed/psa-crypto/issues/122#issuecomment-561096308 This breaks the build of the attestation service in Mbed OS due to the change in how elliptic curves are encoded. Needs preceding PRs: * https://github.com/ARMmbed/mbedtls/pull/2964 — change the code of ssl_cli so that it works with the new curve encoding. * [upcoming PR to https://github.com/ARMmbed/mbed-os] — change the code of the attestation service so that it works with the new curve encoding.
athoelke (Migrated from github.com) reviewed 2019-12-04 14:55:14 -06:00
athoelke (Migrated from github.com) commented 2019-12-04 14:55:14 -06:00

Technically redundant test as the specification of the macro says "unspecified if not a supported cipher key type".

Technically redundant test as the specification of the macro says "unspecified if not a supported cipher key type".
gilles-peskine-arm (Migrated from github.com) reviewed 2019-12-04 14:59:02 -06:00
gilles-peskine-arm (Migrated from github.com) commented 2019-12-04 14:59:01 -06:00

That's the Mbed Crypto implementation which currently tends to favor robustness over minimal code size.

That's the Mbed Crypto implementation which currently tends to favor robustness over minimal code size.
athoelke (Migrated from github.com) reviewed 2019-12-04 15:10:10 -06:00
athoelke (Migrated from github.com) commented 2019-12-04 15:10:10 -06:00

Presume this should bx 0x020000? - to align with the definition of the ECC group families?

Presume this should bx `0x020000`? - to align with the definition of the ECC group families?
athoelke (Migrated from github.com) reviewed 2019-12-04 15:21:12 -06:00
athoelke (Migrated from github.com) commented 2019-12-04 15:21:12 -06:00

At least - when first introduced, until the commit that changes to 16-bit key types...

At least - when first introduced, until the commit that changes to 16-bit key types...
athoelke (Migrated from github.com) reviewed 2019-12-04 15:36:59 -06:00
athoelke (Migrated from github.com) left a comment
No description provided.
From a design perspective, this looks pretty sound to me. It deals with some primary concerns: * improves code size and coding logic for applications, by not encoding the key size in different ways in two places * increases room for vendor defined keys in the ECC and DH spaces * Provides some mitigation against bit-flip fault attacks.
athoelke (Migrated from github.com) reviewed 2019-12-06 10:49:12 -06:00
@ -582,2 +578,4 @@
#define PSA_GET_KEY_TYPE_BLOCK_SIZE_EXPONENT(type) \
(((type) >> 8) & 7)
/** The block size of a block cipher.
athoelke (Migrated from github.com) commented 2019-12-06 10:49:12 -06:00

"subet" -> "subset"

"subet" -> "subset"
athoelke (Migrated from github.com) reviewed 2019-12-06 10:49:33 -06:00
@ -582,2 +578,4 @@
#define PSA_GET_KEY_TYPE_BLOCK_SIZE_EXPONENT(type) \
(((type) >> 8) & 7)
/** The block size of a block cipher.
athoelke (Migrated from github.com) commented 2019-12-06 10:49:32 -06:00

"subet" -> "subset"

"subet" -> "subset"
athoelke (Migrated from github.com) reviewed 2019-12-13 10:30:44 -06:00
athoelke (Migrated from github.com) commented 2019-12-13 10:30:44 -06:00

This isn't going to work anymore after the removal of the curve size from the key type.

This isn't going to work anymore after the removal of the curve size from the key type.
athoelke commented 2019-12-16 04:41:48 -06:00 (Migrated from github.com)

There are a few more places which refer to the ECC curves using wildcard references (PSA_ECC_CURVE_XXX):

  • PSA_ALG_ECDH
  • psa_export_key()
There are a few more places which refer to the ECC curves using wildcard references (PSA_ECC_CURVE_XXX): - `PSA_ALG_ECDH` - `psa_export_key()`
Patater (Migrated from github.com) requested changes 2019-12-20 04:13:36 -06:00
@ -160,81 +160,96 @@ static inline psa_algorithm_t mbedtls_psa_translate_md( mbedtls_md_type_t md_alg
/* Translations for ECC. */
Patater (Migrated from github.com) commented 2019-12-20 03:34:37 -06:00

RFC 5639 seems to indicate that brainpoolP512r1 is 512 bits, not 521 bits.

RFC 5639 seems to indicate that brainpoolP512r1 is 512 bits, not 521 bits.
Patater (Migrated from github.com) commented 2019-12-20 03:44:47 -06:00

We very recently added these GREASE values. It's intentional to remove them now? Where is it documented how vendors can use GREASE now after this change?

We very recently added these GREASE values. It's intentional to remove them now? Where is it documented how vendors can use GREASE now after this change?
@ -375,71 +375,118 @@ static inline int psa_key_slot_is_external( const psa_key_slot_t *slot )
#endif /* MBEDTLS_PSA_CRYPTO_SE_C */
Patater (Migrated from github.com) commented 2019-12-20 03:41:51 -06:00

Isn't Curve25519 255 bits not 519 bits?

Isn't Curve25519 255 bits not 519 bits?
Patater (Migrated from github.com) commented 2019-12-20 03:52:00 -06:00

Is it guaranteed that shared_secret will not contain secret data if mbedtls_ecdh_calc_secret() fails? If not, we should zeroize it before returning. We should also check that mbedtls_ecdh_free() will remove secrets from ecdh even if mbedtls_ecdh_calc_secret has erred.

Is it guaranteed that `shared_secret` will not contain secret data if `mbedtls_ecdh_calc_secret()` fails? If not, we should zeroize it before returning. We should also check that `mbedtls_ecdh_free()` will remove secrets from `ecdh` even if `mbedtls_ecdh_calc_secret` has erred.
@ -276,0 +275,4 @@
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
pk_psa_sign:MBEDTLS_ECP_DP_SECP256R1:PSA_ECC_CURVE_SECP_R1:256
PSA wrapped sign: SECP384R1
Patater (Migrated from github.com) commented 2019-12-20 03:57:06 -06:00

Can we test with RSA as well? I'd guess we could if we'd have implemented RSA via PK via PSA...

Can we test with RSA as well? I'd guess we could if we'd have implemented RSA via PK via PSA...
@ -276,0 +300,4 @@
depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED
pk_psa_sign:MBEDTLS_ECP_DP_BP256R1:PSA_ECC_CURVE_BRAINPOOL_P_R1:256
PSA wrapped sign: BP384R1
Patater (Migrated from github.com) commented 2019-12-20 03:55:10 -06:00

Consider adding test for BP512R1 (and perhaps a different test for Curve25519) as well. They could have caught some issues.

Consider adding test for BP512R1 (and perhaps a different test for Curve25519) as well. They could have caught some issues.
Patater (Migrated from github.com) commented 2019-12-20 03:58:28 -06:00

Consider renaming to pk_psa_ecdsa_sign() to emphasize that this function is for ECDSA testing and isn't generic enough to support e.g. RSA.

Consider renaming to pk_psa_ecdsa_sign() to emphasize that this function is for ECDSA testing and isn't generic enough to support e.g. RSA.
@ -59,0 +65,4 @@
value ^= value >> 4;
return( 0x9669 & 1 << ( value & 0xf ) );
}
#define TEST_PARITY( value ) \
Patater (Migrated from github.com) commented 2019-12-20 04:06:19 -06:00

Suggestion: TEST_ODD_PARITY() to make it clear what about parity you are checking for.

Suggestion: `TEST_ODD_PARITY()` to make it clear what about parity you are checking for.
gilles-peskine-arm (Migrated from github.com) reviewed 2019-12-20 07:23:09 -06:00
@ -160,81 +160,96 @@ static inline psa_algorithm_t mbedtls_psa_translate_md( mbedtls_md_type_t md_alg
/* Translations for ECC. */
gilles-peskine-arm (Migrated from github.com) commented 2019-12-20 07:23:09 -06:00

Typo. Fixed by amending the commit.

Typo. Fixed by amending the commit.
gilles-peskine-arm (Migrated from github.com) reviewed 2019-12-20 07:23:33 -06:00
@ -375,71 +375,118 @@ static inline int psa_key_slot_is_external( const psa_key_slot_t *slot )
#endif /* MBEDTLS_PSA_CRYPTO_SE_C */
gilles-peskine-arm (Migrated from github.com) commented 2019-12-20 07:23:33 -06:00

My search-and-replace wasn't quite right. Fixed by amending the commit.

My search-and-replace wasn't quite right. Fixed by amending the commit.
gilles-peskine-arm (Migrated from github.com) reviewed 2019-12-20 07:24:47 -06:00
gilles-peskine-arm (Migrated from github.com) commented 2019-12-20 07:24:47 -06:00

GREASE is a TLS feature. It's irrelevant here. Using values reserved for GREASE was a hack to get more room for values not defined by the TLS registry. Since we no longer leverage the TLS registry, GREASE is not relevant anymore.

GREASE is a TLS feature. It's irrelevant here. Using values reserved for GREASE was a hack to get more room for values not defined by the TLS registry. Since we no longer leverage the TLS registry, GREASE is not relevant anymore.
gilles-peskine-arm (Migrated from github.com) reviewed 2019-12-20 07:28:47 -06:00
@ -276,0 +300,4 @@
depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED
pk_psa_sign:MBEDTLS_ECP_DP_BP256R1:PSA_ECC_CURVE_BRAINPOOL_P_R1:256
PSA wrapped sign: BP384R1
gilles-peskine-arm (Migrated from github.com) commented 2019-12-20 07:28:47 -06:00

I added a test for all supported curves in Mbed Crypto except secp224k1. There's no test for Curve25519 because it can't be used for ECDSA and that's the only pk-over-psa interface that's implemented.

I added a test for all supported curves in Mbed Crypto [except secp224k1](https://github.com/ARMmbed/mbed-crypto/issues/336). There's no test for Curve25519 because it can't be used for ECDSA and that's the only pk-over-psa interface that's implemented.
gilles-peskine-arm (Migrated from github.com) reviewed 2019-12-20 07:28:50 -06:00
gilles-peskine-arm (Migrated from github.com) commented 2019-12-20 07:28:50 -06:00

Good point. mbedtls_ecdh_calc_secret is implemented safely (it only writes its output as the very last, non-fallible step), but robustness here is good. More importantly, if the size check fails, it's possible that the leaked output would be sensitive (I haven't analyzed to check).

Good point. `mbedtls_ecdh_calc_secret` is implemented safely (it only writes its output as the very last, non-fallible step), but robustness here is good. More importantly, if the size check fails, it's possible that the leaked output would be sensitive (I haven't analyzed to check).
gilles-peskine-arm (Migrated from github.com) reviewed 2019-12-20 07:29:11 -06:00
@ -276,0 +275,4 @@
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
pk_psa_sign:MBEDTLS_ECP_DP_SECP256R1:PSA_ECC_CURVE_SECP_R1:256
PSA wrapped sign: SECP384R1
gilles-peskine-arm (Migrated from github.com) commented 2019-12-20 07:29:11 -06:00

No, pk-over-psa is not implemented for RSA.

No, pk-over-psa is not implemented for RSA.
gilles-peskine-arm (Migrated from github.com) reviewed 2019-12-20 07:29:25 -06:00
gilles-peskine-arm (Migrated from github.com) commented 2019-12-20 07:29:25 -06:00

This is a preexisting function. Renaming it would be out of scope.

This is a preexisting function. Renaming it would be out of scope.
gilles-peskine-arm (Migrated from github.com) reviewed 2019-12-20 07:30:53 -06:00
@ -59,0 +65,4 @@
value ^= value >> 4;
return( 0x9669 & 1 << ( value & 0xf ) );
}
#define TEST_PARITY( value ) \
gilles-peskine-arm (Migrated from github.com) commented 2019-12-20 07:30:53 -06:00

It's actually even parity (so that 0 has the correct parity). And I think the macro name should not indicate which parity it is. The job of the macro is to test for the expected parity, not for even parity.

It's actually even parity (so that 0 has the correct parity). And I think the macro name should not indicate which parity it is. The job of the macro is to test for the _expected_ parity, not for even parity.
AndrzejKurek (Migrated from github.com) reviewed 2020-01-03 05:13:26 -06:00
@ -50,6 +50,8 @@ extern "C" {
typedef MBEDTLS_PSA_DEPRECATED size_t mbedtls_deprecated_size_t;
AndrzejKurek (Migrated from github.com) commented 2020-01-03 05:13:25 -06:00

Minor: typo in commit 27f8944 - Remove the values of curve encodings that is based - encodings/values are plural, so I'd assume that it should be that **are** based.
Also, andinclude -> and include

Minor: typo in commit 27f8944 - `Remove the values of curve encodings that is based` - encodings/values are plural, so I'd assume that it should be `that **are** based`. Also, `andinclude` -> `and include`
AndrzejKurek (Migrated from github.com) reviewed 2020-01-03 05:23:00 -06:00
AndrzejKurek (Migrated from github.com) commented 2020-01-03 05:22:59 -06:00

I assume that key bits can be inferred from key data, right?

I assume that key bits can be inferred from key data, right?
Patater (Migrated from github.com) reviewed 2020-01-28 05:57:00 -06:00
@ -59,0 +65,4 @@
value ^= value >> 4;
return( 0x9669 & 1 << ( value & 0xf ) );
}
#define TEST_PARITY( value ) \
Patater (Migrated from github.com) commented 2020-01-28 05:56:59 -06:00

I'll explain where I'm coming from. If a hardware datasheet says "odd parity bit", I would expect a value of 1 there to mean odd parity and 0 to mean even parity. If a datasheet says "even parity bit", then I expect a value of 1 there to mean even parity, and 0 to mean odd parity. If the datasheet says "parity bit", I am unclear what the hardware will place there.

In this case, I read "value" as the value you wanted to check the parity of, not the expected parity. Consider renaming "value" to "expected_parity" if the job of the macro is to test for arbitrary expected parity. Consider renaming to TEST_EVEN_PARITY if value is the value you are checking the parity of. The comment you've added to test_parity is good, as it says what sort of parity you are checking for, but the names could still be more clear.

I'll explain where I'm coming from. If a hardware datasheet says "odd parity bit", I would expect a value of 1 there to mean odd parity and 0 to mean even parity. If a datasheet says "even parity bit", then I expect a value of 1 there to mean even parity, and 0 to mean odd parity. If the datasheet says "parity bit", I am unclear what the hardware will place there. In this case, I read "value" as the value you wanted to check the parity of, not the expected parity. Consider renaming "value" to "expected_parity" if the job of the macro is to test for arbitrary expected parity. Consider renaming to `TEST_EVEN_PARITY` if value is the value you are checking the parity of. The comment you've added to `test_parity` is good, as it says what sort of parity you are checking for, but the names could still be more clear.
Patater (Migrated from github.com) reviewed 2020-01-28 06:15:47 -06:00
@ -3502,10 +3502,10 @@ psa_status_t psa_key_derivation_output_bytes(
* length is determined by the curve, and sets the mandatory bits
Patater (Migrated from github.com) commented 2020-01-28 05:59:13 -06:00

We stopped calling these curves "XED" in the latest spec. We may want to avoid adding more uses of "XED" that we'll need to remove later by using the new label.

We stopped calling these curves "XED" in the latest spec. We may want to avoid adding more uses of "XED" that we'll need to remove later by using the new label.
@ -458,70 +458,82 @@
((type) & PSA_KEY_TYPE_ECC_CURVE_MASK) : \
Patater (Migrated from github.com) commented 2020-01-28 06:04:44 -06:00

Consider using PSA_ECC_FAMILY_MONTGOMERY instead, to be more up to date with the latest PSA spec.

Consider using `PSA_ECC_FAMILY_MONTGOMERY` instead, to be more up to date with the latest PSA spec.
Patater (Migrated from github.com) commented 2020-01-28 06:12:35 -06:00

Could easily be added in a new commit within the same PR. Next opportunity for rename is when we add a new function for testing RSA.

Could easily be added in a new commit within the same PR. Next opportunity for rename is when we add a new function for testing RSA.
gilles-peskine-arm (Migrated from github.com) reviewed 2020-01-30 11:10:28 -06:00
@ -59,0 +65,4 @@
value ^= value >> 4;
return( 0x9669 & 1 << ( value & 0xf ) );
}
#define TEST_PARITY( value ) \
gilles-peskine-arm (Migrated from github.com) commented 2020-01-30 11:10:27 -06:00

The name of the macro deliberately doesn't say which way the parity should go because its job is to test for whatever parity the API design intends. The fact that it's even parity is an implementation detail.

I don't understand how you come to name it odd parity. A value is correct iff the number of bits that is set is even.

I don't understand why you want to rename the argument. The argument is a value whose parity needs to be checked. There is no argument indicating what parity is expected: that's built into the code, since all values that are checked for parity must obey the same parity requirement.

The name of the macro deliberately doesn't say which way the parity should go because its job is to test for whatever parity the API design intends. The fact that it's even parity is an implementation detail. I don't understand how you come to name it odd parity. A value is correct iff the number of bits that is set is even. I don't understand why you want to rename the argument. The argument is a value whose parity needs to be checked. There is no argument indicating what parity is expected: that's built into the code, since all values that are checked for parity must obey the same parity requirement.
gilles-peskine-arm (Migrated from github.com) reviewed 2020-01-30 11:13:34 -06:00
gilles-peskine-arm (Migrated from github.com) commented 2020-01-30 11:13:34 -06:00

Yes, in most cases. The exception would be for EC or DH keys if there were two curves in the same family with sizes that are within the same range [8k, 8k+7], but there are no such families and I don't expect there to ever be any such family.

Yes, in most cases. The exception would be for EC or DH keys if there were two curves in the same family with sizes that are within the same range [8*k, 8*k+7], but there are no such families and I don't expect there to ever be any such family.
gilles-peskine-arm (Migrated from github.com) reviewed 2020-01-30 11:15:42 -06:00
gilles-peskine-arm (Migrated from github.com) commented 2020-01-30 11:15:41 -06:00

Or we might modify this function to support RSA, in which case renaming it now would have been the wrong thing. This PR is big enough as it is; I'm not renaming this function.

Or we might modify this function to support RSA, in which case renaming it now would have been the wrong thing. This PR is big enough as it is; I'm not renaming this function.
gilles-peskine-arm (Migrated from github.com) reviewed 2020-01-30 11:25:28 -06:00
@ -458,70 +458,82 @@
((type) & PSA_KEY_TYPE_ECC_CURVE_MASK) : \
gilles-peskine-arm (Migrated from github.com) commented 2020-01-30 11:25:27 -06:00

Since I was rewriting history anyway, I made it MONTGOMERY from the get go.

Since I was rewriting history anyway, I made it `MONTGOMERY` from the get go.
gilles-peskine-arm (Migrated from github.com) reviewed 2020-01-30 11:26:17 -06:00
gilles-peskine-arm (Migrated from github.com) commented 2020-01-30 11:26:17 -06:00

I amended the old commits.

I amended the old commits.
gilles-peskine-arm (Migrated from github.com) reviewed 2020-01-30 11:26:44 -06:00
@ -50,6 +50,8 @@ extern "C" {
typedef MBEDTLS_PSA_DEPRECATED size_t mbedtls_deprecated_size_t;
gilles-peskine-arm (Migrated from github.com) commented 2020-01-30 11:26:43 -06:00

I fixed the commit message.

I fixed the commit message.
gilles-peskine-arm commented 2020-01-30 11:29:40 -06:00 (Migrated from github.com)

I rebased yet again.

  • Rebased on top of development so that there are no merge conflicts.
  • Fixed typos in older commits.
  • Rewrote history so that it's PSA_ECC_CURVE_MONTGOMERY from the start and not _XED.
I rebased yet again. * Rebased on top of `development` so that there are no merge conflicts. * Fixed typos in older commits. * Rewrote history so that it's `PSA_ECC_CURVE_MONTGOMERY` from the start and not `_XED`.
Patater (Migrated from github.com) reviewed 2020-01-30 11:30:44 -06:00
Patater (Migrated from github.com) commented 2020-01-30 11:30:44 -06:00

Making the function do even more and be even larger would be dumb. Test functions should be small and focused on what they are testing.

Making the function do even more and be even larger would be dumb. Test functions should be small and focused on what they are testing.
gilles-peskine-arm (Migrated from github.com) reviewed 2020-01-30 11:38:52 -06:00
gilles-peskine-arm (Migrated from github.com) commented 2020-01-30 11:38:51 -06:00

The role of the function is to test signing through pk-over-psa. The current implementation is a monolithic sequence of actions to generate a key, encapsulate it, perform the signature and verify the result. Good, textbook design would be to make each step into an auxiliary function that receives the key type as an argument (if necessary) and does its job given the key type. Having separate functions with the same structure for different key types would violate DRY. Now, these are unit tests, and some amount of repetition is excusable. Still, I would prefer to have more auxiliary functions and less repetition in our test suites, not more.

The _role_ of the function is to test signing through pk-over-psa. The current implementation is a monolithic sequence of actions to generate a key, encapsulate it, perform the signature and verify the result. Good, textbook design would be to make each step into an auxiliary function that receives the key type as an argument (if necessary) and does its job given the key type. Having separate functions with the same structure for different key types would violate DRY. Now, these are unit tests, and some amount of repetition is excusable. Still, I would prefer to have more auxiliary functions and less repetition in our test suites, not more.
gilles-peskine-arm commented 2020-01-30 13:01:57 -06:00 (Migrated from github.com)

The Crypto CI passed except for Mbed OS which is already broken before this PR and will require a further update after this PR.

The TLS CI is not expected to pass here because an update of the crypto submodule is required. https://github.com/ARMmbed/mbedtls/pull/2964 updates the crypto submodule.

The Crypto CI passed except for Mbed OS which is already broken before this PR and will require a further update after this PR. The TLS CI is not expected to pass here because an update of the crypto submodule is required. https://github.com/ARMmbed/mbedtls/pull/2964 updates the crypto submodule.
gilles-peskine-arm commented 2020-01-31 03:14:40 -06:00 (Migrated from github.com)

Another day, another merge conflict. I'll rebase.

Another day, another merge conflict. I'll rebase.
gilles-peskine-arm commented 2020-01-31 04:12:48 -06:00 (Migrated from github.com)

The Crypto CI passed except for Mbed OS which is already broken before this PR and will require a further update after this PR.

The TLS CI is not expected to pass here because an update of the crypto submodule is required. https://github.com/ARMmbed/mbedtls/pull/2964 updates the crypto submodule.

The Crypto CI passed except for Mbed OS which is already broken before this PR and will require a further update after this PR. The TLS CI is not expected to pass here because an update of the crypto submodule is required. https://github.com/ARMmbed/mbedtls/pull/2964 updates the crypto submodule.
Patater (Migrated from github.com) approved these changes 2020-01-31 04:45:23 -06:00
Patater (Migrated from github.com) left a comment

Only subjective clarity improvements recommended, non-blocking.

Only subjective clarity improvements recommended, non-blocking.
AndrzejKurek (Migrated from github.com) approved these changes 2020-01-31 07:23:03 -06:00
gilles-peskine-arm commented 2020-01-31 07:34:18 -06:00 (Migrated from github.com)

With two approvals and with acceptable CI (crypto and TLS pass except for known unrelated failures), this is ready for merge. Since it will disrupt TLS testing until the corresponding TLS PR https://github.com/ARMmbed/mbedtls/pull/2964 is merged, we should merge this when we're ready to move on with https://github.com/ARMmbed/mbedtls/pull/2964.

With two approvals and with acceptable CI (crypto and TLS pass except for known unrelated failures), this is ready for merge. Since it will disrupt TLS testing until the corresponding TLS PR https://github.com/ARMmbed/mbedtls/pull/2964 is merged, we should merge this when we're ready to move on with https://github.com/ARMmbed/mbedtls/pull/2964.
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
gh-ARMmbed/mbed-crypto!330
No description provided.