Uploaded image for project: 'Core ReactOS'
  1. Core ReactOS
  2. CORE-9065

Use PolarSSL as a lightweight `schannel` TLS/SSL back-end

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 0.4.0
    • RosDlls
    • None

    Description

      Right now ReactOS doesn't have built-in SSL/TLS support. Main reason being that the secure channel provider (a library called `schannel.dll`) is from Wine and is intrinsically bound to GnuTLS, which in turn is big, convoluted, and hard to compile in a Win32 environment.

      Talking in IRC there was some agreement on partially forking schannel and switching to a smaller, more manageable SSL provider that could be compiled and included in the mainline .iso image. SSL is increasingly important nowadays for accessing Internet services.

      OpenSSL is even more bloated than GnuTLS and potentially insecure. On the other hand there are smaller, barebones, modular alternatives like PolarSSL.

      Licensed under the GPL, with equivalent functionality, well audited, and with substantially less code.
      It might be a good match for this kind of project, giving ReactOS the SSL it needs.

      References:
      https://polarssl.org/tech-updates/blog/providing-assurance-and-trust-in-polarssl
      https://polarssl.org/tech-updates/blog/polarssl-not-vulnerable-to-poodle-against-tls

      Attachments

        1. CORE-9065_patchbot_amine_v2.patch
          57 kB
        2. swyter-mbedtls-passing-secur32-schannel-tests.diff
          1.59 MB
        3. swyter-mbedtls-2015-05-21-rostests.diff
          4 kB
        4. swyter-mbedtls-2015-05-21-caroots.diff
          1003 kB
        5. swyter-mbedtls-2015-05-21-psdk-wincrypt-update.diff
          2 kB
        6. swyter-mbedtls-2015-05-21-remove-gnutls.diff
          593 kB
        7. swyter-mbedtls-2015-05-21-add-mbedtls-wip.diff
          34 kB
        8. swyter-mbedtls-2015-08-01-add-rc.diff
          1 kB
        9. CORE-9065_fix_assert_winhttp_and wininet.patch
          0.8 kB
        10. mbedtls-global.diff
          632 kB
        11. mbedtls-with-test-fixes.diff
          40 kB
        12. https_working_in_iexplore_and_rapps_with_mbedtls.PNG
          https_working_in_iexplore_and_rapps_with_mbedtls.PNG
          209 kB
        13. https_client_capabilities_with_mbedtls.PNG
          https_client_capabilities_with_mbedtls.PNG
          119 kB
        14. swyter-mbedtls-2015-09-13-add-mbedtls-working.diff
          35 kB
        15. CORE-9065_patchbot_amine_v3.patch
          35 kB
        16. CORE-9065_schannel_use_polarssl.patch
          57 kB
        17. swyter-mbedtls-2015-09-14-add-mbedtls-working.diff
          39 kB
        18. swyter-mbedtls-2015-09-23-add-mbedtls-working-with-wine.diff
          41 kB
        19. swyter-mbedtls-2015-09-25-add-mbedtls-working-with-wine.diff
          41 kB
        20. swyter-mbedtls-2015-09-26-add-mbedtls-working-with-wine.diff
          43 kB
        21. swyter-mbedtls-2015-09-26-add-mbedtls-working-with-wine_v2.diff
          48 kB
        22. swyter-mbedtls-2015-09-28-add-rc.diff
          1 kB
        23. swyter-mbedtls-2015-09-30-schannel-update-to-211-and-rework-it.diff
          3.05 MB
        24. schannel_mbedtls-POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA.diff
          0.5 kB
        25. schannel_wine_sealunsealfixme.diff
          1 kB
        26. swyter-mbedtls-2015-10-04-schannel-update-to-211-and-rework-it.diff
          3.96 MB
        27. swyter-mbedtls-2015-10-05-schannel-fix-lazyload-function-pointers.diff
          5 kB
        28. schannel_sealunseal.diff
          1.0 kB
        29. mbedtls-xp-howsmyssl.htm
          12 kB
        30. mbedtls-xp-minidebug-output.txt
          3 kB

        Issue Links

          Activity

            People

              AmineKhaldi AmineKhaldi
              Swyter Swyter
              Votes:
              4 Vote for this issue
              Watchers:
              15 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: