Utilisation de PyCrypto J'ai pu générer la sérialisation PEM publique et privée pour une clé RSA, mais dans PyCrypto la classe DSA n'a pas de méthode exportKey().Comment générer la sérialisation PEM pour la clé publique RSA/DSA
Essayer PyOpenSSL J'ai été capable de générer la sérialisation PEM privée pour les clés RSA et DSA, car il n'y a pas de méthode crypto.dump_publickey dans PyOpenSSL.
Je suis à la recherche de suggestions sur la façon de générer la sérialisation PEM pour les clés RSA et DSA.
Merci beaucoup! PS: pendant ce temps, j'ai changé le code PyOpenSSL pour exporter également une méthode dump_privatekey pour l'API cryptographique. bug pyopenssl et le patch sont disponibles à: https://bugs.launchpad.net/pyopenssl/+bug/780089
J'utilisais déjà Twisted.conch donc je résolu ce problème en générant manuellement une clé DSA/RSA en utilisant PyCrypto et initialiser un twisted.conch.ssh.key .Key en utilisant cette clé. La classe Key de Conch fournit une méthode toString pour la sérialisation de chaîne.
Merci pour votre exemple précieux. Je veux juste générer les paires de clés à partir de Python afin qu'elles puissent être utilisées avec OpenSSH. Je m'occupais de la partie clé publique. Pour la clé publique, je pense que j'ai besoin de ** SubjectPublicKeyInfo ** car c'est ce que j'ai lu dans la page de manuel 'Lorsqu'elle est utilisée avec une clé publique, elle utilise une structure SubjectPublicKeyInfo: c'est une erreur si la clé n'est pas DSA. Merci encore! –
J'ai trouvé le format de clé publique dans le code Twisted: http://twistedmatrix.com/trac/browser/tags/releases/twisted-11.0.0/twisted/conch/ssh/keys.py#L93 –
Dans ce cas, peut vous devriez vérifier avec [paramiko] (http://www.lag.net/paramiko/) les sources. – abbot