
1: OpenSSL - Port To The Macintosh OS 9 or Earlier 2: =============================================== 3: 4: Thanks to Roy Wood <roy@centricsystems.ca> initial support for Mac OS (pre 5: X) is now provided. "Initial" means that unlike other platforms where you 6: get an SDK and a "swiss army" openssl application, on Macintosh you only 7: get one sample application which fetches a page over HTTPS(*) and dumps it 8: in a window. We don't even build the test applications so that we can't 9: guarantee that all algorithms are operational. 10: 11: Required software: 12: 13: - StuffIt Expander 5.5 or later, alternatively MacGzip and SUNtar; 14: - Scriptable Finder; 15: - CodeWarrior Pro 5; 16: 17: Installation procedure: 18: 19: - fetch the source at ftp://ftp.openssl.org/ (well, you probably already 20: did, huh?) 21: - unpack the .tar.gz file: 22: - if you have StuffIt Expander then just drag it over it; 23: - otherwise uncompress it with MacGzip and then unpack with SUNtar; 24: - locate MacOS folder in OpenSSL source tree and open it; 25: - unbinhex mklinks.as.hqx and OpenSSL.mcp.hqx if present (**), do it 26: "in-place", i.e. unpacked files should end-up in the very same folder; 27: - execute mklinks.as; 28: - open OpenSSL.mcp(***) and build 'GetHTTPS PPC' target(****); 29: - that's it for now; 30: 31: (*) URL is hardcoded into ./MacOS/GetHTTPS.src/GetHTTPS.cpp, lines 40 32: to 42, change appropriately. 33: (**) If you use SUNtar, then it might have already unbinhexed the files 34: in question. 35: (***) The project file was saved with CW Pro 5.3. If you have an earlier 36: version and it refuses to open it, then download 37: http://www.openssl.org/~appro/OpenSSL.mcp.xml and import it 38: overwriting the original OpenSSL.mcp. 39: (****) Other targets are works in progress. If you feel like giving 'em a 40: shot, then you should know that OpenSSL* and Lib* targets are 41: supposed to be built with the GUSI, MacOS library which mimics 42: BSD sockets and some other POSIX APIs. The GUSI distribution is 43: expected to be found in the same directory as the openssl source tree, 44: i.e., in the parent directory to the one where this very file, 45: namely INSTALL.MacOS, resides. For more information about GUSI, see 46: http://www.iis.ee.ethz.ch/~neeri/macintosh/gusi-qa.html 47: 48: Finally some essential comments from our generous contributor:-) 49: 50: "I've gotten OpenSSL working on the Macintosh. It's probably a bit of a 51: hack, but it works for what I'm doing. If you don't like the way I've done 52: it, then feel free to change what I've done. I freely admit that I've done 53: some less-than-ideal things in my port, and if you don't like the way I've 54: done something, then feel free to change it-- I won't be offended! 55: 56: ... I've tweaked "bss_sock.c" a little to call routines in a "MacSocket" 57: library I wrote. My MacSocket library is a wrapper around OpenTransport, 58: handling stuff like endpoint creation, reading, writing, etc. It is not 59: designed as a high-performance package such as you'd use in a webserver, 60: but is fine for lots of other applications. MacSocket also uses some other 61: code libraries I've written to deal with string manipulations and error 62: handling. Feel free to use these things in your own code, but give me 63: credit and/or send me free stuff in appreciation! :-) 64: 65: ... 66: 67: If you have any questions, feel free to email me as the following: 68: 69: roy@centricsystems.ca 70: 71: -Roy Wood" 72: