跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 11 开发者安全性指南 Oracle Solaris 11 Information Library (简体中文) |
样例客户端程序 gss-client 可创建与服务器之间的安全上下文,建立安全参数,并将消息字符串发送到服务器。 此程序使用基于 TCP 的简单套接字连接机制来建立连接。
以下几节将提供有关 gss-client 工作方式的逐步说明。 由于 gss-client 是一个用于说明 GSSAPI 功能的样例程序,因此仅详细讨论该程序的相关部分。 这两个应用程序的完整源代码可在附录中找到,也可以从 Oracle 下载中心下载。 请参见 http://www.oracle.com/technetwork/indexes/downloads/sdlc-decommission-333274.html。
gss-client 应用程序执行以下步骤:
解析命令行。
如果指定了机制,则为机制创建一个对象 ID (object ID, OID)。 否则,使用缺省机制,此为最常见的情况。
创建与服务器的连接。
建立安全上下文。
包装和发送消息。
验证服务器是否已对消息进行正确的“签名”。
删除安全上下文。
gss-client 示例在命令行中采用以下形式:
gss-client [-port port] [-d] [-mech mech] host service-name [-f] msg
port-用于与 host 所指定的远程计算机建立连接的端口号。
-d 标志-用于将安全凭证委托给服务器。 具体来说,deleg-flag 变量会设置为 GSS-API 值 GSS_C_DELEG_FLAG。 否则,deleg-flag 设置为零。
mech-要使用的安全机制的名称,如 Kerberos v5。 如果未指定任何机制,GSS-API 将使用缺省机制。
host-服务器的名称。
service-name-客户机所请求的网络服务的名称。 telnet、ftp 和 login 服务便是一些典型的示例。
msg-作为受保护的数据发送到服务器的字符串。 如果指定了 -f 选项,则 msg 是指从中读取字符串的文件名。
客户机应用程序的典型命令行可能如以下示例所示:
% gss-client -port 8080 -d -mech kerberos_v5 erebos.eng nfs "ls"
以下示例不指定机制、端口或委托:
% gss-client erebos.eng nfs "ls"