From b71e2b56234bca1d29285a395e6f64c04d9104c4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bar=C4=B1=C5=9F=20Metin?= Date: Fri, 16 Jul 2010 16:41:28 +0000 Subject: [PATCH] Workaround for bug in m2crypto-0.18 (on Fedora 8) --- keyconvert/keyconvert.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/keyconvert/keyconvert.py b/keyconvert/keyconvert.py index af12b1f4..de904ee6 100755 --- a/keyconvert/keyconvert.py +++ b/keyconvert/keyconvert.py @@ -4,7 +4,21 @@ import sys import base64 import struct import binascii -from M2Crypto import RSA, DSA +from M2Crypto import RSA, DSA, m2 + + +###### Workaround for bug in m2crypto-0.18 (on Fedora 8) +class RSA_pub_fix(RSA.RSA_pub): + def save_key_bio(self, bio, *args, **kw): + return self.save_pub_key_bio(bio) + +def rsa_new_pub_key((e, n)): + rsa = m2.rsa_new() + m2.rsa_set_e(rsa, e) + m2.rsa_set_n(rsa, n) + return RSA_pub_fix(rsa, 1) +###### +#rsa_new_pub_key = RSA.new_pub_key def decode_key(fname): @@ -78,7 +92,7 @@ def convert(fin, fout): if key_type == "ssh-rsa": e, n = ret[1:] - rsa = RSA.new_pub_key((e, n)) + rsa = rsa_new_pub_key((e, n)) rsa.save_pem(fout) elif key_type == "ssh-dss": -- 2.43.0