briansmith / webpki

WebPKI X.509 Certificate Validation in Rust
https://briansmith.org/rustdoc/webpki/
Other
464 stars 166 forks source link

v1 Certs not being supported? #267

Open SirVer opened 1 year ago

SirVer commented 1 year ago

I am a bit lost, being a total crypto-noob. We are using gRPC secured by TLS & client certificates in our shop. We used the python libraries both for client & server and want to now try using https://github.com/hyperium/tonic for some of the clients. However, when I try to connect using tonic I see these errors:

Error: transport error

Caused by:
    0: error trying to connect: invalid peer certificate contents: invalid peer certificate: UnsupportedCertVersion
    1: invalid peer certificate contents: invalid peer certificate: UnsupportedCertVersion

I am quite confident that all of our certificates are v1 (compared to being v3), both client and server. I frankly have no idea what that means, but running openssl seems to confirm this:

openssl x509 -text -noout -in cert_v1.der -inform DER
Certificate:
    Data:
        Version: 1 (0x0)
<rest of output cut>

I seem to be gleaming from https://github.com/briansmith/webpki/blob/main/tests/cert_v1_unsupported.rs that V1 is not supported in this repo and that seems to be the root cause of my issue.

I read up how to create v3 certs, but doing so is costly: rotating our root CA and server certificates, as well as all of our clients is a multi day endeavour for just running some experiments with Rust. And even then I am not sure if this would help. I also do not understand what the advantage is of v3 vs v1.

So after this long backstory, here are my questions: Why is v1 not supported? Is there some good reasons why it should not be used anymore, or did just nobody get around implementing support for it? What do you suggest is my best path forward here?

I am sorry that this is not really a bug report, more a mix of confusion and request for tutoring, I hope it finds kind consideration.

yanis-fourel commented 1 year ago

I also have the same issue