mbedtls_x509_crt_parse() function
Parse one DER-encoded or one or more concatenated PEM-encoded certificates and add them to the chained list. For CRTs in PEM encoding, the function parses permissively: if at least one certificate can be parsed, the function returns the number of certificates for which parsing failed (hence \c 0 if all certificates were parsed successfully). If no certificate could be parsed, the function returns the first (negative) error encountered during parsing. PEM encoded certificates may be interleaved by other data such as human readable descriptions of their content, as long as the certificates are enclosed in the PEM specific '-----{BEGIN/END} CERTIFICATE-----' delimiters.
Arguments
chain
The chain to which to add the parsed certificates.
buf
The buffer holding the certificate data in PEM or DER format. For certificates in PEM encoding, this may be a concatenation of multiple certificates; for DER encoding, the buffer must comprise exactly one certificate.
buflen
The size of \p buf, including the terminating \c NULL byte in case of PEM encoded data.
Return value
\c 0 if all certificates were parsed successfully. The (positive) number of certificates that couldn't be parsed if parsing was partly successful (see above). A negative X509 or PEM error code otherwise.
mbedtls_x509_crt_parse() calls 4 functions:
![]()
mbedtls_x509_crt_parse()
mbedtls_x509_crt_parse() reads 2 variables:
![]()
mbedtls_x509_crt_parse()