EVP_PKEY_get0_EC_KEY()函数原型
时间: 2023-10-07 22:12:46 浏览: 379
以下是EVP_PKEY_get0_EC_KEY()函数的原型:
```
EC_KEY *EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey);
```
该函数返回与给定EVP_PKEY结构关联的EC_KEY结构指针,如果EVP_PKEY结构并不与EC_KEY结构相关联,则返回NULL。
需要注意的是,该函数在OpenSSL 3.0中被弃用,应该使用EVP_PKEY_get1_EC_KEY()函数来代替。
相关问题
EVP_PKEY_assign_EC_KEY与EVP_PKEY_get0_EC_KEY区别
`EVP_PKEY_assign_EC_KEY` 和 `EVP_PKEY_get0_EC_KEY` 都是 OpenSSL 中关于椭圆曲线加密的函数,但它们的作用不同。
`EVP_PKEY_assign_EC_KEY` 函数的作用是将一个 `EC_KEY` 结构体赋值给一个 `EVP_PKEY` 结构体,使得这个 `EVP_PKEY` 结构体可以使用 ECDSA 或 ECDH 等椭圆曲线算法进行加密和解密操作。它的函数原型为:
```
int EVP_PKEY_assign_EC_KEY(EVP_PKEY *pkey, EC_KEY *key);
```
`EVP_PKEY_get0_EC_KEY` 函数的作用是从一个 `EVP_PKEY` 结构体中获取其内部的 `EC_KEY` 结构体指针,以便进行椭圆曲线的一些操作。它的函数原型为:
```
EC_KEY *EVP_PKEY_get0_EC_KEY(const EVP_PKEY *pkey);
```
因此,`EVP_PKEY_assign_EC_KEY` 是用来赋值的,而 `EVP_PKEY_get0_EC_KEY` 是用来获取指针的。它们的作用是不同的。
C 语言 EVP_PKEY_get1_EC_KEY 函数作用
EVP_PKEY_get1_EC_KEY 函数是 OpenSSL 中的一个函数,作用是从 EVP_PKEY 结构中获取 EC_KEY 结构。
具体来说,EVP_PKEY_get1_EC_KEY 函数可以将 EVP_PKEY 结构中的密钥转换为 EC_KEY 结构,以便于使用 EC_KEY 相关的函数进行操作。在使用该函数时,需要传入一个 EVP_PKEY 结构和一个指向 EC_KEY 指针的指针作为参数,函数会将 EVP_PKEY 结构中的密钥转换为 EC_KEY 结构,并将转换后的 EC_KEY 结构的指针存储在传入的 EC_KEY 指针中。如果转换成功,函数返回 1,否则返回 0。
总之,EVP_PKEY_get1_EC_KEY 函数是一个将 EVP_PKEY 结构中的密钥转换为 EC_KEY 结构的工具函数,方便使用 EC_KEY 相关的函数进行操作。
阅读全文