Tags: mplsllc/macTLS
Tags
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.