Wie erstellen Sie die CSR mit utf8 Thema in openssl?
Ich versuche auf " generate Certificate Signing Request mit UTF-8-Betreff.
$ openssl req -utf8 -nodes -newkey rsa:2048 -keyout my.private_key.pem -out my.csr.pem -text
Generating a 2048 bit RSA private key
......................................................................................................................................................................+++
......+++
writing new private key to 'my.private_key.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [PL]:
State or Province Name (full name) []:Zażółć gęślą jaźń
problems making Certificate Request
12376:error:0D07A07C:asn1 encoding routines:ASN1_mbstring_ncopy:illegal characters:a_mbstr.c:162:
Terminal-encoding ist UTF-8, erhalte ich das gleiche problem, wenn ich verwenden Sie die Befehlszeile Thema
(...) -subj /C=PL/ST=zażółć\ gęślą\ jaźń/O=my-company/CN=ThisIsMeForSure
Wenn ich überspringen Sie die -utf8
Schalter, die CSR generiert wird, mit der alle nicht-ascii-Zeichen ersetzt, mit hex-Schreibweise (z.B. ó
wird \xC3\xB3
). Solche CSR ist nicht Lesen richtig mit php (openss_x509_parse
) - original - ó
gelesen als vier bytes, was zwei komische Zeichen...
Was mache ich falsch?
- Mit
openssl req
ohne eine benutzerdefinierte conf-Datei bedeutet, dass der server-name wird in derCN
. Die Praxis ist veraltet, sowohl von der IETF und des CA/B Forums. Stattdessen sollten Sie sicherstellen, dass die server-Namen und IP-Adressen) sind in derSAN
. Siehe z.B. so erstellen Sie ein selbst-signiertes Zertifikat mit openssl? (die Antwort ist für beide signing requests, und selbst signierte Zertifikate). Undstring_mask = utf8only
setzen Sie in der conf-Datei.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe erfolgreich mit Befehl
Wo
example.com.cnf
ist eine Konfiguration-Datei, die in UTF-8:Korrekt angezeigt, in Chrome, Firefox und Safari.
-utf8
option allein ist genug.openssl req -new -newkey rsa:2048 -sha256 -nodes -utf8 -subj "/C=JP/ST=大阪府/L=大阪市/O=架空の会社名の例/OU=あ/CN=www.example.jp" -out ./clients/$client_domain/$client_domain.csr.pem -keyout ./clients/$client_domain/$client_domain.key.pem
$ dpkg-query -W -f='${Version}\n' openssl
1.0.2 g-1ubuntu4.5 Danke, Achille!Versuchen, mit den string_mask option:
-utf8
oderutf8 = yes
ist der Weg zu gehen. (Empirisch überprüft).-utf8
wechseln, also ich bin nicht wirklich sicher, ob es eine Notwendigkeit dafür. Es fügt nur zusätzliche Klärung, aber nichts wirklich wichtiges. Vielen Dank, du.Unicode Arbeit für mich von der php-Datei.