TLS 1.3 requires curve and hash match when signing things. For BoringSSL to know the curve of custom keys, SSL_PRIVATE_KEY_METHOD::type was extended to expect a curve NID rather than just EVP_PKEY_EC (which is the NID for id-ecPublicKey). The SSLPrivateKey needs to get update to route this through.
Comment 1 by bugdroid1@chromium.org
, Oct 5 2016