Skip to content
This repository was archived by the owner on Jan 29, 2023. It is now read-only.

Commit 38418eb

Browse files
authored
Update README.md and use allman astyle
1 parent a717de6 commit 38418eb

20 files changed

+502
-391
lines changed

src/SSLClient/SSLClientParameters.cpp

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -27,19 +27,19 @@
2727

2828
#include "SSLClient/SSLClientParameters.h"
2929

30-
struct ssl_pem_decode_state
30+
struct ssl_pem_decode_state
3131
{
3232
std::vector<char>* vect;
3333
size_t index = 0;
3434
};
3535

36-
static void ssl_pem_decode_callback(void *dest_ctx, const void *src, size_t len)
36+
static void ssl_pem_decode_callback(void *dest_ctx, const void *src, size_t len)
3737
{
3838
ssl_pem_decode_state* ctx = static_cast<ssl_pem_decode_state*>(dest_ctx);
39-
40-
for (size_t i = 0; i < len; i++)
39+
40+
for (size_t i = 0; i < len; i++)
4141
ctx->vect->emplace_back(static_cast<const char*>(src)[i]);
42-
42+
4343
// update index
4444
ctx->index += len;
4545
}
@@ -52,50 +52,55 @@ static void ssl_pem_decode_callback(void *dest_ctx, const void *src, size_t len)
5252
@param len Number of characters to process, MUST include a whole certificate.
5353
@return A vector of bytes representing the certificate in DER format.
5454
*/
55-
static std::vector<char> make_vector_pem(const char* data, const size_t len)
55+
static std::vector<char> make_vector_pem(const char* data, const size_t len)
5656
{
57-
if (data == nullptr || len < 80)
57+
if (data == nullptr || len < 80)
5858
return {};
59-
59+
6060
// initialize the bearssl PEM context
6161
br_pem_decoder_context pctx;
62+
6263
br_pem_decoder_init(&pctx);
63-
64+
6465
// create a temporary vector
6566
std::vector<char> temp;
67+
6668
// initialize the DER storage context
6769
ssl_pem_decode_state state;
70+
6871
state.vect = &temp;
72+
6973
state.index = 0;
70-
74+
7175
// set the byte reciever
7276
br_pem_decoder_setdest(&pctx, &ssl_pem_decode_callback, &state);
73-
77+
7478
// start decoding!
7579
int br_state = 0;
80+
7681
size_t index = 0;
77-
78-
do
82+
83+
do
7984
{
8085
index += br_pem_decoder_push(&pctx, static_cast<const void*>(&data[index]), len - index);
8186
br_state = br_pem_decoder_event(&pctx);
82-
87+
8388
// if we found the begining object, reserve the vector based on the remaining relavent bytes
84-
if (br_state == BR_PEM_BEGIN_OBJ)
89+
if (br_state == BR_PEM_BEGIN_OBJ)
8590
{
8691
// 22 = five dashes for header and footer + four newlines - character difference between `BEGIN` and `END`
8792
const size_t relavant_bytes_base64 = len - (2 * strlen(br_pem_decoder_name(&pctx)) + 22);
8893
temp.reserve(relavant_bytes_base64 * 3 / 4);
8994
}
9095
} while (br_state != BR_PEM_ERROR && br_state != BR_PEM_END_OBJ && len != index);
91-
96+
9297
// error check
93-
if (br_state == BR_PEM_ERROR)
98+
if (br_state == BR_PEM_ERROR)
9499
{
95100
// set data to error
96101
temp.clear();
97102
}
98-
103+
99104
// else we're good!
100105
return temp;
101106
}
@@ -108,30 +113,33 @@ static std::vector<char> make_vector_pem(const char* data, const size_t len)
108113
@returns context used by BearSSL to store information about the keys. You can
109114
use the br_skey_* family of APIs to access information from this context.
110115
*/
111-
static br_skey_decoder_context make_key_from_der(const std::vector<char>& der)
116+
static br_skey_decoder_context make_key_from_der(const std::vector<char>& der)
112117
{
113118
br_skey_decoder_context out;
114119
br_skey_decoder_init(&out);
115120
br_skey_decoder_push(&out, der.data(), der.size());
116-
121+
117122
return out;
118123
}
119124

120125
/* See SSLClientParams.h */
121-
SSLClientParameters::SSLClientParameters(const char* cert, const size_t cert_len, const char* key, const size_t key_len, bool is_der)
126+
SSLClientParameters::SSLClientParameters(const char* cert, const size_t cert_len, const char* key, const size_t key_len,
127+
bool is_der)
122128
: m_cert(is_der ? std::vector<char>(cert, cert + cert_len) : make_vector_pem(cert, cert_len))
123129
, m_cert_struct{ const_cast<unsigned char*>(reinterpret_cast<const unsigned char*>(m_cert.data())), m_cert.size() }
124-
, m_key_struct( make_key_from_der( is_der ? std::vector<char>(key, key + key_len) : make_vector_pem(key, key_len) ) )
130+
, m_key_struct( make_key_from_der( is_der ? std::vector<char>(key, key + key_len) : make_vector_pem(key, key_len) ) )
125131
{}
126132

127133
/* See SSLClientParams.h */
128-
SSLClientParameters SSLClientParameters::fromPEM(const char* cert_pem, const size_t cert_len, const char* key_pem, const size_t key_len)
134+
SSLClientParameters SSLClientParameters::fromPEM(const char* cert_pem, const size_t cert_len, const char* key_pem,
135+
const size_t key_len)
129136
{
130137
return SSLClientParameters(cert_pem, cert_len, key_pem, key_len, false);
131138
}
132139

133140
/* See SSLClientParams.h */
134-
SSLClientParameters SSLClientParameters::fromDER(const char* cert_der, const size_t cert_len, const char* key_der, const size_t key_len)
141+
SSLClientParameters SSLClientParameters::fromDER(const char* cert_der, const size_t cert_len, const char* key_der,
142+
const size_t key_len)
135143
{
136144
return SSLClientParameters(cert_der, cert_len, key_der, key_len, true);
137145
}

src/SSLClient/SSLClientParameters.h

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
ECC certificates if possible, as SSLClientParameters will make a copy of both the
4949
certificate and the private key in memory, and ECC keys tend to be smaller than RSA ones.
5050
*/
51-
class SSLClientParameters
51+
class SSLClientParameters
5252
{
5353
public:
5454
/**
@@ -81,7 +81,8 @@ class SSLClientParameters
8181
@param key_len The number of bytes in key_pem
8282
@return An SSLClientParameters context, to be used with SSLClient::setMutualAuthParams.
8383
*/
84-
static SSLClientParameters fromPEM(const char* cert_pem, const size_t cert_len, const char* key_pem, const size_t key_len);
84+
static SSLClientParameters fromPEM(const char* cert_pem, const size_t cert_len, const char* key_pem,
85+
const size_t key_len);
8586

8687
/**
8788
@brief Create mutual authentication parameters from a DER certificate and private key
@@ -109,28 +110,29 @@ class SSLClientParameters
109110
@param key_len The number of bytes in key_ders
110111
@return An SSLClientParameters context, to be used with SSLClient::setMutualAuthParams.
111112
*/
112-
static SSLClientParameters fromDER(const char* cert_der, const size_t cert_len, const char* key_der, const size_t key_len);
113+
static SSLClientParameters fromDER(const char* cert_der, const size_t cert_len, const char* key_der,
114+
const size_t key_len);
113115

114116
/** mTLS information used by SSLClient during authentication */
115-
const br_x509_certificate* getCertChain() const
117+
const br_x509_certificate* getCertChain() const
116118
{
117119
return &m_cert_struct;
118120
}
119121

120122
/** mTLS information used by SSLClient during authentication */
121-
int getCertType() const
123+
int getCertType() const
122124
{
123125
return br_skey_decoder_key_type(&m_key_struct);
124126
}
125127

126128
/** mTLS information used by SSLClient during authentication */
127-
const br_ec_private_key* getECKey() const
129+
const br_ec_private_key* getECKey() const
128130
{
129131
return br_skey_decoder_get_ec(&m_key_struct);
130132
}
131133

132134
/** mTLS information used by SSLClient during authentication */
133-
const br_rsa_private_key* getRSAKey() const
135+
const br_rsa_private_key* getRSAKey() const
134136
{
135137
return br_skey_decoder_get_rsa(&m_key_struct);
136138
}

0 commit comments

Comments
 (0)