PKCS7_get_raw_certificates function

  1. @RecordUse.new()
  2. @Native<Int Function(Pointer<stack_st_CRYPTO_BUFFER>, Pointer<CBS>, Pointer<CRYPTO_BUFFER_POOL>)>(ffi.Pointer<stack_st_CRYPTO_BUFFER>, ffi.Pointer<CBS>, ffi.Pointer<CRYPTO_BUFFER_POOL>)>(symbol: 'bssl_dart_PKCS7_get_raw_certificates')
int PKCS7_get_raw_certificates(
  1. Pointer<stack_st_CRYPTO_BUFFER> out_certs,
  2. Pointer<CBS> cbs,
  3. Pointer<CRYPTO_BUFFER_POOL> pool
)

PKCS7_get_raw_certificates parses a PKCS#7, SignedData structure from |cbs| and appends the included certificates to |out_certs|. It returns one on success and zero on error. |cbs| is advanced passed the structure.

Note that a SignedData structure may contain no certificates, in which case this function succeeds but does not append any certificates. Additionally, certificates in SignedData structures are unordered. Callers should not assume a particular order in |*out_certs| and may need to search for matches or run path-building algorithms.

Implementation

@meta.RecordUse()
@ffi.Native<
  ffi.Int Function(
    ffi.Pointer<stack_st_CRYPTO_BUFFER>,
    ffi.Pointer<CBS>,
    ffi.Pointer<CRYPTO_BUFFER_POOL>,
  )
>(symbol: 'bssl_dart_PKCS7_get_raw_certificates')
external int PKCS7_get_raw_certificates(
  ffi.Pointer<stack_st_CRYPTO_BUFFER> out_certs,
  ffi.Pointer<CBS> cbs,
  ffi.Pointer<CRYPTO_BUFFER_POOL> pool,
);