gpt4 book ai didi

c - 如何使用 wc_EccPublicKeyDecode 在 Wolfssl 中导入 der 证书

转载 作者:行者123 更新时间:2023-11-30 14:36:33 24 4
gpt4 key购买 nike

我尝试导入证书的公钥,将其放入 ecc_key 结构中以供进一步使用。

为此,我在 Wolfssl API 文档中找到了这个 wc_EccPublicKeyDecode功能。我尝试使用它来将证书加载到 ecc_key 结构中。

const byte b64_cert[] = "MIIB6TCCAY+gAwIBAgIJAPhfFTGxGQMtMAoGCCqGSM49BAMCMFExCzAJBgNVBAYT"
"AlhYMQswCQYDVQQIDAJYWDELMAkGA1UEBwwCWFgxCzAJBgNVBAoMAlhYMQswCQYD"
"VQQLDAJYWDEOMAwGA1UEAwwFWFhYWFgwHhcNMTkwOTE4MTExMDQ3WhcNMjAwOTE3"
"MTExMDQ3WjBRMQswCQYDVQQGEwJYWDELMAkGA1UECAwCWFgxCzAJBgNVBAcMAlhY"
"MQswCQYDVQQKDAJYWDELMAkGA1UECwwCWFgxDjAMBgNVBAMMBVhYWFhYMFkwEwYH"
"KoZIzj0CAQYIKoZIzj0DAQcDQgAEOJdKmIL9KXUMcrR2obrUuyDsWoj7GFYxnGAI"
"wKz7aWgKenLL9pOTs5xhIkeZIEekkRayhV++CqMzEHRJhF6vNaNQME4wHQYDVR0O"
"BBYEFKtf9OtFyPb7GIkxjXsc8LbI6p4xMB8GA1UdIwQYMBaAFKtf9OtFyPb7GIkx"
"jXsc8LbI6p4xMAwGA1UdEwQFMAMBAf8wCgYIKoZIzj0EAwIDSAAwRQIhANN9YLSc"
"VcEQn/JEKcdPxdR70SnDkEa0hCrm3yiZqXSAAiB9krAmY/Shv2yq2sTD+84x7s9K"
"XcPcX00w1JyeaIbaDw==";

uint8_t der_cert[1000] = {0};
word32 size_of_cert = 1000;
ecc_key eccKey;
int wolfssl_ret = wc_ecc_init(&eccKey);

Base64_Decode(b64_cert, sizeof(b64_cert), der_cert, &size_of_cert);
word32 idx = 0;
wolfssl_ret = wc_EccPublicKeyDecode( der_cert, &idx, &eccKey, size_of_cert );
printf("wc_EccPublicKeyDecode failed! Wolfssl error = %d", wolfssl_ret);

但不幸的是,我总是收到 ASN_OBJECT_ID_E (-144) 错误代码:

wc_EccPublicKeyDecode failed! Wolfssl error = -144

那我做错了什么?我使用了错误的功能吗?我还能如何将 DER/PEM 证书导入 ecc_key 结构?

最佳答案

就像您提到的,您有一个证书,并且您正在尝试将其传递到一个只需要 key 而不是证书的 API。

尝试使用 InitDecodedCert()、ParseCert(),首先将证书解码为 DecodedCert 结构中的相应部分。然后将 cert->publicKey 传递给 wc_EccPublicKeyDecode()! (完成后不要忘记 FreeDecodedCert())。

注意:您需要使用设置 WOLFSSL_TEST_CERT 向调用应用程序公开 ParseCert(),默认情况下它是一个不透明的 API。

如果您有任何后续问题并寻求最佳响应时间,可以通过 support@wolfssl.com 联系 WolfSSL 支持团队。

谢谢!

  • KH

关于c - 如何使用 wc_EccPublicKeyDecode 在 Wolfssl 中导入 der 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57992383/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com