Why
We want to update the unstable MithrilCertificateVerifier and CertificateVerifierCache implementations of the client to support a commit mechanism when the full certificate chain is validated. A first FullVerification mode of verification using the cache will verify the cryptography of the cached certificate, thus providing the same level of security than without cache.
What
Implement the new commit mechanism for the client certificate cache and the FullVerification mechanism.
How
Why
We want to update the unstable
MithrilCertificateVerifierandCertificateVerifierCacheimplementations of the client to support a commit mechanism when the full certificate chain is validated. A firstFullVerificationmode of verification using the cache will verify the cryptography of the cached certificate, thus providing the same level of security than without cache.What
Implement the new commit mechanism for the client certificate cache and the
FullVerificationmechanism.How
CertificateVerifierCachetrait with:stage_certificate(&self, certificate_chain_validation_id: String, certificate: &CertificateMessage, expiration_at: DateTime) -> MithrilResult<()>commit_staged_certificates(&self, certificate_chain_validation_id: String) -> MithrilResult<()>get_certificate_by_hash(&self, certificate_hash: String) -> MithrilResult<Option<CertificateMessage>>reset(&self) -> MithrilResult<()>MemoryCertificateVerifierCacheimplementationFullVerificationalgorithm inverify_chainof theMithrilCertificateVerifierClientBuilderto configure the cache