/* This Source Code Form is subject to the terms of the Mozilla Public *License,v.2.0.IfacopyoftheMPLwasnotdistributedwiththis
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use std::env::args; use std::path::PathBuf; use std::process::ExitCode;
use clubcard_crlite::{CRLiteClubcard, CRLiteKey, CRLiteStatus, IssuerSpkiHash, LogId, Timestamp}; use sha2::{Digest, Sha256}; use x509_parser::prelude::*;
if !cert.tbs_certificate.validity.is_valid() {
eprintln!("End-entity certificate is expired"); return ExitCode::FAILURE;
}
let Ok(Some(sct_extension)) = cert
.tbs_certificate
.get_extension_unique(&x509_parser::oid_registry::OID_CT_LIST_SCT) else {
eprintln!("End entity certificate has no SCTs"); return ExitCode::FAILURE;
};
let ParsedExtension::SCT(scts) = sct_extension.parsed_extension() else {
eprintln!("End entity certificate has no SCTs"); return ExitCode::FAILURE;
};
let issuer_spki_hash =
IssuerSpkiHash(Sha256::digest(issuer.tbs_certificate.subject_pki.raw).into()); let serial = cert.tbs_certificate.raw_serial(); let key = CRLiteKey::new(&issuer_spki_hash, serial);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.