Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

MbedTLS oscam - OpenSSL completely removed (Apha-Test)

ghost0815

DEB König
Registriert
17. Juni 2012
Beiträge
6.021
Lösungen
11
Reaktionspunkte
8.706
Punkte
3.030
, I've spent the last two weeks trying to migrate all SSL and CRYPTO components of the current oscam master to MbedTLS.
The result is a fully functional oscam variant based on MbedTLS 3.6.5 LTS, which can be reviewed and tested in the .

What has been changed?

  • library code resides as a git submodule in the source tree of oscam repository (externally maintaind, automatically managed via make/cmake)
  • used library functions of MbedTLS are statically build into oscam binary
  • cscrypt functions replaced with MbedTLS ones (except RC6 IDEA)
  • embedding crypto functions (AES MD5 MDC2 DES SHA1 SHA256 RC6 IDEA BIGNUM) depends on selected oscam modules (config.sh)
  • USE_SSL flag is still present and needed for https webif, signing
  • USE_LIBCRYPTO flag was removed
  • no OpenSSL dependency anymore, it is not need in toolchains during build nor on the target system
  • MbedTLS integration is done without binding on glibc, so the built binary is widely compatible, only architecture matters
How to test?

  • for the make/cmake guys
  • Code:
    # clone mbedtls branch
    git clone https://git.streamboard.tv/common/oscam.git -b mbedtls  oscam-mbedtls
    cd oscam-mbedtls
    # your normal make/cmake commands
  • for the simplebuild3 guys

  • Code:
    # optional, if you want to start from scratch
    git clone https://github.com/gorgone/s3_releases.git s3_releases
    cd s3_releases
    ./s3 update_me
    ./s3 checkout mbedtls
    # your normal s3 commands
Pros/Cons?

  • -- alpha version, could have bugs, not for "production" use
  • ++ We will find it out...
Technical details?

  • later
Have fun trying it out!
Du musst angemeldet sein, um Bilder zu sehen.


Quelle:hxxps://board.streamboard.tv/forum/thread/48609-mbedtls-oscam-openssl-completely-removed/

thx @WXbet
 
oscam-git11903-alpha@9d5885d8-armv7_generic-webif-dvbapi-ssl-libusb-libdvbcsa-icam-neon-mixed-signed
getestet auf Octagon sf8008. Oscam arbeitet einwandfrei auf HD+ Deutschland, Sky Deutschland, Canal+Austria, Canal+Polska.
Danke
 
oscam-git11903-alpha@9d5885d8-armv7_generic-webif-dvbapi-ssl-libusb-libdvbcsa-icam-neon-mixed-signed

rennt unter GigaBlue Trio 4k wie bei meinen Vorredner angegeben, astrein
 
Habe mir jetzt mal eine zum Testen für die two selber kompiliert und das bin ist mit selben Einstellungen 333k größer als vorher. Laufen tut's, aber ich halte die 50% Größen Zuwachs erst mal für ein Nachteil.
 
Ich habe hier das beobachtet, alle Angeben ohne upx (also nicht upx-compressed mit ohne Komprimierung vergleichen):
Code:
oscam-2.25.10-11903@7aa7af86-x86_64-linux-gnu                          1.305 KB
oscam-3.25.10-11903-alpha@9d5885d8-x86_64-linux-gnu                    1.265 KB     -40 KB

oscam-2.25.10-11903@7aa7af86-x86_64-linux-gnu-ssl                      1.274 KB
oscam-3.25.10-11903-alpha@9d5885d8-x86_64-linux-gnu-ssl                1.621 KB    +347 KB

Baut man ohne SSL wird das Binary sogar kleiner als vorher. Mit SSL steigt dann die größer um die 300 KB je nach Toolchain an.

mbedtls wird in der Tat statisch gelinkt, um Abhängigkeiten in der Toolchain und auf dem Zielsystem aufzuheben. Und ja, trade-off ist das das Binary größer wird. Aber nicht zu vergleichen mit dem Zuwachs, wenn OpenSSL statisch gelinkt wird. mbedtls ist genau für unsere embedded devices gedacht, schlank, schnell, portable.
 
Zuletzt bearbeitet:
Das ist schon klar, ich habe bei simplebuild alle Haken bei SSL raus, wird trotzdem mit SSL gebaut. Muss ich hier SSL auch noch aus der TC raus nehmen?

Dann noch ne allgemeine Frage zu dem ganzen Sinn. Das dient doch nur zur besseren Kompatibilität der bin, oder liege ich hier falsch?
 
Signing muss deaktiviert sein, sonst wird immer mit SSL gebaut, wie vorher. SSL im Toolchain spielt keine Rolle.

Kompatibilät und Maintability steht im Vordergrund. Es ist ein Unterschied, ob der Code immer genau eine Version von mbedtls oder alle OpenSSL Versionen von 0.9.8 - 3.6+ unterstützen muss.

Eine gebaute mbedtls oscam sollte auf allen Sytemen mit der gleichen Architektur laufen (NEON Inkompatibilitäten mal ausgenommen), da kein Dependency zu einer bestimmten glibc Version entsteht.
 
Zuletzt bearbeitet:
Ok, jetzt hab ich es begriffen.
Für mich als Selberbauer, spielt das Thema Kompatibilität keine Rolle, da ich nur für mich baue. Maintability betrifft mich in dem Fall auch nicht, wobei ich den Sinn für die OSCAM Devs nachvollziehen kann.
 
oscam-git11903-alpha@9d5885d8-mips32el_generic-webif-dvbapi-ssl-libusb-libdvbcsa-icam-mixed-si..

getestet mit: dm820/merlin4
lokale karten (orf &srg) funktionieren (genauso wie proxys) sehr gut. (y)

wie schon geschrieben wurde, der größenunterschied von 679kb auf 1,72mb ist schon enorm. :)
 
Nein, ich baue gleich nochmal alle neu ohne signed und upx gepackt.....
 
Das 679 KB Binary ist doch upx gepackt oder?
nein. Das ist eine version (enigma2-cams-oscam-icam-systemd_git11902-noemu_mipsel), die von @ketschuss (merlin-team) heraugegeben wird.
muss dann nach tmp kopiert und über die softwareverwaltung (oder über telnet) installiert werden.
und läuft hervorragend. damit waren z.b. meine bild- bzw. tonausfälle nach aufnahmen geschichte.
hatte diese ausfälle, wenn ich aufnahmen auf "normalen" sendern aufnahmen gemacht und danach auf einen icam-sender umgeschaltet habe.
 
So nochmal ein paar Oscam´s ohne signed und upx gepackt.
mips32el_generic -->731 kb
Oscam mit solo4k Toolchain ist ohne neon und libdvbcsa-32 für Boxen mit HiSi-MV430 Chipsatz.(Zgemma-H8.2H,Octagon-SFX6008/6018)
 

Anhänge

Du musst angemeldet sein, um die Anhangsliste zu sehen.
Zuletzt bearbeitet:
Zurück
Oben