On Thu, May 17, 2001 at 10:32:22AM +0200, Christian Wippermann wrote:
RFC 2459 (X.509 PKI). Aufbau von X.500 Namen in X.509 Zertifikaten.
- all certificates issued after December 31, 2003 MUST use the
UTF8String encoding.
Mein primäres Ziel ist herauszufinden, ob ich Umlaute in X.509v3 Zertifikaten unterbringen darf, oder nicht. OpenSSL kann Zertifikate mit Umlauten erzeugen. Netscape und IE erkennen das auch. Aber bin ich damit Normkonform? Ich weiss es nicht...
Ich glaub, dir fehlt ein bischen Grundwissen zum Thema Unicode und ISO-8859 (dein eigentliches Problem kommt weiter unten noch mal, also nicht gleich die Mail löschen :)) Der Standard-ASCII-Zeichensatz belegte 127 bit und konnte keine Umlaute, diverse Sonderzeichen etc. darstellen. Um das zu ändern, wurden die ISO-8859 Standards eingeführt, die für die ersten 127 Zeichen identisch mit ASCII sind. Davon gibt es verschiedene (ISO-8859-1 bis ISO 8859-12 oder so). ISO-8859-1 ist der gebräuchlichste, beinhaltet deutsche, französische Sonderzeichen etc. pp. Es gibt noch andere (ich glaube -5 beinhaltet z.B. kyrillische Zeichen). Nachteil: Wenn man z.B. dt. Sonderzeichen und kyrillische Schrift in einem Text mischen will, wird's kompliziert, weil das zwei unterschiedliche Zeichensätze sind. Dafür wurde Unicode (ISO 10646) eingeführt (die Standardisierung ist soweit ich weiß noch nicht abgeschlossen). Es soll ein ("mehrbittiger") Zeichensatz werden, der _alle_ Zeichen beinhaltet, auch mathematische Symbole etc. Davon gibt es jetzt verschiedene Ansätze, z.B. UTF8 (meines Wissens _der_ Standard wegen einigen Kompatibilitätssachen) oder UTF16 (der Microsoft-Standard). UTF-8 ist kompatibel zu ASCII, d.h. die ersten 127 Bits stimmen mit dem ASCII-Zeichensatz überein, darüber hinaus wird es teilweise richtig kompliziert. In irgendeiner iX stand mal ein Artikel dazu drin (wenn du willst, such ich ihn mal bis Mi), ansonsten "man unicode" und "man utf-8".
OpenSSL_doc: The conversion to UTF8 format used with the name options assumes that T61Strings use the ISO8859-1 character set. This is wrong but Netscape and MSIE do this as do many certificates. So although this is incorrect it is more likely to display the majority of certificates correctly.
Häh??? Was will mir der Autor damit sagen?
Folgendes Problem (jetzt hab ich mich mal mein Unicode-Wissen aufgefrischt :)): Der Standard sagt, daß ein Zertifikat die UTF-8 - Codierung besitzen muß. Sowohl Netscape als auch MSIE wollen aber, daß die Zertifikate ISO-8859-1 - codiert sind. Und weil das die gebräuchlichsten Browser so wollen (waren wahrscheinlich zu faul, eine ordentliche Unicode-Unterstützung einzubauen), haben sich die meisten Zertifikate angepaßt und werden nach ISO-8859-1 ausgeliefert. Und weil das so ist, macht das auch OpenSSL so (soviel zum Thema Standards) :(. Das größte Problem ist, daß ISO-8859-1 und UTF-8 nur für die ersten 127 Zeichen kompatibel sind, danach kommt ohne Konvertierung nur Müll am anderen Ende an, weil die Codierung unterschiedlich ist.
Mein Tip: Bau UTF-8-Unterstützung ein, aber laß das mit den Umlauten erst einmal raus, bis sich die Leute an die Standards halten.
Hat jemand Ahnung von Verzeichnissen, UTF8 und Umlauten? Ümläute nützen, oder nicht. Das ist die Frage...
Christian
Ich hoffe mal, damit ist dein Problem geklärt.
cu, Ulf