我在使用GnuTLS库导入证书时遇到问题。我生成了一个自签名证书,我想将其导入到我的C ++代码中,以进一步处理它。我使用fopen
阅读证书。我将其保存为gnutls_datum_t-type
,这似乎是FILE-type
和length of the FILE-type
的元组。为什么我的代码会抛出Error Value: -207
,这意味着Base64 unexpected header error
。
当我查找证书的类型时,它告诉我pkix-cert+pem
,但我也尝试了x-x509-cert
。全部使用certtool生成。
当我更改输入的预期格式时,错误值更改为-73,这意味着ASN1解析器:TAG中的错误
当我打印FILE类型时,我可以看到通常的证书结构。
我的错是什么?
答案 0 :(得分:0)
gnutls_datum_t
是一个缓冲区及其长度。
这可能会在给定一些文本 certPem
的情况下初始化它:
gnutls_datum_t certDat;
certDat.data = (unsigned char *)certPem;
certDat.size = strlen(certPem) + 1;