Merge pull request #6937 from valeriosetti/issue6886
Add test for PK parsing of keys using compressed points
This commit is contained in:
commit
c5e2a4fe67
21 changed files with 222 additions and 4 deletions
|
@ -419,11 +419,22 @@ typedef struct mbedtls_ecp_keypair {
|
||||||
}
|
}
|
||||||
mbedtls_ecp_keypair;
|
mbedtls_ecp_keypair;
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Point formats, from RFC 4492's enum ECPointFormat
|
* The uncompressed point format for Short Weierstrass curves
|
||||||
|
* (MBEDTLS_ECP_DP_SECP_XXX and MBEDTLS_ECP_DP_BP_XXX).
|
||||||
*/
|
*/
|
||||||
#define MBEDTLS_ECP_PF_UNCOMPRESSED 0 /**< Uncompressed point format. */
|
#define MBEDTLS_ECP_PF_UNCOMPRESSED 0
|
||||||
#define MBEDTLS_ECP_PF_COMPRESSED 1 /**< Compressed point format. */
|
/**
|
||||||
|
* The compressed point format for Short Weierstrass curves
|
||||||
|
* (MBEDTLS_ECP_DP_SECP_XXX and MBEDTLS_ECP_DP_BP_XXX).
|
||||||
|
*
|
||||||
|
* \warning While this format is supported for all concerned curves for
|
||||||
|
* writing, when it comes to parsing, it is not supported for all
|
||||||
|
* curves. Specifically, parsing compressed points on
|
||||||
|
* MBEDTLS_ECP_DP_SECP224R1 and MBEDTLS_ECP_DP_SECP224K1 is not
|
||||||
|
* supported.
|
||||||
|
*/
|
||||||
|
#define MBEDTLS_ECP_PF_COMPRESSED 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Some other constants from RFC 4492
|
* Some other constants from RFC 4492
|
||||||
|
@ -752,6 +763,9 @@ int mbedtls_ecp_point_write_binary(const mbedtls_ecp_group *grp,
|
||||||
* belongs to the given group, see mbedtls_ecp_check_pubkey()
|
* belongs to the given group, see mbedtls_ecp_check_pubkey()
|
||||||
* for that.
|
* for that.
|
||||||
*
|
*
|
||||||
|
* \note For compressed points, see #MBEDTLS_ECP_PF_COMPRESSED for
|
||||||
|
* limitations.
|
||||||
|
*
|
||||||
* \param grp The group to which the point should belong.
|
* \param grp The group to which the point should belong.
|
||||||
* This must be initialized and have group parameters
|
* This must be initialized and have group parameters
|
||||||
* set, for example through mbedtls_ecp_group_load().
|
* set, for example through mbedtls_ecp_group_load().
|
||||||
|
|
|
@ -846,6 +846,9 @@ int mbedtls_pk_parse_key(mbedtls_pk_context *ctx,
|
||||||
* with mbedtls_pk_init() or reset with mbedtls_pk_free(). If you need a
|
* with mbedtls_pk_init() or reset with mbedtls_pk_free(). If you need a
|
||||||
* specific key type, check the result with mbedtls_pk_can_do().
|
* specific key type, check the result with mbedtls_pk_can_do().
|
||||||
*
|
*
|
||||||
|
* \note For compressed points, see #MBEDTLS_ECP_PF_COMPRESSED for
|
||||||
|
* limitations.
|
||||||
|
*
|
||||||
* \note The key is also checked for correctness.
|
* \note The key is also checked for correctness.
|
||||||
*
|
*
|
||||||
* \return 0 if successful, or a specific PK or PEM error code
|
* \return 0 if successful, or a specific PK or PEM error code
|
||||||
|
|
|
@ -911,6 +911,70 @@ ec_prv.pk8param.pem: ec_prv.pk8param.der
|
||||||
$(OPENSSL) pkey -in $< -inform DER -out $@
|
$(OPENSSL) pkey -in $< -inform DER -out $@
|
||||||
all_final += ec_prv.pk8param.pem
|
all_final += ec_prv.pk8param.pem
|
||||||
|
|
||||||
|
ec_prv.sec1.comp.pem: ec_prv.sec1.pem
|
||||||
|
$(OPENSSL) ec -in $< -out $@ -conv_form compressed
|
||||||
|
all_final += ec_prv.sec1.comp.pem
|
||||||
|
|
||||||
|
ec_224_prv.comp.pem: ec_224_prv.pem
|
||||||
|
$(OPENSSL) ec -in $< -out $@ -conv_form compressed
|
||||||
|
all_final += ec_224_prv.comp.pem
|
||||||
|
|
||||||
|
ec_256_prv.comp.pem: ec_256_prv.pem
|
||||||
|
$(OPENSSL) ec -in $< -out $@ -conv_form compressed
|
||||||
|
all_final += ec_256_prv.comp.pem
|
||||||
|
|
||||||
|
ec_384_prv.comp.pem: ec_384_prv.pem
|
||||||
|
$(OPENSSL) ec -in $< -out $@ -conv_form compressed
|
||||||
|
all_final += ec_384_prv.comp.pem
|
||||||
|
|
||||||
|
ec_521_prv.comp.pem: ec_521_prv.pem
|
||||||
|
$(OPENSSL) ec -in $< -out $@ -conv_form compressed
|
||||||
|
all_final += ec_521_prv.comp.pem
|
||||||
|
|
||||||
|
ec_bp256_prv.comp.pem: ec_bp256_prv.pem
|
||||||
|
$(OPENSSL) ec -in $< -out $@ -conv_form compressed
|
||||||
|
all_final += ec_bp256_prv.comp.pem
|
||||||
|
|
||||||
|
ec_bp384_prv.comp.pem: ec_bp384_prv.pem
|
||||||
|
$(OPENSSL) ec -in $< -out $@ -conv_form compressed
|
||||||
|
all_final += ec_bp384_prv.comp.pem
|
||||||
|
|
||||||
|
ec_bp512_prv.comp.pem: ec_bp512_prv.pem
|
||||||
|
$(OPENSSL) ec -in $< -out $@ -conv_form compressed
|
||||||
|
all_final += ec_bp512_prv.comp.pem
|
||||||
|
|
||||||
|
ec_pub.comp.pem: ec_pub.pem
|
||||||
|
$(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
|
||||||
|
all_final += ec_pub.comp.pem
|
||||||
|
|
||||||
|
ec_224_pub.comp.pem: ec_224_pub.pem
|
||||||
|
$(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
|
||||||
|
all_final += ec_224_pub.comp.pem
|
||||||
|
|
||||||
|
ec_256_pub.comp.pem: ec_256_pub.pem
|
||||||
|
$(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
|
||||||
|
all_final += ec_256_pub.comp.pem
|
||||||
|
|
||||||
|
ec_384_pub.comp.pem: ec_384_pub.pem
|
||||||
|
$(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
|
||||||
|
all_final += ec_384_pub.comp.pem
|
||||||
|
|
||||||
|
ec_521_pub.comp.pem: ec_521_pub.pem
|
||||||
|
$(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
|
||||||
|
all_final += ec_521_pub.comp.pem
|
||||||
|
|
||||||
|
ec_bp256_pub.comp.pem: ec_bp256_pub.pem
|
||||||
|
$(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
|
||||||
|
all_final += ec_bp256_pub.comp.pem
|
||||||
|
|
||||||
|
ec_bp384_pub.comp.pem: ec_bp384_pub.pem
|
||||||
|
$(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
|
||||||
|
all_final += ec_bp384_pub.comp.pem
|
||||||
|
|
||||||
|
ec_bp512_pub.comp.pem: ec_bp512_pub.pem
|
||||||
|
$(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
|
||||||
|
all_final += ec_bp512_pub.comp.pem
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
### Generate CSRs for X.509 write test suite
|
### Generate CSRs for X.509 write test suite
|
||||||
################################################################
|
################################################################
|
||||||
|
|
4
tests/data_files/ec_224_prv.comp.pem
Normal file
4
tests/data_files/ec_224_prv.comp.pem
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
-----BEGIN EC PRIVATE KEY-----
|
||||||
|
MEwCAQEEHGhJ+X0QZvaZd1ljfH44mUZM7j7HrJcGU6C+B0KgBwYFK4EEACGhIAMe
|
||||||
|
AAMWk6KQ9/C1cf4rQdXYSwEydjH0qGD5lfozLAl/
|
||||||
|
-----END EC PRIVATE KEY-----
|
4
tests/data_files/ec_224_pub.comp.pem
Normal file
4
tests/data_files/ec_224_pub.comp.pem
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
-----BEGIN PUBLIC KEY-----
|
||||||
|
MDIwEAYHKoZIzj0CAQYFK4EEACEDHgADFpOikPfwtXH+K0HV2EsBMnYx9Khg+ZX6
|
||||||
|
MywJfw==
|
||||||
|
-----END PUBLIC KEY-----
|
4
tests/data_files/ec_256_prv.comp.pem
Normal file
4
tests/data_files/ec_256_prv.comp.pem
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
-----BEGIN EC PRIVATE KEY-----
|
||||||
|
MFcCAQEEIEnJqMGMS4hWOMQxzx3xyZQTFgm1gNT9Q6DKsX2y8T7uoAoGCCqGSM49
|
||||||
|
AwEHoSQDIgADd3Jlb4FLOZJ51eHxeB+sbwmaPFyhsONTUYNLCLZeC1c=
|
||||||
|
-----END EC PRIVATE KEY-----
|
4
tests/data_files/ec_256_pub.comp.pem
Normal file
4
tests/data_files/ec_256_pub.comp.pem
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
-----BEGIN PUBLIC KEY-----
|
||||||
|
MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgADd3Jlb4FLOZJ51eHxeB+sbwmaPFyh
|
||||||
|
sONTUYNLCLZeC1c=
|
||||||
|
-----END PUBLIC KEY-----
|
5
tests/data_files/ec_384_prv.comp.pem
Normal file
5
tests/data_files/ec_384_prv.comp.pem
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN EC PRIVATE KEY-----
|
||||||
|
MHQCAQEEMD9djZvigLVpbMXMn5TPivfmth3WWSsqsrOkxgdFBBfsMn3Nyu18EAU9
|
||||||
|
cZoFdPCnaqAHBgUrgQQAIqE0AzIAA9nGYrULopykeZBFDgQ66vTwxpsVZ20RL2Iq
|
||||||
|
cckwWa+ZlpHFaA0rRNERV52xL0pBOg==
|
||||||
|
-----END EC PRIVATE KEY-----
|
4
tests/data_files/ec_384_pub.comp.pem
Normal file
4
tests/data_files/ec_384_pub.comp.pem
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
-----BEGIN PUBLIC KEY-----
|
||||||
|
MEYwEAYHKoZIzj0CAQYFK4EEACIDMgAD2cZitQuinKR5kEUOBDrq9PDGmxVnbREv
|
||||||
|
YipxyTBZr5mWkcVoDStE0RFXnbEvSkE6
|
||||||
|
-----END PUBLIC KEY-----
|
6
tests/data_files/ec_521_prv.comp.pem
Normal file
6
tests/data_files/ec_521_prv.comp.pem
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
-----BEGIN EC PRIVATE KEY-----
|
||||||
|
MIGYAgEBBEIBsbatB7t55zINpZhg6ijgVShPYFjyed5mbgbUNdKve9oo2Z+ke33Q
|
||||||
|
lj4WsAcweO6LijjZZqWC9G0Z/5XfOtloWq6gBwYFK4EEACOhRgNEAAMAHeFC1U9p
|
||||||
|
6wOO5LevnTygdzb9nPcZ6zVNaYee5/PBNvsPv58I+Gvl+hKOwaBR0+bGQ+ha2o/6
|
||||||
|
zzZjwmC9LIRLb1Y=
|
||||||
|
-----END EC PRIVATE KEY-----
|
4
tests/data_files/ec_521_pub.comp.pem
Normal file
4
tests/data_files/ec_521_pub.comp.pem
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
-----BEGIN PUBLIC KEY-----
|
||||||
|
MFgwEAYHKoZIzj0CAQYFK4EEACMDRAADAB3hQtVPaesDjuS3r508oHc2/Zz3Ges1
|
||||||
|
TWmHnufzwTb7D7+fCPhr5foSjsGgUdPmxkPoWtqP+s82Y8JgvSyES29W
|
||||||
|
-----END PUBLIC KEY-----
|
4
tests/data_files/ec_bp256_prv.comp.pem
Normal file
4
tests/data_files/ec_bp256_prv.comp.pem
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
-----BEGIN EC PRIVATE KEY-----
|
||||||
|
MFgCAQEEICFh1vLbdlJvpiwW81aoDwHzL3dnhLNqqZeZqLdmIID/oAsGCSskAwMC
|
||||||
|
CAEBB6EkAyIAA3aMjK5KvKYwbbDtgbDEpiFcN4Bm7G1hbBRuE/HH34Cb
|
||||||
|
-----END EC PRIVATE KEY-----
|
4
tests/data_files/ec_bp256_pub.comp.pem
Normal file
4
tests/data_files/ec_bp256_pub.comp.pem
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
-----BEGIN PUBLIC KEY-----
|
||||||
|
MDowFAYHKoZIzj0CAQYJKyQDAwIIAQEHAyIAA3aMjK5KvKYwbbDtgbDEpiFcN4Bm
|
||||||
|
7G1hbBRuE/HH34Cb
|
||||||
|
-----END PUBLIC KEY-----
|
5
tests/data_files/ec_bp384_prv.comp.pem
Normal file
5
tests/data_files/ec_bp384_prv.comp.pem
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN EC PRIVATE KEY-----
|
||||||
|
MHgCAQEEMD3ZLnUNkNfTn8GIXNitEuqUQfIrkzS02WUgKtsUSM4kxYCKhd2a/CKa
|
||||||
|
8KMST3Vby6ALBgkrJAMDAggBAQuhNAMyAAJxn50JOmJ+DTUDhcZhzr8AxhkjVm/p
|
||||||
|
AGoxB68dhxvGu2iYX9ci6jK+MW+OeDt80ZU=
|
||||||
|
-----END EC PRIVATE KEY-----
|
4
tests/data_files/ec_bp384_pub.comp.pem
Normal file
4
tests/data_files/ec_bp384_pub.comp.pem
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
-----BEGIN PUBLIC KEY-----
|
||||||
|
MEowFAYHKoZIzj0CAQYJKyQDAwIIAQELAzIAAnGfnQk6Yn4NNQOFxmHOvwDGGSNW
|
||||||
|
b+kAajEHrx2HG8a7aJhf1yLqMr4xb454O3zRlQ==
|
||||||
|
-----END PUBLIC KEY-----
|
6
tests/data_files/ec_bp512_prv.comp.pem
Normal file
6
tests/data_files/ec_bp512_prv.comp.pem
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
-----BEGIN EC PRIVATE KEY-----
|
||||||
|
MIGYAgEBBEA3LJd49p9ybLyj9KJo8WtNYX0QKA15pqApzVGHn+EBKTTf5TlUVTN9
|
||||||
|
9pBtx9bS7qTbsgZcAij3Oz7XFkgOfXHSoAsGCSskAwMCCAEBDaFEA0IAAji37JK2
|
||||||
|
HFxsf7wopOx1nUj81OLjdN79XElopU2+91EOUXiG+/w46jmqUpNZ1wpxVsNdPLrH
|
||||||
|
zndr2yUd1kvOcSM=
|
||||||
|
-----END EC PRIVATE KEY-----
|
4
tests/data_files/ec_bp512_pub.comp.pem
Normal file
4
tests/data_files/ec_bp512_pub.comp.pem
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
-----BEGIN PUBLIC KEY-----
|
||||||
|
MFowFAYHKoZIzj0CAQYJKyQDAwIIAQENA0IAAji37JK2HFxsf7wopOx1nUj81OLj
|
||||||
|
dN79XElopU2+91EOUXiG+/w46jmqUpNZ1wpxVsNdPLrHzndr2yUd1kvOcSM=
|
||||||
|
-----END PUBLIC KEY-----
|
4
tests/data_files/ec_prv.sec1.comp.pem
Normal file
4
tests/data_files/ec_prv.sec1.comp.pem
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
-----BEGIN EC PRIVATE KEY-----
|
||||||
|
MEcCAQEEGDOOhqiB4jj1Sb1vBVNJS3Pj1hEw/cbJbaAKBggqhkjOPQMBAaEcAxoA
|
||||||
|
A1F1vN8wo3DznVOT5hJyiNgBZ7X0tLd2xg==
|
||||||
|
-----END EC PRIVATE KEY-----
|
4
tests/data_files/ec_pub.comp.pem
Normal file
4
tests/data_files/ec_pub.comp.pem
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
-----BEGIN PUBLIC KEY-----
|
||||||
|
MDEwEwYHKoZIzj0CAQYIKoZIzj0DAQEDGgACvHl9s65/COw9SWtPtBGz9iClWKUB
|
||||||
|
4CIt
|
||||||
|
-----END PUBLIC KEY-----
|
|
@ -912,34 +912,68 @@ Parse Public EC Key #2 (RFC 5480, PEM)
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||||
pk_parse_public_keyfile_ec:"data_files/ec_pub.pem":0
|
pk_parse_public_keyfile_ec:"data_files/ec_pub.pem":0
|
||||||
|
|
||||||
|
Parse Public EC Key #2a (RFC 5480, PEM, secp192r1, compressed)
|
||||||
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||||
|
pk_parse_public_keyfile_ec:"data_files/ec_pub.comp.pem":0
|
||||||
|
|
||||||
Parse Public EC Key #3 (RFC 5480, secp224r1)
|
Parse Public EC Key #3 (RFC 5480, secp224r1)
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP224R1_ENABLED
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP224R1_ENABLED
|
||||||
pk_parse_public_keyfile_ec:"data_files/ec_224_pub.pem":0
|
pk_parse_public_keyfile_ec:"data_files/ec_224_pub.pem":0
|
||||||
|
|
||||||
|
# Compressed points parsing does not support MBEDTLS_ECP_DP_SECP224R1 and
|
||||||
|
# MBEDTLS_ECP_DP_SECP224K1. Therefore a failure is expected in this case
|
||||||
|
Parse Public EC Key #3a (RFC 5480, secp224r1, compressed)
|
||||||
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP224R1_ENABLED
|
||||||
|
pk_parse_public_keyfile_ec:"data_files/ec_224_pub.comp.pem":MBEDTLS_ERR_ECP_FEATURE_UNAVAILABLE
|
||||||
|
|
||||||
Parse Public EC Key #4 (RFC 5480, secp256r1)
|
Parse Public EC Key #4 (RFC 5480, secp256r1)
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||||
pk_parse_public_keyfile_ec:"data_files/ec_256_pub.pem":0
|
pk_parse_public_keyfile_ec:"data_files/ec_256_pub.pem":0
|
||||||
|
|
||||||
|
Parse Public EC Key #4a (RFC 5480, secp256r1, compressed)
|
||||||
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||||
|
pk_parse_public_keyfile_ec:"data_files/ec_256_pub.comp.pem":0
|
||||||
|
|
||||||
Parse Public EC Key #5 (RFC 5480, secp384r1)
|
Parse Public EC Key #5 (RFC 5480, secp384r1)
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED
|
||||||
pk_parse_public_keyfile_ec:"data_files/ec_384_pub.pem":0
|
pk_parse_public_keyfile_ec:"data_files/ec_384_pub.pem":0
|
||||||
|
|
||||||
|
Parse Public EC Key #5a (RFC 5480, secp384r1, compressed)
|
||||||
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED
|
||||||
|
pk_parse_public_keyfile_ec:"data_files/ec_384_pub.comp.pem":0
|
||||||
|
|
||||||
Parse Public EC Key #6 (RFC 5480, secp521r1)
|
Parse Public EC Key #6 (RFC 5480, secp521r1)
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||||
pk_parse_public_keyfile_ec:"data_files/ec_521_pub.pem":0
|
pk_parse_public_keyfile_ec:"data_files/ec_521_pub.pem":0
|
||||||
|
|
||||||
|
Parse Public EC Key #6a (RFC 5480, secp521r1, compressed)
|
||||||
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||||
|
pk_parse_public_keyfile_ec:"data_files/ec_521_pub.comp.pem":0
|
||||||
|
|
||||||
Parse Public EC Key #7 (RFC 5480, brainpoolP256r1)
|
Parse Public EC Key #7 (RFC 5480, brainpoolP256r1)
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_BP256R1_ENABLED
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_BP256R1_ENABLED
|
||||||
pk_parse_public_keyfile_ec:"data_files/ec_bp256_pub.pem":0
|
pk_parse_public_keyfile_ec:"data_files/ec_bp256_pub.pem":0
|
||||||
|
|
||||||
|
Parse Public EC Key #7a (RFC 5480, brainpoolP256r1, compressed)
|
||||||
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_BP256R1_ENABLED
|
||||||
|
pk_parse_public_keyfile_ec:"data_files/ec_bp256_pub.comp.pem":0
|
||||||
|
|
||||||
Parse Public EC Key #8 (RFC 5480, brainpoolP384r1)
|
Parse Public EC Key #8 (RFC 5480, brainpoolP384r1)
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_BP384R1_ENABLED
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_BP384R1_ENABLED
|
||||||
pk_parse_public_keyfile_ec:"data_files/ec_bp384_pub.pem":0
|
pk_parse_public_keyfile_ec:"data_files/ec_bp384_pub.pem":0
|
||||||
|
|
||||||
|
Parse Public EC Key #8a (RFC 5480, brainpoolP384r1, compressed)
|
||||||
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_BP384R1_ENABLED
|
||||||
|
pk_parse_public_keyfile_ec:"data_files/ec_bp384_pub.comp.pem":0
|
||||||
|
|
||||||
Parse Public EC Key #9 (RFC 5480, brainpoolP512r1)
|
Parse Public EC Key #9 (RFC 5480, brainpoolP512r1)
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
||||||
pk_parse_public_keyfile_ec:"data_files/ec_bp512_pub.pem":0
|
pk_parse_public_keyfile_ec:"data_files/ec_bp512_pub.pem":0
|
||||||
|
|
||||||
|
Parse Public EC Key #9a (RFC 5480, brainpoolP512r1, compressed)
|
||||||
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
||||||
|
pk_parse_public_keyfile_ec:"data_files/ec_bp512_pub.comp.pem":0
|
||||||
|
|
||||||
Parse EC Key #1 (SEC1 DER)
|
Parse EC Key #1 (SEC1 DER)
|
||||||
depends_on:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
depends_on:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||||
pk_parse_keyfile_ec:"data_files/ec_prv.sec1.der":"NULL":0
|
pk_parse_keyfile_ec:"data_files/ec_prv.sec1.der":"NULL":0
|
||||||
|
@ -948,6 +982,10 @@ Parse EC Key #2 (SEC1 PEM)
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||||
pk_parse_keyfile_ec:"data_files/ec_prv.sec1.pem":"NULL":0
|
pk_parse_keyfile_ec:"data_files/ec_prv.sec1.pem":"NULL":0
|
||||||
|
|
||||||
|
Parse EC Key #2a (SEC1 PEM, secp192r1, compressed)
|
||||||
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||||
|
pk_parse_keyfile_ec:"data_files/ec_prv.sec1.comp.pem":"NULL":0
|
||||||
|
|
||||||
Parse EC Key #3 (SEC1 PEM encrypted)
|
Parse EC Key #3 (SEC1 PEM encrypted)
|
||||||
depends_on:MBEDTLS_DES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA
|
depends_on:MBEDTLS_DES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA
|
||||||
pk_parse_keyfile_ec:"data_files/ec_prv.sec1.pw.pem":"polar":0
|
pk_parse_keyfile_ec:"data_files/ec_prv.sec1.pw.pem":"polar":0
|
||||||
|
@ -988,30 +1026,58 @@ Parse EC Key #8 (SEC1 PEM, secp224r1)
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP224R1_ENABLED
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP224R1_ENABLED
|
||||||
pk_parse_keyfile_ec:"data_files/ec_224_prv.pem":"NULL":0
|
pk_parse_keyfile_ec:"data_files/ec_224_prv.pem":"NULL":0
|
||||||
|
|
||||||
|
Parse EC Key #8a (SEC1 PEM, secp224r1, compressed)
|
||||||
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP224R1_ENABLED
|
||||||
|
pk_parse_keyfile_ec:"data_files/ec_224_prv.comp.pem":"NULL":0
|
||||||
|
|
||||||
Parse EC Key #9 (SEC1 PEM, secp256r1)
|
Parse EC Key #9 (SEC1 PEM, secp256r1)
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||||
pk_parse_keyfile_ec:"data_files/ec_256_prv.pem":"NULL":0
|
pk_parse_keyfile_ec:"data_files/ec_256_prv.pem":"NULL":0
|
||||||
|
|
||||||
|
Parse EC Key #9a (SEC1 PEM, secp256r1, compressed)
|
||||||
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||||
|
pk_parse_keyfile_ec:"data_files/ec_256_prv.comp.pem":"NULL":0
|
||||||
|
|
||||||
Parse EC Key #10 (SEC1 PEM, secp384r1)
|
Parse EC Key #10 (SEC1 PEM, secp384r1)
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED
|
||||||
pk_parse_keyfile_ec:"data_files/ec_384_prv.pem":"NULL":0
|
pk_parse_keyfile_ec:"data_files/ec_384_prv.pem":"NULL":0
|
||||||
|
|
||||||
|
Parse EC Key #10a (SEC1 PEM, secp384r1, compressed)
|
||||||
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED
|
||||||
|
pk_parse_keyfile_ec:"data_files/ec_384_prv.comp.pem":"NULL":0
|
||||||
|
|
||||||
Parse EC Key #11 (SEC1 PEM, secp521r1)
|
Parse EC Key #11 (SEC1 PEM, secp521r1)
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||||
pk_parse_keyfile_ec:"data_files/ec_521_prv.pem":"NULL":0
|
pk_parse_keyfile_ec:"data_files/ec_521_prv.pem":"NULL":0
|
||||||
|
|
||||||
|
Parse EC Key #11a (SEC1 PEM, secp521r1, compressed)
|
||||||
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||||
|
pk_parse_keyfile_ec:"data_files/ec_521_prv.comp.pem":"NULL":0
|
||||||
|
|
||||||
Parse EC Key #12 (SEC1 PEM, bp256r1)
|
Parse EC Key #12 (SEC1 PEM, bp256r1)
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_BP256R1_ENABLED
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_BP256R1_ENABLED
|
||||||
pk_parse_keyfile_ec:"data_files/ec_bp256_prv.pem":"NULL":0
|
pk_parse_keyfile_ec:"data_files/ec_bp256_prv.pem":"NULL":0
|
||||||
|
|
||||||
|
Parse EC Key #12a (SEC1 PEM, bp256r1, compressed)
|
||||||
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_BP256R1_ENABLED
|
||||||
|
pk_parse_keyfile_ec:"data_files/ec_bp256_prv.comp.pem":"NULL":0
|
||||||
|
|
||||||
Parse EC Key #13 (SEC1 PEM, bp384r1)
|
Parse EC Key #13 (SEC1 PEM, bp384r1)
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_BP384R1_ENABLED
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_BP384R1_ENABLED
|
||||||
pk_parse_keyfile_ec:"data_files/ec_bp384_prv.pem":"NULL":0
|
pk_parse_keyfile_ec:"data_files/ec_bp384_prv.pem":"NULL":0
|
||||||
|
|
||||||
|
Parse EC Key #13a (SEC1 PEM, bp384r1, compressed)
|
||||||
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_BP384R1_ENABLED
|
||||||
|
pk_parse_keyfile_ec:"data_files/ec_bp384_prv.comp.pem":"NULL":0
|
||||||
|
|
||||||
Parse EC Key #14 (SEC1 PEM, bp512r1)
|
Parse EC Key #14 (SEC1 PEM, bp512r1)
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
||||||
pk_parse_keyfile_ec:"data_files/ec_bp512_prv.pem":"NULL":0
|
pk_parse_keyfile_ec:"data_files/ec_bp512_prv.pem":"NULL":0
|
||||||
|
|
||||||
|
Parse EC Key #14a (SEC1 PEM, bp512r1, compressed)
|
||||||
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
||||||
|
pk_parse_keyfile_ec:"data_files/ec_bp512_prv.comp.pem":"NULL":0
|
||||||
|
|
||||||
Parse EC Key #15 (SEC1 DER, secp256k1, SpecifiedECDomain)
|
Parse EC Key #15 (SEC1 DER, secp256k1, SpecifiedECDomain)
|
||||||
depends_on:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP256K1_ENABLED:MBEDTLS_PK_PARSE_EC_EXTENDED
|
depends_on:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP256K1_ENABLED:MBEDTLS_PK_PARSE_EC_EXTENDED
|
||||||
pk_parse_keyfile_ec:"data_files/ec_prv.specdom.der":"NULL":0
|
pk_parse_keyfile_ec:"data_files/ec_prv.specdom.der":"NULL":0
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
#include "mbedtls/pk.h"
|
#include "mbedtls/pk.h"
|
||||||
#include "mbedtls/pem.h"
|
#include "mbedtls/pem.h"
|
||||||
#include "mbedtls/oid.h"
|
#include "mbedtls/oid.h"
|
||||||
|
#include "mbedtls/ecp.h"
|
||||||
#include "mbedtls/legacy_or_psa.h"
|
#include "mbedtls/legacy_or_psa.h"
|
||||||
/* END_HEADER */
|
/* END_HEADER */
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue