首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用OPENSSL的ECDSA

使用OPENSSL的ECDSA
EN

Stack Overflow用户
提问于 2020-03-26 14:26:37
回答 1查看 535关注 0票数 1

我想在OPENSSL中实现ECDSA。但我的警告越来越少

ECDSA_sign已弃用& ECDSA_do_verify已弃用。

有谁可以指导我如何处理这个错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-26 17:24:54

看起来您使用的是OpenSSL的开发版本(将成为OpenSSL 3.0)。这些函数在dev中已被弃用,但在最新的稳定版本(1.1.1)中未被弃用。

在OpenSSL (包括ECDSA)中进行签名的首选方法是使用EVP_DigestSign*() API。

这些函数的手册页如下:

https://www.openssl.org/docs/man1.1.1/man3/EVP_DigestSignInit.html

为了使用它们,您需要创建一个包含ECDSA键的EVP_PKEY对象。通常,这是通过使用EVP_PKEY_new()创建一个空EVP_PKEY,然后使用EVP_PKEY_assign_EC_KEY为其分配一个EC_KEY来实现的

https://www.openssl.org/docs/man1.1.1/man3/EVP_PKEY_assign_EC_KEY.html

下面是在OpenSSL维基上使用EVP_DigestSign*() API进行签名和验证的示例代码:

https://wiki.openssl.org/index.php/EVP_Signing_and_Verifying

使用EVP函数的另一种选择是使用当前稳定版本(1.1.1),其中您尝试使用的函数未被弃用。但请记住,当OpenSSL 3.0发布时,它们将被弃用。

第三种选择是忽略弃用警告。这些功能仍然存在,并且仍然有效。假设您没有指示编译器将警告视为错误,您应该仍然能够构建您的应用程序。但请记住,标记为已弃用的API最终可能会在OpenSSL的某些未来版本中被删除。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60861968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档