[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
함수를 호출하여 인증서의 유효성을 검증할 수 있습니다.
참고 문헌:
- M2Crypto 공식 문서: https://gitlab.com/m2crypto/m2crypto
- OpenSSL 공식 문서: https://www.openssl.org/docs/ ```