EVP_KEY_assign_EC_KEY(pkey,ec)函数原型
时间: 2023-09-13 19:08:01 浏览: 35
EVP_KEY_assign_EC_KEY() 函数原型如下:
```c
int EVP_KEY_assign_EC_KEY(EVP_PKEY *pkey, EC_KEY *key);
```
该函数将 EC_KEY 对象与 EVP_PKEY 对象相关联,从而可以使用 EVP_PKEY 对象调用 EC_KEY 相关的函数。
参数说明:
- `pkey`:指向 EVP_PKEY 结构体的指针。
- `key`:指向 EC_KEY 结构体的指针。
返回值:
- 成功返回 1;
- 失败返回 0。
注意:该函数不会增加 EC_KEY 对象的引用计数,因此在调用该函数之后,应该手动增加 EC_KEY 对象的引用计数。并且,EC_KEY 对象不能被释放,直到与之相关的 EVP_PKEY 对象被释放。
相关问题
EVP_PKEY_assign_EC_KEY函数原型
以下是EVP_PKEY_assign_EC_KEY函数的原型:
```
int EVP_PKEY_assign_EC_KEY(EVP_PKEY *pkey, EC_KEY *key);
```
该函数用于将EC_KEY类型的密钥赋值给EVP_PKEY类型的密钥。其中,pkey是目标EVP_PKEY类型的密钥,key是源EC_KEY类型的密钥。
函数返回值为整型,如果执行成功则返回1,否则返回0。
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` 是用来获取指针的。它们的作用是不同的。