Frage

Ok erstes off ja, ich habe google gesucht und Stackoverflow und etwas zu lesen gemacht (mehr als 4 Stunden, die gerade jetzt in dieser Sitzung) wird nicht gefunden, was ich aus diesen Gründen müssen:

  • Viele von ihnen empfehlen, nur eine exe wie gpg.exe starten (http://stackoverflow.com/questions/1020320)

  • Einige schlagen vor, PyCrypto oder andere Bibliotheken verwenden und sie anzusehen, entweder a) Ich kann nicht finden, wie alle ihre API verwenden, b) Ich kann nicht finden, wie eine bereits bestehende prv importieren / pub-Taste oder c) sie nutzen die unsichere RandomPool (und mich aktualisiert es nur versuchen, bittet um Ärger)

  • Einige nennen es nebenbei, aber ich konnte nicht finden, was sie wo die Anbindung an (oder deren war überhaupt keine Verbindung.

Also ich Sie wissen, fragen Kerl Stackoverflow Benutzer wie kann ich das tun, nehmen Sie eine Zeichenfolge aus einem öffentlichen Schlüssel (oder Pfad (ich konnte schreiben Sie es nur auf eine temporäre Datei, (ich plane, nur um es haben als String pub_key = „...“))) und es verwenden, um sich anmelden und einen String sichern (das wird für die Aktualisierung meiner Anwendung auf einem Forum (JSON geschrieben werden)?

Auch sind diese RSA-Schlüssel (Putty Gen 4096 Bits SSH-2-RSA), die PuTTYgen erzeugt verwenden (kann in jedem Format (OpenSSH sein, ssh.com, PPK)

Dies ist, was die öffentlichen Schlüssel sieht aus wie

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

Kommentar: "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 ----

NICHT DIES -> Key Format scheint PKCS1 so m2crypto wird nicht funktionieren (seine Last Schlüsselfunktion erwartet PEM)

Aktuelles Lesen Ich denke, es ist SSH Public Key File Format (RFC: http: // www. ietf.org/rfc/rfc4716.txt )

Ich denke, darunter auch falsch, ich glaube nicht, es behandelt SSH Public Key File Format: (

wie Verdrehte sieht auch sein könnte, wo ich aussehen soll

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

Auch warum SO mir nicht erlauben, eine Prämie zu schreiben sofort ??

War es hilfreich?

Lösung

Ok ich gefunden, wie es zu laden

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)

Andere Tipps

Ich denke an zumindest zwei relativ einfachen Optionen

  1. Verwenden Sie OpenSSL (oder pyOpenSSL), um die BER zu PEM umwandeln
  2. Verwenden Sie paramiko, verdreht oder jede andere Python SSH-Implementierung zur Arbeit mit den Tasten direkt
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top