Open seblaf1 opened 1 year ago
cc @tmshort and @kaduk any help here would be appreciated. I'm not sure what could be going on here. There seems to be an interopt issue when talking to rustls.
I'm a bit confused at how we go from processing 585 crypto byes to then attempting to process 1487 bytes; does that have an easy explanation (like, "it's just the next frame in the stream")? Just looking at the error file the most plausible guess (which is, to be clear, just a guess and not necessarily correct) is that openssl doesn't like the ASN.1 encoding of the certificate it received. Do we have a packet capture or similar diagnostics available (ideally with decrypted contents)?
I'm with @kaduk here, looks to be a bad certificate/ASN.1 encoding. None of that code is touch by QUIC.
Also, the "quic.txt" is output from MSQUIC, not OpenSSL/QUICTLS, so I really don't know how to interpret it.
Any more activity on this? Or should we close it.
Environment:
Chosen ALPN is "http/0.9".
Client setups its credentials like so:
Server setups it's crypto server config like so: let mut crypto = rustls::ServerConfig::builder() .with_safe_default_cipher_suites() .with_safe_default_kx_groups() .with_protocol_versions(&[&rustls::version::TLS13]) .unwrap() .with_no_client_auth() .with_single_cert(vec![cert], key) .expect("invalid crypto config");
What happens: