如何使用 openssl API 解析 CSR 对象
How to parse a CSR object using openssl API
我有一个包含CSR文件内容的std::string。 问题是我找不到将此字符串解析为对象的方法。 我已经尝试了这篇文章的答案,但它们仅适用于文件。
我目前正在使用此方法,但它始终返回 NULL。
const unsigned char * certChar = reinterpret_cast<const unsigned char*>(certStr.c_str());
X509* csr = d2i_X509(NULL, &certChar, certStr.size());
if (csr == NULL)
{
std::cout << "Return value was NULL" << std::endl;
}
内存中加载的文件是 .CSR,内容放入 certStr std::string。
使用 ERR_get_error(( 方法,我得到以下错误:错误:0D0680A8:asn1 编码例程:ASN1_CHECK_TLEN:错误的标记
多亏了Botje,我想出了如何让它工作。
BIO* bio = BIO_new_mem_buf(reinterpret_cast<const void*>(certStr.c_str()),certStr.size());
X509_REQ* csr;
PEM_read_bio_X509_REQ(bio, &csr, NULL, NULL);
相关文章:
- 什么时候调用组成单元对象的析构函数
- 对RValue对象调用的LValue ref限定成员函数
- CMake-按正确顺序将项目与C运行时对象文件链接
- 空基优化子对象的地址
- 将对象数组的引用传递给函数
- 你能重载对象变量名本身返回的内容吗
- C++使用整数的压缩数组初始化对象
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 将对象移动到std::shared_ptr
- 代理对象的常量正确性
- 提升 ASIO 无法识别计时器对象
- 将Ref对象作为类成员
- 将包含C样式数组的对象初始化为成员变量(C++)
- 如何返回一个类的两个对象相加的结果
- 使用std::函数映射对象方法
- 是否需要删除包含对象的"pair"?
- 如何在自删除后将对象设置为nullptr
- 迭代时从向量和内存中删除对象
- 构造对象的歧义
- 如何使用 openssl API 解析 CSR 对象