Skip to content

Tags: mplsllc/macTLS

Tags

v0.1.0

Toggle v0.1.0's commit message
macSSL v0.1.0 — native validated HTTPS fetch on classic Mac OS 9

First public version. Ships as a static C library with one entry
point:

    OSErr OSTLS_Fetch(host, port, server_name, path,
                      out_buf, out_cap, out_len,
                      out_msg, out_msg_len);

Verified end-to-end on real Power Macintosh G3 / Mac OS 9.1 /
CodeWarrior 8 Pro / Carbon CFM. Negotiates TLS 1.2 ECDHE-ECDSA
+ ChaCha20-Poly1305 (suite 0xCCA9) against google.com:443,
validates the chain through the embedded GTS Root R4 (EC P-384)
anchor, returns the decrypted HTTP response byte-for-byte.

What's in v0.1
  - Vendored BearSSL (7bea48e5, ssl_engine.c patched for CW8 C89)
  - 10 embedded trust anchors (Amazon, DigiCert G2+G3, GTS R1-R4,
    ISRG X1+X2, Starfield Services G2)
  - OS 9 clock conversion to BearSSL's proleptic-Gregorian-from-
    0-AD day epoch
  - Synchronous + blocking single-shot fetch
  - HTTP/1.0 + Connection: close request
  - File-backed diagnostic log channel (MacSSLTest.log on Desktop)
  - MacSSLTest regression harness exercising A.5 / A / B1 / B2 /
    B3 / D in sequence end-to-end

Not yet production crypto
  - The Stage A entropy stub is intentionally insecure (32 bytes
    mixing TickCount, Microseconds, stack address, fixed tag).
    Session keys derived from it are predictable to an attacker
    who can capture handshake traffic. Replacing entropy with
    real mouse-delta / key-jitter / OT-notifier-tick gathering
    plus a persisted seed file is the prerequisite for any
    user-facing security claim.

Carbon CFM passive-listener path abandoned
  - 14 rounds (fixes16..fixes34) of investigation proved
    OTOpenEndpointInContext endpoints categorically reject
    caller-chosen InetAddress in OTBind. The "local proxy at
    127.0.0.1:8765" architecture is impossible on this platform.
    The library shape replaces it. Full report at
    docs/carbon-ot-passive-bind-finding.md.

Next downstream task: MacSurf integration in the MacSurf repo.
Design at docs/macssl-integration-notes.md.