MCPcopy Create free account
hub / github.com/Dstack-TEE/dstack / verify_server_cert

Method verify_server_cert

gateway/src/kv/https_client.rs:74–95  ·  view source on GitHub ↗
(
        &self,
        end_entity: &CertificateDer<'_>,
        intermediates: &[CertificateDer<'_>],
        server_name: &ServerName<'_>,
        _ocsp_response: &[u8],
        now: UnixTime,
    

Source from the content-addressed store, hash-verified

72
73impl ServerCertVerifier for CustomCertVerifier {
74 fn verify_server_cert(
75 &self,
76 end_entity: &CertificateDer<'_>,
77 intermediates: &[CertificateDer<'_>],
78 server_name: &ServerName<'_>,
79 _ocsp_response: &[u8],
80 now: UnixTime,
81 ) -> Result<ServerCertVerified, rustls::Error> {
82 // First, do standard certificate verification
83 let verifier = rustls::client::WebPkiServerVerifier::builder(self.root_store.clone())
84 .build()
85 .map_err(|e| rustls::Error::General(format!("failed to build verifier: {e}")))?;
86
87 verifier.verify_server_cert(end_entity, intermediates, server_name, &[], now)?;
88
89 // Then run custom validation
90 self.validator
91 .validate(end_entity.as_ref())
92 .map_err(rustls::Error::General)?;
93
94 Ok(ServerCertVerified::assertion())
95 }
96
97 fn verify_tls12_signature(
98 &self,

Callers

nothing calls this directly

Calls 4

cloneMethod · 0.80
buildMethod · 0.45
validateMethod · 0.45
as_refMethod · 0.45

Tested by

no test coverage detected