Am 25.04.2013 18:03, schrieb Streuner:
> Am 07.04.2013 15:17, schrieb Arno Welzel:
>
>>> Was mich momentan besch�ftigt, das ist TLS in Verbindung mit POP: Bei
>>> Thunderbird z. B. kann man TLS verwenden, hat aber nur Benutzername und
>>> Passwort des zugeordneten Kontos einzugeben. So wie ich das jetzt
>>> verstehe, ben�tigt man zur �berpr�fung des vom Server geschickten
>>> Zertifikats jedoch das Zertifikat der Zertifizierungsstelle. Woher
>>> bekommt man dieses? Oder �berpr�ft Thunderbird das Zertifikat gar nicht?
>>
>> Siehe Extras - Einstellungen - Zertifikate.
>>
>> Da stehen auch die Zertifikate der als vertrauensw�rdig betrachteten
>> Zertifizierungsstellen drin: Knopf "Zertifikate" und dann Registerkarte
>> "Zertifizierungsstellen".
>>
>> Da verh�lt sich Thunderbird nicht anders als Firefox.
>
> OK, diese Programme bringen bereits eine Liste mit den Zertifikaten von
> Zertifizierungsstellen mit (w�re das nicht eine Sache des
> Betriebssystems?). In RFC 2595 hatte ich das nicht so verstanden, dass
> das vom Server geschickte Zertifikat anhand dieser Ausstellerzertifikate
> �berpr�ft werden muss.
Es w�re zumindest ungew�hnlich, wenn man ein TLS-Zertifikat ohne g�ltige
Signatur akzeptieren w�rde - und die Signatur erfolgt �blicherweise von
einer CA, der man vertraut. Der Sinn von TLS ist ja nicht nur, die
Verbindung zu verschl�sseln, sondern auch die Authenzit�t der
Gegenstelle �berpr�fen zu k�nnen.
Dass Thunderbird und Firfox nicht den Zertifikatsspeicher des Systems
daf�r nutzen, liegt wohl daran, dass man sich nicht den Aufwand antun
wollte, f�r jedes OS eine separate Implementierung zu bauen zus�tzlich
eine eigene L�sung f�r den Fall, dass das nicht m�glich ist.
> Momentan versuche ich die �berpr�fung eines Zertifikats in einem eigenen
> Programm (C) zu realisieren. Genutzt wird GnuTLS in Verbindung mit GCC
> unter Cygwin (ich habe es noch nicht geschafft, Unix / Linux nativ auf
> meiner Maschine zu installieren).
>
> Im konkreten Fall rufe ich die Funktion
>
> gnutls_certificate_set_x509_trust_file (cert_cred, CAFILE,
> GNUTLS_X509_FMT_PEM)
>
> auf. CAFILE wurde zuvor mit dem Dateinamen der Zertifikatsliste
> definiert (#define CAFILE "...").
>
> Woher bekomme ich nun eine geeignete Zertifizierungsliste oder die
> geeigneten Zertifikate in entsprechender Form zur �berpr�fung eines vom
> Server geschickten Zertifikats?
Von der CA, die das Zertifikat des Servers ausgestellt hat.
> laden, gibt diese den Wert 0 zur�ck. Das bedeutet wohl an Hand der
> Dokumentation unter
>
>
http://www.gnutls.org/manual/gnutls.pdf
>
> dass dieses Zertifikat nicht verarbeitet worden ist. M�sste da nicht
> eine 1 zur�ckgeliefert werden (Anzahl der verarbeiteten Zertifikate)?
> "Segmentation fault". Mir f�llt auf, dass das genannte Zertifikat der
> Deutschen Telekom in der Form erheblich von dem Beispiel in Wikipedia
> abweicht. Was l�uft hier falsch?
Du musst das Format des Zertifikats eventuell noch umwandeln.
Siehe auch hier:
<
https://www.sslshopper.com/ssl-converter.html>