Search code examples
httpsrebolrebol3

How can I access sites through HTTPS with Rebol?


This was possible in Rebol 2.7.8 with the /View binary using a native scheme and with /Core using the call shell command. However at the time of posting I don't see a native HTTPS scheme for Rebol 3 nor a call command with the versatility to create a scheme with, say, a cURL dependency. A native scheme would be preferable as this'd work cross-platform.


Solution

  • Saphirion's R3 builds have support for HTTPS built-in.

    In Saphirion's builds, the HTTPS scheme is not implemented in native code, but rather transparently based on the default HTTP scheme (done by Gabriele Santilli). Saphirion's R3 builds contain an implementation of a TLS scheme (also writen in Rebol), which can be used to write any TLS-based secure protocol just at the Rebol script level. The TLS scheme behaves (almost) the same as the plain TCP scheme.

    Only the encryption algorithms used by Saphirion's TLS scheme are implemented in native, cross-platform C code. As a proof of this concept, you can compare Saphirion's Android R3 port which uses exactly the same features (and I guess the recently compiled OSX version behaves the same as well). This approach is much more flexible than in R2, where the TLS scheme is fully written in C.

    The encryption, TLS and HTTPS implementations are planned to be submitted as pull-requests to the mainline R3 codebase in the near future.

    AFAIK Graham Chiu has started to work on other R3 secure protocols based on the current TLS scheme, so you might check with him as well.