openssl: Update PKCS#7 API to OpenSSL 1.1.0
This commit is contained in:
@@ -29,6 +29,10 @@
|
|||||||
|
|
||||||
#include <openssl/cms.h>
|
#include <openssl/cms.h>
|
||||||
|
|
||||||
|
#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||||
|
#define X509_ATTRIBUTE_get0_object(attr) ({ (attr)->object; })
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef struct private_openssl_pkcs7_t private_openssl_pkcs7_t;
|
typedef struct private_openssl_pkcs7_t private_openssl_pkcs7_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -432,11 +436,11 @@ METHOD(pkcs7_t, get_attribute, bool,
|
|||||||
for (i = 0; i < CMS_signed_get_attr_count(si); i++)
|
for (i = 0; i < CMS_signed_get_attr_count(si); i++)
|
||||||
{
|
{
|
||||||
attr = CMS_signed_get_attr(si, i);
|
attr = CMS_signed_get_attr(si, i);
|
||||||
if (!attr->single && sk_ASN1_TYPE_num(attr->value.set) == 1 &&
|
if (X509_ATTRIBUTE_count(attr) == 1 &&
|
||||||
openssl_asn1_known_oid(attr->object) == oid)
|
openssl_asn1_known_oid(X509_ATTRIBUTE_get0_object(attr)) == oid)
|
||||||
{
|
{
|
||||||
/* get first value in SET */
|
/* get first value in SET */
|
||||||
type = sk_ASN1_TYPE_value(attr->value.set, 0);
|
type = X509_ATTRIBUTE_get0_type(attr, 0);
|
||||||
chunk = wrapped = openssl_i2chunk(ASN1_TYPE, type);
|
chunk = wrapped = openssl_i2chunk(ASN1_TYPE, type);
|
||||||
if (asn1_unwrap(&chunk, &chunk) != 0x100 /* ASN1_INVALID */)
|
if (asn1_unwrap(&chunk, &chunk) != 0x100 /* ASN1_INVALID */)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user