[python] M2Crypto를 사용하여 X.509 인증서를 검증하는 방법은 어떻게 되나요?

먼저, M2Crypto 라이브러리를 사용하여 X.509 인증서를 로드합니다. 그런 다음, OpenSSL의 기능을 사용하여 서명을 확인하고 인증서의 유효성을 검증합니다. 아래는 Python을 사용하여 M2Crypto를 통해 X.509 인증서를 검증하는 간단한 예제입니다.

from M2Crypto import X509

def verify_certificate(cert_file_path, ca_file_path):
    cert = X509.load_cert(cert_file_path)
    ca = X509.load_cert(ca_file_path)

    store = X509.X509_Store()
    store.add_cert(ca)

    ctx = X509.X509_Store_Context(store, cert)
    ctx.set_flags(X509.X509_STORE_FLAG_NO_PUBLIC_KEY_LOOKUP)

    if ctx.verify() == 1:
        print("Certificate is valid")
    else:
        print("Certificate verification failed")

cert_file_path = 'path_to_certificate.pem'
ca_file_path = 'path_to_ca_certificate.pem'
verify_certificate(cert_file_path, ca_file_path)

이 예제에서, cert_file_path는 검증할 X.509 인증서의 경로를, ca_file_path는 이를 발급한 인증 기관(CA)의 인증서 경로를 나타냅니다. 이후 verify_certificate 함수를 호출하여 인증서의 유효성을 검증할 수 있습니다.

참고 문헌: