24 #include "../bytestring/internal.h"
29 0x0d, 0x01, 0x07, 0x01};
33 0x0d, 0x01, 0x07, 0x02};
44 CBS in, content_info, content_type, wrapped_signed_data, signed_data;
88 CBS signed_data, certificates;
90 int ret = 0, has_certificates;
96 &signed_data, &certificates, &has_certificates,
101 if (!has_certificates) {
105 while (
CBS_len(&certificates) > 0) {
164 int (*digest_algos_cb)(
CBB *
out,
const void *
arg),
165 int (*cert_crl_cb)(
CBB *
out,
const void *
arg),
166 int (*signer_infos_cb)(
CBB *
out,
const void *
arg),
168 CBB outer_seq,
oid, wrapped_seq, seq, version_bytes, digest_algos_set,
169 content_info, signer_infos;
182 (digest_algos_cb != NULL && !digest_algos_cb(&digest_algos_set,
arg)) ||
186 (cert_crl_cb != NULL && !cert_crl_cb(&seq,
arg)) ||
188 (signer_infos_cb != NULL && !signer_infos_cb(&signer_infos,
arg))) {