Short: TLS/SSL shared lib (wolfSSL 5.9.1) + SDK Author: wolfSSL Inc. (wolfSSL); Matthias Muench (AmigaOS port) Uploader: wolfssl amigaworld de (Matthias Muench) Type: util/libs Version: 0.21 Replaces: util/libs/wolfssl-library-* Requires: 68020+ CPU; a bsdsocket.library TCP/IP stack (AmiTCP/Roadshow/...) Architecture: m68k-amigaos >= 3.0 Distribution: Aminet wolfssl.library is a native AmigaOS shared library that brings modern TLS (up to TLS 1.3) and the wolfCrypt cryptography suite to 68k Amigas, built on wolfSSL 5.9.1. Applications call the familiar wolfSSL_* / SSL_* names through the library jump table (jsr -N(a6)) -- no statically linked wolfSSL needed. This is the same drop-in pattern as AmiSSL: an inline header (proto_wolfssl.h) plus a per-task library base. A complete TLS client links against nothing but -lamiga and the header; the crypto code lives entirely inside the library. NEW in 0.21: the archive now also ships an AmiSSL EMULATION (amissl.library + amisslmaster.library). Existing, already-AmiSSL-linked programs run UNCHANGED and have their crypto served by this wolfssl.library -- no recompile. The whole Lumi suite was verified on real 68k hardware this way. See the separate AmiSSL-Emulation/AMISSL-EMULATION.txt for what the emulation can and cannot do plus its installation. Highlights - wolfSSL 5.9.1, TLS 1.3 client (and server) through the library facade - OpenSSL-compatible API surface (859 compat vectors; BN/RSA/AES are real) - AmiSSL emulation: drop-in for existing AmiSSL apps (~950 vectors total) - CA root bundle (~146 roots) bundled INSIDE the library -> wolfSSL_CTX_UseSystemCAs(ctx), no certificate file to ship - Hardware-grade RNG cold-start from mouse entropy -> WolfRngEnsureSeeded(cb) before the first handshake - Big-endian, FPU-less 68020 target AmigaOS specifics vs. plain OpenSSL - SSL_set_fd does not exist natively (the library uses WOLFSSL_NO_SOCK); bind a socket with wolfSSL_AmigaBindSocket(ssl, SocketBase, fd). SocketBase is per-task. (The AmiSSL emulation bridges SSL_set_fd for you.) - The CA bundle is in the library: wolfSSL_CTX_UseSystemCAs(ctx). - Seed the RNG with WolfRngEnsureSeeded(cb) before the first connect; under the AmiSSL emulation just move the mouse during the first connection. Package contents Libs/wolfssl.library the shared library -> copy to LIBS: AmiSSL-Emulation/amissl.library AmiSSL emu impl -> copy to LIBS: AmiSSL-Emulation/amisslmaster.library AmiSSL emu master -> AmiSSL:Libs/ AmiSSL-Emulation/AMISSL-EMULATION.txt emu capabilities + install SDK/include/proto_wolfssl.h the entire API as inline stubs SDK/examples/compattest.c drop-in TLS 1.3 client example COPYING GPLv3 license text Installation (native) Copy Libs/wolfssl.library to LIBS:, put SDK/include/proto_wolfssl.h on your compiler's include path, then OpenLibrary("wolfssl.library", 0) -- check the revision is >= 21. The AmiSSL emulation has its own install guide. Build the example (Bebbo GCC m68k-amigaos) m68k-amigaos-gcc -noixemul -mcpu=68020 -O2 -o compattest compattest.c -lamiga compattest example.com 443 / License wolfSSL 5.9.1 (since 5.8.2) is GNU GPL v3 -- see COPYING. Linking this library into distributed software places that software under the GPLv3, unless you hold a commercial wolfSSL license from wolfSSL Inc.