Ejemplo n.º 1
0
 def test_serialize(self):
     dest = datatypes.Destination(crypto.ElGamalKey(), crypto.DSAKey(),
                                  datatypes.Certificate())
     lease = datatypes.Lease(b'f' * 32, 1, datatypes.Date(1))
     ls = datatypes.LeaseSet(dest=dest,
                             ls_enckey=crypto.ElGamalKey(),
                             ls_sigkey=crypto.DSAKey(),
                             leases=[lease])
     data = ls.serialize()
     dest.verify(data[:-40], data[-40:])
Ejemplo n.º 2
0
        def test_generate_from_keycert(self):
            keycert = datatypes.KeyCertificate(crypto.DSAKey(),
                                               crypto.ElGamalKey())
            dest = datatypes.Destination(cert=keycert)
            assert dest.enckey.key_type == crypto.EncType.ELGAMAL_2048
            assert dest.sigkey.key_type == crypto.SigType.DSA_SHA1
            assert dest.cert.type == datatypes.CertificateType.NULL

            keycert = datatypes.KeyCertificate(crypto.ECDSA256Key(),
                                               crypto.ElGamalKey())
            dest = datatypes.Destination(cert=keycert)
            self._assert_keycert(dest, crypto.EncType.ELGAMAL_2048,
                                 crypto.SigType.ECDSA_SHA256_P256)
Ejemplo n.º 3
0
 def test_parse(self):
     dest = datatypes.Destination(crypto.ElGamalKey(), crypto.DSAKey(),
                                  datatypes.Certificate())
     lease = datatypes.Lease(b'f' * 32, 1, datatypes.Date(1))
     ls = datatypes.LeaseSet(dest=dest,
                             ls_enckey=crypto.ElGamalKey(),
                             ls_sigkey=crypto.DSAKey(),
                             leases=[lease])
     data = ls.serialize()
     ls2 = datatypes.LeaseSet(raw=data)
     assert ls2.dest.base64() == ls.dest.base64()
     assert ls2.enckey.key.y == ls.enckey.key.y
     assert ls2.sigkey.key.y == ls.sigkey.key.y
     assert len(ls2.leases) == len(ls.leases)
Ejemplo n.º 4
0
 def test_serialize_nullcert(self):
     dest = datatypes.Destination(crypto.ElGamalKey(), crypto.DSAKey())
     assert dest.cert.type == datatypes.CertificateType.NULL
     data = dest.serialize()
     dest2 = datatypes.Destination(raw=data)
     assert dest2.enckey.key.y == dest.enckey.key.y
     assert dest2.sigkey.key.y == dest.sigkey.key.y
     assert dest2.cert.type == dest.cert.type
     assert dest2.padding == dest.padding
Ejemplo n.º 5
0
 def test_serialize_keycert(self):
     dest = datatypes.Destination(crypto.ElGamalKey(),
                                  crypto.ECDSA256Key())
     assert dest.cert.type == datatypes.CertificateType.KEY
     data = dest.serialize()
     dest2 = datatypes.Destination(raw=data)
     assert dest2.enckey.key.y == dest.enckey.key.y
     assert dest2.sigkey.key.get_pubkey() == dest.sigkey.key.get_pubkey(
     )
     assert dest2.cert.type == dest.cert.type
     assert dest2.padding == dest.padding
Ejemplo n.º 6
0
 def test_create_from_keys(self):
     cert = datatypes.KeyCertificate(crypto.DSAKey(),
                                     crypto.ElGamalKey())
     assert_KeyCert_DSA_ElGamal(cert)