key contains no private key while using ecc key
benzwt opened this issue · 1 comments
Version
warp v0.3.6
Platform
Linux Office 6.5.0-14-generic #14~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Nov 20 18:15:30 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
Description
[short summary of the bug]
I ran the tls.rs example.
Things were fine for rsa key.
While using ecc key which came with the examples,
I got
error binding to 127.0.0.1:3030: key contains no private
[code sample that causes the bug]
- examples/tls.rs
I expected to see this happen: [explanation]
- the server should start and serving
Instead, this happened: [explanation]
I got
thread 'main' panicked at /home/benzene/.cargo/registry/src/index.crates.io-6f17d22bba15001f/warp-0.3.6/src/server.rs:550:27:
error binding to 127.0.0.1:3030: key contains no private key
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
This is still an issue as it seems. I've read through some source code, and it seems that warp
uses PKCS8 only, which is fine by itself, but should be documented, as this is different from other crates, for example rustls
, which accepted my EC KEY. Your EC PRIVATE KEY can be converted to a PKCS8 conform key with the following openssl
command:
openssl pkcs8 -topk8 -nocrypt -in private.pem -out newpriv.pem
With a PKCS8 conform key, warp succeeds in starting the server.