mbedTLS ECC 操作
mbedTLS ECC Operations
我已经在 mbedtls 的文档中搜索了我的问题,但没有明确的答案。
有什么方法可以用 mbedTLS 生成 public 和 ECC 私钥吗?在教程的帮助下,我已经 sha256
正常工作,但似乎 ECC operations
没有很好的记录。
是否有关于如何在 NIST P-256 曲线上生成 private/public 密钥的示例?
谢谢你的帮助。
这是生成 ECC 密钥的示例代码(但没有对 return 值进行任何检查):
mbedtls_pk_context key;
mbedtls_entropy_context entropy;
mbedtls_ctr_drbg_context ctr_drbg;
mbedtls_pk_type_t pk_alg = MBEDTLS_PK_ECKEY;
mbedtls_pk_init(&key);
mbedtls_entropy_init( &entropy );
mbedtls_ctr_drbg_init(&ctr_drbg);
ret = mbedtls_pk_setup(&key, mbedtls_pk_info_from_type(pk_alg));
ret = mbedtls_ctr_drbg_seed(&ctr_drbg, mbedtls_entropy_func,
&entropy,
(const unsigned char *) "ecdsa",
strlen(pers)
);
ret = mbedtls_ecp_gen_key(<KEY TYPE>,
mbedtls_pk_ec(key),
mbedtls_ctr_drbg_random,
&ctr_drbg
);
其中 <KEY_TYPE>
可以在以下位置找到:https://tls.mbed.org/api/ecp_8h.html#af79e530ea8f8416480f805baa20b1a2d,在您的情况下应该是 MBEDTLS_ECP_DP_SECP256R1
。
我已经在 mbedtls 的文档中搜索了我的问题,但没有明确的答案。
有什么方法可以用 mbedTLS 生成 public 和 ECC 私钥吗?在教程的帮助下,我已经 sha256
正常工作,但似乎 ECC operations
没有很好的记录。
是否有关于如何在 NIST P-256 曲线上生成 private/public 密钥的示例?
谢谢你的帮助。
这是生成 ECC 密钥的示例代码(但没有对 return 值进行任何检查):
mbedtls_pk_context key;
mbedtls_entropy_context entropy;
mbedtls_ctr_drbg_context ctr_drbg;
mbedtls_pk_type_t pk_alg = MBEDTLS_PK_ECKEY;
mbedtls_pk_init(&key);
mbedtls_entropy_init( &entropy );
mbedtls_ctr_drbg_init(&ctr_drbg);
ret = mbedtls_pk_setup(&key, mbedtls_pk_info_from_type(pk_alg));
ret = mbedtls_ctr_drbg_seed(&ctr_drbg, mbedtls_entropy_func,
&entropy,
(const unsigned char *) "ecdsa",
strlen(pers)
);
ret = mbedtls_ecp_gen_key(<KEY TYPE>,
mbedtls_pk_ec(key),
mbedtls_ctr_drbg_random,
&ctr_drbg
);
其中 <KEY_TYPE>
可以在以下位置找到:https://tls.mbed.org/api/ecp_8h.html#af79e530ea8f8416480f805baa20b1a2d,在您的情况下应该是 MBEDTLS_ECP_DP_SECP256R1
。