コード例 #1
0
ファイル: test_dsa.py プロジェクト: Hypernode/M2Crypto
 def test_genparam_setparam_genkey(self):
     dsa = DSA.gen_params(1024, self.callback)
     assert len(dsa) == 1024
     p = dsa.p
     q = dsa.q
     g = dsa.g
     dsa2 = DSA.set_params(p,q,g)
     assert not dsa2.check_key()
     dsa2.gen_key()
     assert dsa2.check_key()
     r,s = dsa2.sign(self.data)
     assert dsa2.verify(self.data, r, s)
コード例 #2
0
ファイル: test_dsa.py プロジェクト: pmp-p/M2Crypto
 def test_genparam_setparam_genkey(self):
     dsa = DSA.gen_params(1024, self.callback)
     self.assertEqual(len(dsa), 1024)
     p = dsa.p
     q = dsa.q
     g = dsa.g
     dsa2 = DSA.set_params(p, q, g)
     assert not dsa2.check_key()
     dsa2.gen_key()
     assert dsa2.check_key()
     r, s = dsa2.sign(self.data)
     assert dsa2.verify(self.data, r, s)
コード例 #3
0
ファイル: keyconvert.py プロジェクト: gnogueras/sfa
def convert(fin, fout):
    key = decode_key(fin)
    ret = read_key(key)
    key_type = ret[0]

    if key_type == "ssh-rsa":
        e, n = ret[1:]
        rsa = rsa_new_pub_key((e, n))
        rsa.save_pem(fout)

    elif key_type == "ssh-dss":
        p, q, g, y = ret[1:]
        dsa = DSA.set_params(p, q, g)
        dsa.gen_key()
        dsa.save_pub_key(fout)
        # FIXME: This is wrong.
        # M2Crypto doesn't allow us to set the public key parameter
        raise Exception("DSA keys are not supported yet: M2Crypto doesn't allow us to set the public key parameter")
コード例 #4
0
ファイル: keyconvert.py プロジェクト: planetlab/sfa
def convert(fin, fout):
    key = decode_key(fin)
    ret = read_key(key)
    key_type = ret[0]

    if key_type == "ssh-rsa":
        e, n = ret[1:]
        rsa = rsa_new_pub_key((e, n))
        rsa.save_pem(fout)

    elif key_type == "ssh-dss":
        p, q, g, y = ret[1:]
        dsa = DSA.set_params(p, q, g)
        dsa.gen_key()
        dsa.save_pub_key(fout)
        # FIXME: This is wrong.
        # M2Crypto doesn't allow us to set the public key parameter
        raise Exception("DSA keys are not supported yet: M2Crypto doesn't allow us to set the public key parameter")
コード例 #5
0
ファイル: keys.py プロジェクト: mcrute/hg_sshsign
    def from_string(cls, key):
        """
        Loads an RFC 4716 formatted public key.
        """
        pubkey = cls()

        if key.startswith('ssh-'):
            pubkey.hashed = key.split()[1]
        else:
            pubkey.hashed = key

        pubkey.key_type, remainder = unpack_string(pubkey.blob)

        if pubkey.key_type == 'ssh-rsa':
            e, n = get_packed_mp_ints(remainder, 2)
            pubkey.instance = RSA.new_pub_key((e, n))
        elif pubkey.key_type == 'ssh-dss':
            p, q, g, y = get_packed_mp_ints(remainder, 4)
            pubkey.instance = DSA.set_params(p, q, g)

        return pubkey