summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorFelix Dörre <felix@dogcraft.de>2024-02-01 12:07:06 +0000
committerDamien George <damien@micropython.org>2024-02-07 12:58:52 +1100
commitf8f1f29ac0b5ef837e7c277b2777080c1d82e080 (patch)
treea46d02d2bd5e6083f52211f80d7d44fd5b0d2a5b
parentc68462d9967aec0c36345b54ebd22b559aa55ca0 (diff)
downloadmicropython-f8f1f29ac0b5ef837e7c277b2777080c1d82e080.tar.gz
micropython-f8f1f29ac0b5ef837e7c277b2777080c1d82e080.zip
extmod/modssl_axtls: Add SSLContext.load_cert_chain().
To match the mbedtls implementation. Signed-off-by: Felix Dörre <felix@dogcraft.de>
-rw-r--r--extmod/modssl_axtls.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/extmod/modssl_axtls.c b/extmod/modssl_axtls.c
index 6cb999c13b..0368cb9305 100644
--- a/extmod/modssl_axtls.c
+++ b/extmod/modssl_axtls.c
@@ -161,6 +161,14 @@ STATIC void ssl_context_load_key(mp_obj_ssl_context_t *self, mp_obj_t key_obj, m
self->cert = cert_obj;
}
+// SSLContext.load_cert_chain(certfile, keyfile)
+STATIC mp_obj_t ssl_context_load_cert_chain(mp_obj_t self_in, mp_obj_t cert, mp_obj_t pkey) {
+ mp_obj_ssl_context_t *self = MP_OBJ_TO_PTR(self_in);
+ ssl_context_load_key(self, pkey, cert);
+ return mp_const_none;
+}
+STATIC MP_DEFINE_CONST_FUN_OBJ_3(ssl_context_load_cert_chain_obj, ssl_context_load_cert_chain);
+
STATIC mp_obj_t ssl_context_wrap_socket(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
enum { ARG_server_side, ARG_do_handshake_on_connect, ARG_server_hostname };
static const mp_arg_t allowed_args[] = {
@@ -182,6 +190,7 @@ STATIC mp_obj_t ssl_context_wrap_socket(size_t n_args, const mp_obj_t *pos_args,
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(ssl_context_wrap_socket_obj, 2, ssl_context_wrap_socket);
STATIC const mp_rom_map_elem_t ssl_context_locals_dict_table[] = {
+ { MP_ROM_QSTR(MP_QSTR_load_cert_chain), MP_ROM_PTR(&ssl_context_load_cert_chain_obj)},
{ MP_ROM_QSTR(MP_QSTR_wrap_socket), MP_ROM_PTR(&ssl_context_wrap_socket_obj) },
};
STATIC MP_DEFINE_CONST_DICT(ssl_context_locals_dict, ssl_context_locals_dict_table);