Exemple #1
0
def print_valid_time(prefix: str, cert: X509) -> None:
    """Print validity time of the certificate"""
    validfrom_time = cert.get_notBefore()
    validfrom_datetime = datetime.strptime(validfrom_time.decode("utf-8"),
                                           "%Y%m%d%H%M%SZ")
    validto_time = cert.get_notAfter()
    validto_datetime = datetime.strptime(validto_time.decode("utf-8"),
                                         "%Y%m%d%H%M%SZ")
    print(f"{prefix}valid from: {validfrom_datetime}")
    print(f"{prefix}valid to  : {validto_datetime}")
Exemple #2
0
def is_self_signed(cert: X509) -> bool:
    """
    Checks if a X509 certificate is self signed.
    """
    store = X509Store()
    store.add_cert(cert)
    validfrom_time = cert.get_notBefore()
    validfrom_datetime = datetime.strptime(validfrom_time.decode("utf-8"),
                                           "%Y%m%d%H%M%SZ")
    store.set_time(validfrom_datetime)
    store_ctx = X509StoreContext(store, cert)
    try:
        store_ctx.verify_certificate()
        return True
    except X509StoreContextError:
        return False