Hi, On 08-10-18 23:41, Arne Schwabe wrote: > The current API that we use (mbedtls_pk_setup_rsa_alt) only allows > using RSA keys with the external API. Using an EC, mbed TLS and external > key in OpenVPN will fail very late with a rather obscure error message. > > Instead fail early and provide a clear message that only RSA keys are > supported. > > Signed-off-by: Arne Schwabe <a...@rfc2549.org> > --- > src/openvpn/ssl_mbedtls.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/src/openvpn/ssl_mbedtls.c b/src/openvpn/ssl_mbedtls.c > index 3e97a329..95061d6d 100644 > --- a/src/openvpn/ssl_mbedtls.c > +++ b/src/openvpn/ssl_mbedtls.c > @@ -604,6 +604,13 @@ tls_ctx_use_external_signing_func(struct tls_root_ctx > *ctx, > return 1; > } > > + if (mbedtls_pk_get_type(&ctx->crt_chain->pk) != MBEDTLS_PK_RSA) > + { > + msg (M_WARN, "ERROR: external key with mbed TLS requires a " > + "certificate with an RSA key."); > + return 1; > + } > + > ctx->external_key.signature_length = > mbedtls_pk_get_len(&ctx->crt_chain->pk); > ctx->external_key.sign = sign_func; > ctx->external_key.sign_ctx = sign_ctx; >
There should be no space in "msg(", but other than that this makes sense and looks good. Acked-by: Steffan Karger <stef...@karger.me> -Steffan _______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel