Entwickler-Ecke

Dateizugriff - BearSSL-Bindungen erzeugen?


hydemarie - Mo 21.11.22 16:12
Titel: BearSSL-Bindungen erzeugen?
Ich würde gern in meinen Projekten von OpenSSL auf BearSSL umsteigen, weil die Sicherheitshistorie von OpenSSL mit "dürftig" noch sehr wohlwollend umschrieben ist. Anscheinend gibt es aber keine BearSSL-Bibliothek in Pascal (oder ich bin zu doof zum Suchen). Wie kann ich die selbst erzeugen?


Ralf Jansen - Mo 21.11.22 16:53

Sicher das du das willst?

Wenn ich auf deren Seite gehe sehe ich zum Beispiel das TLS 1.3 nicht unterstützt wird weil es keine finale RFC gibt. Die gibt es aber seit 2018!!
Für mich sieht das ganze eher so aus das es da keine oder kaum bekannten Probleme gibt weil es a.) keiner benutzt und b.) an absolut relavanten Stellen unvollständig ist.
Die Eigenaussage ist ja auch "Current version is 0.6. It is now considered beta-quality software"


hydemarie - Mo 21.11.22 17:41

Die Entwicklung findet weiterhin statt: BearSSL [https://www.bearssl.org/gitweb/?p=BearSSL;a=summary]

Der Entwickler hat sich durchaus einen gewissen Ruf erarbeitet.

Moderiert von user profile iconTh69: URL-Titel hinzugefügt.


Th69 - Mi 23.11.22 11:14

user profile iconhydemarie hat folgendes geschrieben Zum zitierten Posting springen:
Anscheinend gibt es aber keine BearSSL-Bibliothek in Pascal (oder ich bin zu doof zum Suchen). Wie kann ich die selbst erzeugen?

Da dies eine C-Library ist, müßtest du (ähnlich wie es für die WinAPI gemacht wurde), die Headerdateien [https://www.bearssl.org/gitweb/?p=BearSSL;a=tree;f=inc;h=c2ce436ef6ad8048fb18294c6464768c3771fb99;hb=HEAD] durchgehen und die dort verwendeten Datentypen nach Delphi übersetzen (d.h. struct -> record) sowie z.B. die Konstanten (#define sowie enum) übernehmen.
Der Aufwand richtet sich danach, wie vollständig du sie umsetzen möchtest. Du solltest ersteinmal schauen, welche Funktionen du überhaupt aufrufen möchtest und welche Datentypen dafür benötigt werden.

Edit: Interessant könnte dann auch Using C DLLs with Delphi (and HeadConv v4.20) [https://www.drbob42.com/Delphi/headconv.htm] sein.