コード例 #1
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)
コード例 #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)
コード例 #3
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
コード例 #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
コード例 #5
0
 def test_create_from_keys(self):
     cert = datatypes.KeyCertificate(crypto.DSAKey(),
                                     crypto.ElGamalKey())
     assert_KeyCert_DSA_ElGamal(cert)
コード例 #6
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:])