SSLClient  v1.5.0
SSLObj Namespace Reference

This namespace works with raw DER byte arrays for use later with TLS mutual auth. More...

Functions

const std::vector< unsigned char > make_vector_pem (const char *data, const size_t len)
 Convert a PEM buffer into a vector of raw DER bytes. More...
 

Detailed Description

This namespace works with raw DER byte arrays for use later with TLS mutual auth.

SSLObj.h

This file contains a utility class to take PEM input and store it as a DER object for later use by BearSSL.This namespace was created to store some of the values stored in SSLClientParameters, which allow BearSSL use client certificates when creating a TLS connection. Since most certificates are transmitted over the internet in PEM format, a certificate can be provided in PEM or DER format, and will be converted internally to DER format for later use.

Function Documentation

◆ make_vector_pem()

const std::vector< unsigned char > SSLObj::make_vector_pem ( const char *  data,
const size_t  len 
)

Convert a PEM buffer into a vector of raw DER bytes.

This function takes a PEM buffer (e.g. ----BEGIN CERTIFICATE...) and converts it into a vector of raw bytes. The bytes given to this function must:

  • Contain both the -----BEGIN XXX----- and -----END XXX----- strings. These are removed during processing.
  • Have a base64 encoded body
  • Only contain a single object (certificate, private key, etc.).
Returns
The raw bytes decoded from the PEM file.