Question

Ok d'abord oui, je l'ai recherché Google et stackoverflow et fait un peu de lecture (plus de 4 heures juste dans cette séance) n'ont pas trouvé ce que j'ai besoin pour ces raisons:

  • Beaucoup d'entre eux suggèrent que le lancement d'un exe comme gpg.exe (http://stackoverflow.com/questions/1020320)

  • Certains ont suggéré l'aide PyCrypto ou d'autres bibliothèques et les regarder, que ce soit a) Je ne peux pas trouver comment utiliser une de leur API, b) Je ne peux pas trouver comment importer un pv pré-existante / clé de pub ou c) ils utilisent l'insécurité RandomPool (et moi essayant de mise à jour, il est juste d'avoir des ennuis)

  • Certains mentionnent en passant, mais je ne pouvais pas trouver ce qu'ils où des liens vers (ou leur absence de lien du tout.

Je sais que vous demandez d'autres utilisateurs stackoverflow comment puis-je faire cela, prendre une chaîne d'une clé publique (ou le chemin (je pourrais écrire dans un fichier temporaire, (je prévois d'avoir juste comme une chaîne pub_key = « ... »))) et l'utiliser pour signer et sécuriser une chaîne (qui sera affiché sur un forum (JSON pour mettre à jour mon application)?

sont également des clés RSA (Mastic Gen 4096 bits SSH-2-RSA) qui sont générés à l'aide de PuttyGen (peut être dans un format quelconque (OpenSSH, ssh.com, PPK)

est ce que les regards de clé publique comme

---- BEGIN SSH2 PUBLIC KEY ----

Commentaire: "rsa-key-20101003"

AAAAB3NzaC1yc2EAAAABJQAAAgEAi + 91fFsxZ7k1UuudSe5gZoavwARUyZScCtdf WQ0ROoJC + XIqW5vVJfgmr + A1jLS5m4wNsrCqeyoX2B22T6iEwqVXrXt3QcbccKMu WkLKFK1h67q6Coc + 3eOTmKrOuZbWc19YQgybdkR / GxF7XAbq4NCGNaCDtMOqX8Q2 L / a9fAYqVdTwg9trpcz3whNmdLk / B0edOABKuVX51UdLV + ZggK503 + uAb1JiIIj0 mARwR / HNo4oRLMLf2PjuZsGVYYjJDdVJBU6AN4PUQSRRRPL4 + YmsrLJb / TpfJeXA vj4KZMNJv15YXz7 / iMZMKznDtr2RJX5wbSpuTUBNZveA7YiIHxvvvis38b / lX9SJ SYPfZ9CeQY6MvQgG2zwDTOOvKgOIB4sTGMXfcoxB8AF / QXOcxWFJkZoj36rvMd9n Po6szLjHXwcEUOUvvQfG4VvdQA0H5gGLHqYL1EehRsgi5qcCoFPaZW2K09ErKcS0 MbrLFjBkQ9KmqAM38bvM8UhCWAMA9VXOGHMxUHBV4Bir9alGS4VX0B8Y0b3dZ + 7I MKkHMCwdEUJf7QVdGxGuSQtVsq8RZbIpk3g7wtv8f6I / iEC58ekdrH35tq5 + 1ilW dkk9 + rrhUy4qrZ + HFi7AeemybpiumbSnebvnkMaIPAOo23V8C9BQ0iuxx4gIZf10 o + TPSK8 =

---- END SSH2 PUBLIC KEY ----

pas -> Format clé semble être PKCS1 si M2Crypto ne fonctionnera pas (sa fonction clé de charge attend PEM)

Dernières lecture Je pense qu'il est le format de fichier clé publique SSH (RFC: http: // www. ietf.org/rfc/rfc4716.txt )

Je pense aussi en dessous de mal, je ne pense pas qu'il gère le format de fichier clé publique SSH: (

ressemble également à Twisted pourrait être là où je devrais regarder

http://www.java2s.com/Open-Source/Python/Network/Twisted/Twisted-1.0.3/Twisted-1.0.3/twisted/conch/ssh/keys.py. htm

Aussi pourquoi SO ne me permet de poster une prime immédiatement ??

Était-ce utile?

La solution

Ok j'ai trouvé comment le charger

from twisted.conch.ssh import keys as Keys
import base64

public_key = """\
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20101003"
AAAAB3NzaC1yc2EAAAABJQAAAgEAi+91fFsxZ7k1UuudSe5gZoavwARUyZScCtdf
WQ0ROoJC+XIqW5vVJfgmr+A1jLS5m4wNsrCqeyoX2B22T6iEwqVXrXt3QcbccKMu
WkLKFK1h67q6Coc+3eOTmKrOuZbWc19YQgybdkR/GxF7XAbq4NCGNaCDtMOqX8Q2
L/a9fAYqVdTwg9trpcz3whNmdLk/B0edOABKuVX51UdLV+ZggK503+uAb1JiIIj0
mARwR/HNo4oRLMLf2PjuZsGVYYjJDdVJBU6AN4PUQSRRRPL4+YmsrLJb/TpfJeXA
vj4KZMNJv15YXz7/iMZMKznDtr2RJX5wbSpuTUBNZveA7YiIHxvvvis38b/lX9SJ
SYPfZ9CeQY6MvQgG2zwDTOOvKgOIB4sTGMXfcoxB8AF/QXOcxWFJkZoj36rvMd9n
Po6szLjHXwcEUOUvvQfG4VvdQA0H5gGLHqYL1EehRsgi5qcCoFPaZW2K09ErKcS0
MbrLFjBkQ9KmqAM38bvM8UhCWAMA9VXOGHMxUHBV4Bir9alGS4VX0B8Y0b3dZ+7I
MKkHMCwdEUJf7QVdGxGuSQtVsq8RZbIpk3g7wtv8f6I/iEC58ekdrH35tq5+1ilW
dkk9+rrhUy4qrZ+HFi7AeemybpiumbSnebvnkMaIPAOo23V8C9BQ0iuxx4gIZf10
o+TPSK8=
---- END SSH2 PUBLIC KEY ----"""

key_data = ''.join(public_key.splitlines()[2:-1])# remove begin, end tags and comment
blob = base64.decodestring(key_data)
key = Keys.Key._fromString_BLOB(blob)

Autres conseils

Je peux penser à au moins deux options relativement simples

  1. Utiliser OpenSSL (ou pyOpenSSL) pour convertir le TEB à PEM
  2. Utilisez paramiko, tordu ou toute autre application SSH python pour travailler avec les clés directement
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top