Ich verwende openssl unter Mac OS X 10.9, um ein selbstsigniertes Zertifikat für Windows Server-Remotedesktopdienste zu generieren.
Mit dem folgenden Befehl kann ich das Zertifikat generieren.
openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout myserver.key -out myserver.crt
Ich muss jedoch eine erweiterte Schlüsselverwendungszeichenfolge Serverauthentifizierung (1.3.6.1.5.5.7.3.1) hinzufügen, und ich kann im obigen Befehl nicht herausfinden, wie dies zu tun ist.
Ich habe versucht, die openssl-Option -extfile mit einer Datei zu verwenden, die Folgendes enthält:
[= default ]
extendedKeyUsage = 1.3.6.1.5.5.7.3.1
Ich erhalte jedoch die Fehlermeldung, dass die Option -extfile nicht gefunden wurde.
Antworten:
Während
openssl x509
Anwendungen-extfile
der Befehl Sie verwenden,openssl req
benötigt, um-config
die Konfigurationsdatei angeben.Sie können also einen Befehl wie den folgenden verwenden:
Die üblichen Eingabeaufforderungen für die definierten Namensbits sind in der Standardkonfigurationsdatei (wahrscheinlich
/System/Library/OpenSSL/openssl.cnf
unter OS X) definiert. Diese Datei wird jedoch bei der Verwendung nicht verarbeitet-config
, sodass Ihre Konfigurationsdatei auch einige DN-Bits enthalten muss. Dahercert_config
könnte das oben genannte ungefähr so aussehen:Wie im Kommentar angegeben, können Sie wahrscheinlich die meisten DN-Felder weglassen. Für die Verwendung von HTTPS benötigen Sie meines Erachtens lediglich einen CN, der Ihrem Hostnamen entspricht.
Der Abschnitt Distinguished Name and Attribute Section Format von Req (1) zeigt, wie Sie die obige Konfiguration ändern können, um nach Werten zu fragen (und Standardwerte anzugeben), wenn Sie mehrere ähnliche Zertifikate / Anforderungen generieren möchten.
Wenn Sie andere Zertifikatserweiterungen benötigen, überprüfen Sie x509v3_config (5), welche anderen Bits Sie in Erweiterungsabschnitten angeben können.
quelle