如何在OpenSSL 1.1.0中将STACK_OF(X509)转换为DER?

时间:2016-07-20 14:09:34

标签: c openssl x509 der

在从OpenSSL 0.9.8移植到1.1.0的过程中,我遇到了一个缺失的功能。 OpenSSL团队一直在忙着清理他们的代码库,其中一个清理工作是删除一些ASN处理宏&功能。我们曾经能够使用以下代码将STACK_OF(X509)证书转换为DER

注意:为了简洁示例而删除了错误处理

PyObject* get_der(STACK_OF(X509) *stack) {
    unsigned char* enc
    int len;
    enc = ASN1_seq_pack_X509(stack, i2d_X509, NULL, &len);
    return PyString_FromString(enc, len)
    }

不再使用未解析的外部符号链接和构建过程错误。

我检查了0.9.8代码库,发现ASN1_seq_pack_X509是一个宏。在深入嵌套的宏中进行跟踪后,我发现上面的调用最终看起来像这样:

ASN1_seq_pack(X509, stack, i2d_X509, NULL, &len)

OpenSSL 1.1.0中不再存在ASN1_seq_pack。所以这是我的问题。如何将STACK_OF(X509)转换为DER

0 个答案:

没有答案