ReadMe.txt
Sample GSS-API client and server. Negotiates a security context and |
send some integrity and confidentiality protected messages between the |
client and the server. The sample is independent of security |
mechanism, but commonly Kerberos is used. |
This project was built on Mac OS X version 10.5.3 with Xcode version |
3.0 and depends on the Kerberos framework. |
The example assumes an managed Kerberos enviroment. |
- Build the project with command line tool "xcodebuild" in the source |
directory or using Xcode. |
- Setup a KDC or use an existing Kerberos realm. |
- Get a keytab from the administrator of the Kerberos realm. |
The service should have the FQDN (fully qualified domain name) that |
is the samme as the machines hostname since this simplifies Kerberos |
domain to realm mapping. |
The GSS service name is host@fqdn. In the example below the kerberos |
principal is "host/server.realm.apple.com" the GSS-API name of the |
server "host@server.realm.apple.com" (hostbased name). |
- The server is started with "./gssserver" and will exit when done. On |
success the error is zero, on failure the error is non zero. |
The server print the client principal name, and the messages. |
- The client is started with "./gssclient servername.domain.name". |
On success the return code is zero, on failure non zero. |
The client prints out the message exchanged in the session. |
- Sample output |
# ./build/Release/gssserver |
client is: user@REALM.APPLE.COM |
server name: host@server.realm.apple.com |
waiting for a message |
got a message: hello to you server |
sending a message |
releasing context |
# |
$ ./build/Release/gssclient server.realm.apple.com |
connected to server.realm.apple.com |
context built |
sending message |
waiting for message |
got message: foo |
release context |
$ |
Copyright © 2008 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2008-06-04