Exemplo n.º 1
0
 def test_simple(self):
     algo = 'sha1'
     for d in self.data:
         h = EVP.HMAC(d[0], algo)
         h.update(d[1])
         ret = h.final()
         self.assertEqual(ret, d[2])
     with self.assertRaises(ValueError):
         EVP.HMAC(d[0], algo='nosuchalgo')
Exemplo n.º 2
0
 def make_chain_HMAC(self, key, start, input, algo='sha1'):
     chain = []
     hmac = EVP.HMAC(key, algo)
     hmac.update( ` start `)
     digest = hmac.final()
     chain.append((digest, start))
     for i in input:
         hmac.reset(digest)
         hmac.update( ` i `)
         digest = hmac.final()
         chain.append((digest, i))
     return chain
Exemplo n.º 3
0
 def verify_chain_HMAC(self, key, start, chain, algo='sha1'):
     hmac = EVP.HMAC(key, algo)
     hmac.update( ` start `)
     digest = hmac.final()
     c = chain[0]
     if c[0] != digest or c[1] != start:
         return 0
     for d, v in chain[1:]:
         hmac.reset(digest)
         hmac.update( ` v `)
         digest = hmac.final()
         if digest != d:
             return 0
     return 1
Exemplo n.º 4
0
    def HMAC(self, *data):
        hmac = EVP.HMAC(self.cipher.hmac_key, algo="sha1")
        for d in data:
            hmac.update(d)

        return hmac.final()
Exemplo n.º 5
0
 def HMAC(self, data):
     hmac = EVP.HMAC(self.cipher.hmac_key, algo="sha1")
     hmac.update(data)
     return hmac.final()