Programmer's Reference

SSL Client Workspace

"Make sure that cert.pem and key.pem are in a directory of your choice and referenced in <dir>.
The following example uses Unix style path separators."
 
SSL Client Workspace
 
[ | config rv anSciSocketAddress secureSocket  msg |
 
config := SciSslSocketConfiguration new
          certificateFilename: '<dir>/cert.pem';
          privateKeyFilename: '<dir>/key.pem';
          sslVersion: SciSslConstants::SSLv23;
          yourself.
 
anSciSocketAddress :=
          (SciSocketAddress fromString: '127.0.0.1') "Address of server machine"
                        family: SciSocketConstants::AFINET;
                        port: 2222.
secureSocket := SciSslSocket newStreamSocket.
 
(rv := secureSocket connect: anSciSocketAddress) isSciError ifTrue:
                        [ secureSocket close. self halt ].
 
(rv := secureSocket sslInitialize: config) isSslError 
	ifTrue: [ secureSocket close. self halt ].
(rv := secureSocket sslConnect) isSslError 
	ifTrue: [ secureSocket close. self halt ].
 
secureSocket sslVerifyCertificate.
 
(rv := secureSocket send: 'Hello World!' abrAsPSZ length: 12 startingAt: 1 flags: 0) isSslError ifTrue: [ self halt ].
 
msg := ByteArray new: 4096.
(rv := secureSocket recv: msg length: 4096 startingAt: 1 flags: 0) isSslError ifTrue: [ self halt ].
Transcript cr; nextPutAll: 'SslClient Got -> ', msg asString trimNull, ' <-  '.
secureSocket close. ] fork.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]