PEM_read_bio_PUBKEY
时间: 2023-09-17 08:08:02 浏览: 166
PEM_read_bio_PUBKEY是一个OpenSSL库函数,用于从一个BIO对象中读取PEM格式的公钥。它的函数原型为:
```
EVP_PKEY *PEM_read_bio_PUBKEY(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, void *u);
```
其中,bp是一个BIO对象,用于读取PEM格式的公钥;x是一个EVP_PKEY类型的指针,用于返回读取的公钥;cb是一个回调函数,用于提供PEM格式的密码(如果需要);u是一个指向用户数据的指针,用于传递给回调函数。函数成功时返回读取的公钥指针,失败时返回NULL。
需要注意的是,PEM_read_bio_PUBKEY函数只能用于读取PEM格式的公钥,如果要读取其他格式的公钥,需要使用不同的函数。
相关问题
PEM_read_bio_PUBKEY 实现
PEM_read_bio_PUBKEY函数是OpenSSL库提供的函数,实现代码并不是公开的,但是我们可以通过查看OpenSSL库的源代码,了解它的大致实现过程。
在PEM_read_bio_PUBKEY函数中,会先调用PEM_read_bio函数从BIO对象中读取PEM格式的数据,然后再调用PEM_read_bio_PUBKEY_bio函数将其转换为EVP_PKEY类型的公钥数据结构。如果读取过程中需要提供密码,PEM_read_bio_PUBKEY函数会通过回调函数获取密码,并使用它来解密PEM格式的数据。
具体的实现过程涉及到很多细节,包括错误处理、内存管理等方面,这些都是OpenSSL库的开发者需要考虑的问题。
PEM_read_bio_RSA_PUBKEY
PEM_read_bio_RSA_PUBKEY是一个函数,用于从BIO结构中读取RSA公钥。根据引用中的代码,可以看出这个函数的作用是从字符串中读取RSA公钥。引用中的代码展示了如何使用这个函数来创建RSA结构的公钥。函数的返回值是一个指向RSA结构的指针。<em>1</em><em>2</em><em>3</em>
#### 引用[.reference_title]
- *1* *2* [OPENSSL RSA 与JAVA C++ RSA 生成 公钥 私钥](https://blog.csdn.net/q610098308/article/details/83015943)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item]
- *3* [openssl从内存中读取RSA公钥](https://blog.csdn.net/enjoyinwind/article/details/23530303)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item]
[ .reference_list ]
阅读全文