[python] M2Crypto를 이용하여 디지털 서명을 검증하는 방법은 어떻게 되나요?

M2Crypto란 무엇인가요?

M2Crypto는 파이썬에서 OpenSSL 기반의 암호화 및 보안 기능을 지원하는 모듈입니다.

디지털 서명 검증하기

M2Crypto를 사용하여 디지털 서명을 검증하려면 다음과 같은 단계를 따르면 됩니다:

  1. 공개키 및 서명 로드: 검증할 데이터와 함께 사용된 공개키서명을 로드합니다.
    from M2Crypto import EVP, RSA
    
    public_key = RSA.load_pub_key('public_key.pem')
    signature = open('signature.dat').read()
    data = open('data.txt').read()
    
  2. 서명 검증: public_key를 사용하여 서명을 검증합니다.
    pubkey = EVP.PKey(md='sha256')
    pubkey.assign_rsa(public_key)
    pubkey.verify_init()
    pubkey.verify_update(data)
    result = pubkey.verify_final(signature)
    if result == 1:
        print('서명이 유효합니다.')
    else:
        print('서명이 유효하지 않습니다.')
    

추가 참고 자료

이제 M2Crypto를 사용하여 디지털 서명을 검증하는 방법에 대한 이해를 더욱 증진시킬 수 있을 것입니다.