auto must_staple = Utility::getCertificateExtensionValue(*ctx.cert_chain_, tls_feature_ext);
if (extended_socket_info->certificateValidationResult() != Ssl::ValidateStatus::NotStarted) {
extended_socket_info->setCertificateValidationStatus(Ssl::ClientValidationStatus::NotValidated);
*cert_chain, extended_socket_info->createValidateResultCallback(), transport_socket_options,
// Increment the `was_key_usage_invalid_` stats to indicate the given cert would have triggered an
std::vector<Ssl::PrivateKeyMethodProviderSharedPtr> ContextImpl::getPrivateKeyMethodProviders() {
absl::optional<uint32_t> daysUntilExpiration = cert_validator_->daysUntilFirstCertExpires();
std::vector<uint8_t> parsed_alpn = parseAlpnProtocols(absl::StrJoin(alpn, ","), parse_status);
const CertValidator::ExtraValidationContext& validation_context, const std::string& host_name) {
cert_validator_->doVerifyCertChain(cert_chain, std::move(callback), transport_socket_options,
if (cert_chain_ == nullptr || !SSL_CTX_use_certificate(ssl_ctx_.get(), cert_chain_.get())) {
!PKCS12_parse(pkcs12.get(), !password.empty() ? const_cast<char*>(password.c_str()) : nullptr,