GSS API

2023-10-27 14:59
文章标签 api gss

本文主要是介绍GSS API,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Detail:http://docs.oracle.com/cd/E24847_01/html/E22200/overview-61.html

GSS-API 介绍

使用 GSS-API,程序员在编写应用程序时,可以应用通用的安全机制。开发者不必针对任何特定的平台、安全机制、保护类型或传输协议来定制安全实现。使用 GSS-API,程序员可忽略保护网络数据方面的细节。使用 GSS-API 编写的程序在网络安全方面具有更高的可移植性。这种可移植性是通用安全服务 API 的一个特点。

GSS-API 是一个以通用方式为调用者提供安全服务的框架。许多底层机制和技术(如 Kerberos v5 或公钥技术)都支持 GSS-API 框架,如下图所示。

图 4-1 GSS-API 层

image:该图显示了应用程序和安全机制之间的 GSS-API 和协议层。

从广义上讲,GSS-API 主要具有以下两种功能:

  1. GSS-API 可创建一个安全上下文,应用程序可在该上下文中相互传递数据。上下文是指两个应用程序之间的信任状态。由于共享同一个上下文的应用程序可相互识别,因此可以允许在上下文存在期间进行数据传送。

  2. GSS-API 可向要传送的数据应用一种或多种类型的保护,称为安全服务。GSS-API 中的安全服务介绍了安全服务。

此外,GSS-API 还可执行以下功能:

  • 转换数据

  • 检查错误

  • 授予用户特权

  • 显示信息

  • 比较标识

GSS-API 中包括许多支持函数和便利函数。

使用 GSS-API 的应用程序的可移植性

GSS-API 为应用程序提供了以下几种类型的可移植性:

GSS-API 中的安全服务

GSS-API 提供了三种类型的安全服务:

GSS-API 中的可用机制

当前的 GSS-API 实现可使用以下机制:Kerberos v5、Diffie-Hellman 和 SPNEGO。有关 Kerberos 实现的更多信息,请参见《系统管理指南:安全性服务》中的第 21  章 "Kerberos 服务介绍"。如果任何系统上运行了能够识别 GSS-API 的程序,则应在该系统上安装和运行 Kerberos v5。

使用 GSS-API 的远程过程调用

针对网络应用程序使用 RPC(Remote Procedure Call,远程过程调用)协议的程序员可以使用 RPCSEC_GSS 来提供安全性。RPCSEC_GSS 是位于 GSS-API 上面的一个独立层。RPCSEC_GSS 可提供 GSS-API 的所有功能,但其方式是针对 RPC 进行了调整的。实际上,RPCSC_GSS 可用于向程序员隐藏 GSS-API 的许多方面,从而使 RPC 安全性具有更强的可访问性和可移植性。有关 RPCSEC_GSS 的更多信息,请参见《ONC+ Developer’s Guide》中的"Authentication Using RPCSEC_GSS"。

下图说明了 RPCSEC_GSS 层在应用程序和 GSS-API 之间的位置。

图 4-2 RPCSEC_GSS 和 GSS-API

image:该图显示了为远程过程调用提供安全性的 RPCSEC_GSS 层。

GSS-API 的限制

虽然 GSS-API 使数据保护变得很简单,但是它回避某些任务的做法并不符合 GSS-API 的一般本性。因此,GSS-API 执行以下活动:

  • 为用户或应用程序提供安全凭证。凭证必须由基础安全机制提供。GSS-API 确实允许应用程序自动或显式获取凭证。

  • 在应用程序之间传送数据。应用程序负责处理对等应用程序之间的所有数据传送,无论数据是与安全有关的数据还是明文数据。

  • 区分不同类型的传送数据。例如,GSS-API 无法识别数据包是明文数据还是经过加密的数据。

  • 指示由于异步错误而导致的状态。

  • 缺省情况下保护多进程程序的不同进程之间已发送的信息。

  • 分配要传递到 GSS-API 函数的字符串缓冲区。请参见GSS-API 中的字符串和类似数据。

  • 解除分配 GSS-API 数据空间。此内存必须通过 gss_release_buffer()gss_delete_name() 等函数显式解除分配。

GSS-API 的语言绑定

本文档目前仅介绍 GSS-API 的 C 语言绑定,即函数和数据类型。现已推出 Java 绑定版本的 GSS-API。Java GSS-API 包含通用安全服务应用编程接口 (Generic Security Service Application Program Interface, GSS-API) 的 Java 绑定,如 RFC 2853 中所定义。

有关 GSS-API 的更多参考信息

以下两个文档提供有关 GSS-API 的更多信息:

  • Generic Security Service Application Program Interface 文档 (ftp://ftp.isi.edu/in-notes/rfc2743.txt) 概述了 GSS-API 的概念。

  • Generic Security Service API Version 2: C-Bindings 文档 (ftp://ftp.isi.edu/in-notes/rfc2744.txt ) 介绍了基于 C 语言的 GSS-API 的具体信息。

转载于:https://www.cnblogs.com/stephen-init/p/3578392.html

这篇关于GSS API的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/286441

相关文章

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

使用Python实现调用API获取图片存储到本地的方法

《使用Python实现调用API获取图片存储到本地的方法》开发一个自动化工具,用于从JSON数据源中提取图像ID,通过调用指定API获取未经压缩的原始图像文件,并确保下载结果与Postman等工具直接... 目录使用python实现调用API获取图片存储到本地1、项目概述2、核心功能3、环境准备4、代码实现

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失

python通过curl实现访问deepseek的API

《python通过curl实现访问deepseek的API》这篇文章主要为大家详细介绍了python如何通过curl实现访问deepseek的API,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编... API申请和充值下面是deepeek的API网站https://platform.deepsee

Java对接Dify API接口的完整流程

《Java对接DifyAPI接口的完整流程》Dify是一款AI应用开发平台,提供多种自然语言处理能力,通过调用Dify开放API,开发者可以快速集成智能对话、文本生成等功能到自己的Java应用中,本... 目录Java对接Dify API接口完整指南一、Dify API简介二、准备工作三、基础对接实现1.

一文详解如何在Vue3中封装API请求

《一文详解如何在Vue3中封装API请求》在现代前端开发中,API请求是不可避免的一部分,尤其是与后端交互时,下面我们来看看如何在Vue3项目中封装API请求,让你在实现功能时更加高效吧... 目录为什么要封装API请求1. vue 3项目结构2. 安装axIOS3. 创建API封装模块4. 封装API请求

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.