1
by Christoph Martin
Import upstream version 0.9.7d |
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 |