def verify_cert(signature_chain_url: str) -> Optional[crypto.X509]:
try:<EOL><INDENT>certs_chain_get = requests.get(signature_chain_url)<EOL><DEDENT>except requests.exceptions.ConnectionError as e:<EOL><INDENT>log.error(f'<STR_LIT>')<EOL>return None<EOL><DEDENT>certs_chain_txt = certs_chain_get.text<EOL>certs_chain = extract_certs(certs_chain_txt)<EOL>amazon_cert: crypto.X509 = certs_chain.pop(<NUM_LIT:0>)<EOL>sc_url_verification = verify_sc_url(signature_chain_url)<EOL>if not sc_url_verification:<EOL><INDENT>log.error(f'<STR_LIT>')<EOL><DEDENT>expired_verification = not amazon_cert.has_expired()<EOL>if not expired_verification:<EOL><INDENT>log.error(f'<STR_LIT>')<EOL><DEDENT>sans_verification = verify_sans(amazon_cert)<EOL>if not sans_verification:<EOL><INDENT>log.error(f'<STR_LIT>')<EOL><DEDENT>chain_verification = verify_certs_chain(certs_chain, amazon_cert)<EOL>if not chain_verification:<EOL><INDENT>log.error(f'<STR_LIT>')<EOL><DEDENT>result = (sc_url_verification and expired_verification and sans_verification and chain_verification)<EOL>return amazon_cert if result else None<EOL>
Conducts series of Alexa SSL certificate verifications against Amazon Alexa requirements.

    Args:
        signature_chain_url: Signature certificate URL from SignatureCertChainUrl HTTP header.
    Returns:
        result: Amazon certificate if verification was successful, None if not.