Zodiac is an open-source, cross-smalltalk implementation of regular and secure socket streams. The primary goal of the project is to offer TLS/SSL streams that can then be used to implement for example HTTPS when combined with a suitable client such as Zinc HTTP Components.
The current implementation of ZdcSecureSocketStream is combining the socket stream implementation offered by the ZdcSocketStream hierarchy with a ZdcPluginSSLSession object. This object handles connection setup handshaking as well as the encryption and decryption of data travelling between two parties through the SqueakSSL virtual machine plugin, which is an interface to the native TLS/SSL facilities on the operating system.
For the time being, Pharo is our development platform, although general Smalltalk portability is an explicit goal.
To get a working ZdcSocketStream you have to do two things:
To load the Zdc framework as an addon in your image, execute the following script:
Gofer it squeaksource: 'Zodiac'; package: 'Zodiac-Core'; package: 'Zodiac-Tests'; load
To install the plugin, download it from SqueakSSL and place the plugin itself in the place where your virtual machine expects it. You will find other plugins somewhere inside the directory where your vm is installed.
Currently, HTTPS requests are working on Pharo 1.3 and 1.4 using Zn+Zdc. Please refer to the Pharo dev mailing list for related discussions.
The source code for Zodiac lives on Zodiac
Hosting of this website is provided by the stfx - Smalltalk is the Red Pill website.
This project would not have been possible without the work done by Andreas Raab for the SqueakSSL plugin project.
Zodiac is open-source software licensed under the MIT License. All contributions should be licensed under the same terms.