面向开发者的 Oracle® Solaris 11 安全性指南

退出打印视图

更新时间: 2014 年 7 月
 
 

建立与服务器的安全上下文

建立连接之后,call_server() 会使用 client_establish_context() 函数来创建安全上下文,如下所示:

if (client_establish_context(s, service-name, deleg-flag, oid, &context,
                                  &ret-flags) < 0) {
          (void) close(s);
          return -1;
     }
  • s 是一个文件描述符,表示通过 connect_to_server() 建立的连接。

  • service-name 是所请求的网络服务。

  • deleg-flag 用于指定服务器是否可以充当客户机的代理。

  • oid 表示机制。

  • context 是要创建的上下文。

  • ret-flags 是一个 int,用于指定 GSS-API 函数 gss_init_sec_context() 所返回的任何标志。

    client_establish_context() 执行以下任务:

  • 将服务名称转换为 GSSAPI 内部格式

  • 在客户机和服务器之间循环执行令牌交换,直到建立完整的安全上下文为止