You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
rats-rs uses tokio-rustls as a dependency to support async tls and tokio-rustls uses rustls as its underlying implementation for certificate verification functionality. In rats-rs, we use custom certificate verifying functionality to verify TEE evidence, this is done by adding RatsClientVerifier/RatsServerVerifier struct instance which has implemented ClientCertVerifier/ClientCertVerifier trait to client/server configuration while building tls.
let cert = CertBuilder::new(AutoAttester::new(),HashAlgo::Sha256)
.build_with_private_key(&privkey)
.await?
.cert_to_der()?;
root.add(cert.into())?;
root
}))
.build()?,
}))
The current RatsClientVerifier/RatsServerVerifier wrapper a WebPkiClientVerifier/WebPkiServerVerifier as the default certificate verify logic, but actually there is no need to add such default certificate verify logic since rats-rs cert module has already implemented this. Things get complicated because ClientCertVerifier/ClientCertVerifier trait not only needs a certificate verifying method, but also other methods like message signature which aren't implemented in rats-rs.
The next step to improve RatsClientVerifier/RatsServerVerifier is trying to implement ClientCertVerifier/ClientCertVerifier trait without WebPkiClientVerifier/WebPkiServerVerifier.
The text was updated successfully, but these errors were encountered:
rats-rs
usestokio-rustls
as a dependency to support async tls andtokio-rustls
usesrustls
as its underlying implementation for certificate verification functionality. Inrats-rs
, we use custom certificate verifying functionality to verify TEE evidence, this is done by addingRatsClientVerifier
/RatsServerVerifier
struct instance which has implementedClientCertVerifier
/ClientCertVerifier
trait to client/server configuration while building tls.rats-rs/rats-rs/src/transport/rustls/client.rs
Lines 49 to 63 in 25a123d
rats-rs/rats-rs/src/transport/rustls/server.rs
Lines 45 to 59 in 25a123d
The current
RatsClientVerifier
/RatsServerVerifier
wrapper aWebPkiClientVerifier
/WebPkiServerVerifier
as the default certificate verify logic, but actually there is no need to add such default certificate verify logic sincerats-rs
cert module has already implemented this. Things get complicated becauseClientCertVerifier
/ClientCertVerifier
trait not only needs a certificate verifying method, but also other methods like message signature which aren't implemented inrats-rs
.The next step to improve
RatsClientVerifier
/RatsServerVerifier
is trying to implementClientCertVerifier
/ClientCertVerifier
trait withoutWebPkiClientVerifier
/WebPkiServerVerifier
.The text was updated successfully, but these errors were encountered: