How do you verify an RSA SHA1 signature in Python?

后端 未结 8 1441
面向向阳花
面向向阳花 2020-11-29 00:35

I\'ve got a string, a signature, and a public key, and I want to verify the signature on the string. The key looks like this:

-----BEGIN PUBLIC KEY-----
MIGf         


        
8条回答
  •  独厮守ぢ
    2020-11-29 00:53

    I try the code given by joeforker but it does not work. Here is my example code and it works fine.

    from Crypto.Signature import PKCS1_v1_5
    from Crypto.PublicKey import RSA 
    from Crypto.Hash import SHA
    
    pem = """-----BEGIN PUBLIC KEY-----
    MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDfG4IuFO2h/LdDNmonwGNw5srW
    nUEWzoBrPRF1NM8LqpOMD45FAPtZ1NmPtHGo0BAS1UsyJEGXx0NPJ8Gw1z+huLrl
    XnAVX5B4ec6cJfKKmpL/l94WhP2v8F3OGWrnaEX1mLMoxe124Pcfamt0SPCGkeal
    VvXw13PLINE/YptjkQIDAQAB
    -----END PUBLIC KEY-----""" # your example key
    
    key = RSA.importKey(pem)
    h = SHA.new(self.populateSignStr(params))
    verifier = PKCS1_v1_5.new(key)
    if verifier.verify(h, signature):
      print "verified"
    else:
      print "not verified"
    

提交回复
热议问题