Generieren eines CSR mit Python (crypto)

9

Ich habe ein Skelett, das - funktioniert, aber ich bin irgendwie auf dem folgenden fest;

  1. Ich sehe keinen Weg mit der Crypto-Bibliothek, um SAN (subjectAltName) zu behandeln? Hoffentlich bin ich nicht falsch in der Terminologie, aber wenn ich sagen würde - ein Haupthostname test.test.edu und dann alternativ wäre dieser Host auch pushu.edu, normalerweise kann das ein "subjectAltName" sein.
  2. Gibt es eine Möglichkeit, den gesamten CSR zu sehen? Wie, wo es das Thema, den Staat, usw., usw. zeigt? Ich möchte nur, dass es auf dem Bildschirm gedruckt wird, aber ich sehe keine Möglichkeit, dies mit Krypto zu tun.

Jede Hilfe würde sehr geschätzt werden; Code bisher -

%Vor%

BEARBEITEN:

Ich habe das vor einer Weile repariert. Hier ist der Code mit den hinzugefügten Erweiterungen, oder Sie können ihn von meinem Github kopieren: Ссылка ;

%Vor%     
Ethabelle 04.06.2014, 16:52
quelle

2 Antworten

6

Für Ihre erste Frage zum Hinzufügen eines SAN zu einem CSR schauen Sie sich die add_extensions Methode für das Objekt X509req (was in den Dokumenten nicht erwähnt wird für die Klasse X509req )

Es würde ungefähr so ​​aussehen

%Vor%

Update: Danke an Peter Gallagher für das Abfangen der fehlenden Typenpräfixe (zB DNS , IP ) in meiner ursprünglichen Antwort.

    
gene_wood 07.09.2014, 21:16
quelle
3

Die Antwort von Gene war nahe, aber jedem alternativen Antragstellernamen muss ein Präfix vorangestellt werden , z. DNS, IP, E-Mail etc .. Angenommen, Sie wollen DNS den folgenden Code würde funktionieren:

%Vor%     
Peter Gallagher 31.03.2015 12:40
quelle

Tags und Links