GnuTLS:导入Certifcate时出错

时间:2015-05-18 13:18:47

标签: c++ x509certificate x509 pem gnutls

我在使用GnuTLS库导入证书时遇到问题。我生成了一个自签名证书,我想将其导入到我的C ++代码中,以进一步处理它。我使用fopen阅读证书。我将其保存为gnutls_datum_t-type,这似乎是FILE-typelength of the FILE-type的元组。为什么我的代码会抛出Error Value: -207,这意味着Base64 unexpected header error

当我查找证书的类型时,它告诉我pkix-cert+pem,但我也尝试了x-x509-cert。全部使用certtool生成。

当我更改输入的预期格式时,错误值更改为-73,这意味着ASN1解析器:TAG中的错误

当我打印FILE类型时,我可以看到通常的证书结构。

我的错是什么?

1 个答案:

答案 0 :(得分:0)

gnutls_datum_t 是一个缓冲区及其长度。

这可能会在给定一些文本 certPem 的情况下初始化它:

gnutls_datum_t certDat;
certDat.data = (unsigned char *)certPem;
certDat.size = strlen(certPem) + 1;