<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Generic_Security_Services_Application_Programming_Interface</id>
	<title>Generic Security Services Application Programming Interface - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Generic_Security_Services_Application_Programming_Interface"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Generic_Security_Services_Application_Programming_Interface&amp;action=history"/>
	<updated>2026-10-25T23:35:56Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Generic_Security_Services_Application_Programming_Interface&amp;diff=6172080&amp;oldid=prev</id>
		<title>24.50.56.74: Add mention, not paid promotion either</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Generic_Security_Services_Application_Programming_Interface&amp;diff=6172080&amp;oldid=prev"/>
		<updated>2025-10-10T18:25:21Z</updated>

		<summary type="html">&lt;p&gt;Add mention, not paid promotion either&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Previous revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:25, 10 October 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l67&quot;&gt;Line 67:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 67:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Anticipating new security mechanisms, the GSSAPI includes a negotiating &amp;#039;&amp;#039;pseudo mechanism&amp;#039;&amp;#039;, [[SPNEGO]], that can discover and use new mechanisms not present when the original application was built.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Anticipating new security mechanisms, the GSSAPI includes a negotiating &amp;#039;&amp;#039;pseudo mechanism&amp;#039;&amp;#039;, [[SPNEGO]], that can discover and use new mechanisms not present when the original application was built.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== Availability ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Various languages implement the GSSAPI. [[Java (programming language)|Java]] provides these features in its [[Java Class Library|standard library]] package &amp;lt;code&amp;gt;org.ietf.jgss.*&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;{{Cite web|title=org.ietf.jgss (Java SE 25 &amp;amp; JDK 25)|url=https://docs.oracle.com/en/java/javase/25/docs/api/java.security.jgss/org/ietf/jgss/package-summary.html|access-date=10 October 2025|website=docs.oracle.com|publisher=Oracle Corporation}}&amp;lt;/ref&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Relationship to Kerberos ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Relationship to Kerberos ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>24.50.56.74</name></author>
	</entry>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Generic_Security_Services_Application_Programming_Interface&amp;diff=1153232&amp;oldid=prev</id>
		<title>imported&gt;Iiii I I I: Reverted 1 edit by 2806:104E:16:4BC3:B464:CD03:4EE1:673 (talk) to last revision by Phiarc</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Generic_Security_Services_Application_Programming_Interface&amp;diff=1153232&amp;oldid=prev"/>
		<updated>2025-04-11T00:59:04Z</updated>

		<summary type="html">&lt;p&gt;Reverted 1 edit by &lt;a href=&quot;/wiki143/index.php?title=Special:Contributions/2806:104E:16:4BC3:B464:CD03:4EE1:673&quot; title=&quot;Special:Contributions/2806:104E:16:4BC3:B464:CD03:4EE1:673&quot;&gt;2806:104E:16:4BC3:B464:CD03:4EE1:673&lt;/a&gt; (&lt;a href=&quot;/wiki143/index.php?title=User_talk:2806:104E:16:4BC3:B464:CD03:4EE1:673&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User talk:2806:104E:16:4BC3:B464:CD03:4EE1:673 (page does not exist)&quot;&gt;talk&lt;/a&gt;) to last revision by Phiarc&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Application programming interface}}&lt;br /&gt;
{{more footnotes|date=October 2013}}&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Generic Security Service Application Programming Interface&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;GSSAPI&amp;#039;&amp;#039;&amp;#039;, also &amp;#039;&amp;#039;&amp;#039;GSS-API&amp;#039;&amp;#039;&amp;#039;) is an [[application programming interface]] for programs to access [[security]] services.&lt;br /&gt;
&lt;br /&gt;
The GSSAPI is an [[IETF]] standard that addresses the problem of many similar but incompatible security services in use {{Asof|2005|lc=y}}.&lt;br /&gt;
&lt;br /&gt;
== Operation ==&lt;br /&gt;
The GSSAPI, by itself, does not provide any security. Instead, security-service vendors provide GSSAPI &amp;#039;&amp;#039;implementations&amp;#039;&amp;#039; - usually in the form of [[Library (computer science)|libraries]] installed with their security software. These libraries present a GSSAPI-compatible interface to application writers who can write their application to use only the [[Standardization|vendor-independent]] GSSAPI.&lt;br /&gt;
If the security implementation ever needs replacing, the application need not be rewritten.&lt;br /&gt;
&lt;br /&gt;
The definitive feature of GSSAPI applications is the exchange of opaque messages (&amp;#039;&amp;#039;tokens&amp;#039;&amp;#039;) which hide the implementation detail from the higher-level application.&lt;br /&gt;
The client and server sides of the application are written to convey the tokens given to them by&lt;br /&gt;
their respective GSSAPI implementations.&lt;br /&gt;
GSSAPI tokens can usually travel over an insecure network as the mechanisms provide inherent message security.&lt;br /&gt;
After the exchange of some number of tokens, the GSSAPI implementations at both ends inform their local application that a &amp;#039;&amp;#039;security context&amp;#039;&amp;#039; is established.&lt;br /&gt;
&lt;br /&gt;
Once a security context is established, sensitive application messages can be wrapped (encrypted) by the GSSAPI for secure communication between client and server.&lt;br /&gt;
Typical protections guaranteed by GSSAPI wrapping include [[confidentiality]] (secrecy) and [[Data integrity|integrity]] (authenticity). The GSSAPI can also provide local guarantees about the identity of the remote user or remote host.&lt;br /&gt;
&lt;br /&gt;
The GSSAPI describes about 45 procedure calls. Significant ones include:&lt;br /&gt;
; GSS_Acquire_cred: Obtains the user&amp;#039;s identity proof, often a secret cryptographic key&lt;br /&gt;
; GSS_Import_name: Converts a username or hostname into a form that identifies a security entity&lt;br /&gt;
; GSS_Init_sec_context: Generates a client token to send to the server, usually a challenge&lt;br /&gt;
; GSS_Accept_sec_context: Processes a token from &amp;#039;&amp;#039;&amp;#039;GSS_Init_sec_context&amp;#039;&amp;#039;&amp;#039; and can generate a response token to return&lt;br /&gt;
; GSS_Wrap: Converts application data into a secure message token (typically encrypted)&lt;br /&gt;
; GSS_Unwrap: Converts a secure message token back into application data&lt;br /&gt;
&lt;br /&gt;
The GSSAPI is standardized for the [[C (programming language)|C]] (RFC 2744) language. [[Java (programming language)|Java]] implements the GSSAPI&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
| url=https://jcp.org/aboutJava/communityprocess/review/jsr072/index.html&lt;br /&gt;
| title=JSR-000072 Generic Security Services API Specification 0.1&lt;br /&gt;
| date=2001-06-15&lt;br /&gt;
| access-date=2015-10-07}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
as JGSS,&amp;lt;ref&amp;gt;{{cite book&lt;br /&gt;
| last1                 = Schönefeld&lt;br /&gt;
| first1                = Marc&lt;br /&gt;
| title                 = Refactoring of Security Antipatterns in Distributed Java Components&lt;br /&gt;
| url                   = https://books.google.com/books?id=cUWFz3oZLyAC&lt;br /&gt;
| series                = Schriften aus der Fakultät Wirtschaftsinformatik und Angewandte Informatik der Otto-Friedrich-Universität Bamberg&lt;br /&gt;
| volume                = 5 &lt;br /&gt;
| publisher             = University of Bamberg Press&lt;br /&gt;
| date      = 2010&lt;br /&gt;
| page                  = 179 &lt;br /&gt;
| access-date            = 2015-10-07&lt;br /&gt;
| quote                 = JGSS is the JAVA implementation of the GSSAPI.&lt;br /&gt;
| isbn                  = 9783923507689}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
the Java Generic Security Services Application Program Interface.&amp;lt;ref&amp;gt;{{cite book&lt;br /&gt;
| last1                 = Fisher&lt;br /&gt;
| first1                = Marina&lt;br /&gt;
| last2                 = Sharma&lt;br /&gt;
| first2                = Sonu &lt;br /&gt;
| last3                 = Lai&lt;br /&gt;
| first3                = Ray&lt;br /&gt;
| last4                 = Moroney&lt;br /&gt;
| first4                = Laurence&lt;br /&gt;
| title                 = Java EE and .NET Interoperability: Integration Strategies, Patterns, and Best Practices&lt;br /&gt;
| url                   = https://books.google.com/books?id=CXnCJhrB3g4C&lt;br /&gt;
| publisher             = Prentice Hall Professional&lt;br /&gt;
| date      = 2006&lt;br /&gt;
| access-date            = 2015-10-07&lt;br /&gt;
| quote                 = Java Generic Security Services Application Program Interface (JGSS) API for uniform access to security services atop a variety of underlying security mechanism, including Kerberos, which are building blocks for single sign-on and data encryption.&lt;br /&gt;
| isbn                  = 9780132715706}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;!-- A standard for [[C Sharp|C#]] is forthcoming.  C# work appears to have perished --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some limitations of GSSAPI are:&lt;br /&gt;
# standardizing only [[authentication]], rather not [[authorization]] too;&lt;br /&gt;
# assuming a [[client–server]] architecture.&lt;br /&gt;
&lt;br /&gt;
Anticipating new security mechanisms, the GSSAPI includes a negotiating &amp;#039;&amp;#039;pseudo mechanism&amp;#039;&amp;#039;, [[SPNEGO]], that can discover and use new mechanisms not present when the original application was built.&lt;br /&gt;
&lt;br /&gt;
== Relationship to Kerberos ==&lt;br /&gt;
The dominant GSSAPI mechanism implementation in use is [[Kerberos (protocol)|Kerberos]].&lt;br /&gt;
&amp;lt;!-- Ref: MS Active Directory uses SSPI, MIT and Heimdal provide gssapi --&amp;gt;&lt;br /&gt;
Unlike the GSSAPI, the Kerberos API has not been standardized&lt;br /&gt;
and various existing implementations use incompatible APIs.&lt;br /&gt;
The GSSAPI allows Kerberos implementations to be API compatible.&lt;br /&gt;
&lt;br /&gt;
== Related technologies ==&lt;br /&gt;
* [[Remote Authentication Dial In User Service|RADIUS]]&lt;br /&gt;
* [[Simple Authentication and Security Layer|SASL]]&lt;br /&gt;
* [[Secure Sockets Layer|TLS]]&lt;br /&gt;
* [[Security Support Provider Interface|SSPI]]&lt;br /&gt;
* [[SPNEGO]]&lt;br /&gt;
* [[RPCSEC GSS]]&lt;br /&gt;
&lt;br /&gt;
== Key concepts ==&lt;br /&gt;
;Name :A binary string that labels a [[security principal]] (i.e., user or service program) - see [[access control]] and [[identity (object-oriented programming)|identity]]. For example, [[Kerberos (protocol)|Kerberos]] uses names like &amp;#039;&amp;#039;user@REALM&amp;#039;&amp;#039; for users and &amp;#039;&amp;#039;service/hostname@REALM&amp;#039;&amp;#039; for programs.&lt;br /&gt;
;[[Credential]]s :Information that proves an identity; used by an entity to act as the named principal. Credentials typically involve a secret cryptographic key.&lt;br /&gt;
;Context :The state of one end of the authenticating/authenticated [[protocol (computing)|protocol]]. May provide message protection services, which can be used to compose a [[secure channel]].&lt;br /&gt;
;Tokens :Opaque messages exchanged either as part of the initial authentication protocol (context-level tokens), or as part of a protected communication (per-message tokens)&lt;br /&gt;
;Mechanism :An underlying GSSAPI implementation that provides actual names, tokens and credentials. Known mechanisms include [[Kerberos (protocol)|Kerberos]], [[NTLM]], [[Distributed Computing Environment]] (DCE), SESAME, [[SPKM]], LIPKEY.&lt;br /&gt;
;Initiator/acceptor :The peer that sends the first token is the initiator; the other is the acceptor. Generally, the client program is the initiator while the server is the acceptor.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
* July 1991: IETF Common Authentication Technology (CAT) Working Group meets in Atlanta, led by John Linn&lt;br /&gt;
* September 1993:  GSSAPI version 1 (RFC 1508, RFC 1509)&lt;br /&gt;
* May 1995: Windows NT 3.51 released, includes SSPI&lt;br /&gt;
* June 1996: Kerberos mechanism for GSSAPI (RFC 1964)&lt;br /&gt;
* January 1997: GSSAPI version 2 (RFC 2078)&lt;br /&gt;
* October 1997: SASL published, includes GSSAPI mechanism (RFC 2222)&lt;br /&gt;
* January 2000: GSSAPI version 2 update 1 (RFC 2743, RFC 2744)&lt;br /&gt;
* August 2004: KITTEN working group meets to continue CAT activities&lt;br /&gt;
* May 2006: Secure Shell use of GSSAPI standardised (RFC 4462)&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[PKCS 11|PKCS #11]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{IETF RFC|2743|link=no}} The Generic Security Service API Version 2 update 1&lt;br /&gt;
* {{IETF RFC|2744|link=no}} The Generic Security Service API Version 2: C-Bindings&lt;br /&gt;
* {{IETF RFC|1964|link=no}} The Kerberos 5 GSS-API mechanism&lt;br /&gt;
* {{IETF RFC|4121|link=no}} The Kerberos 5 GSS-API mechanism: Version 2&lt;br /&gt;
* {{IETF RFC|4178|link=no}} The Simple and Protected GSS-API Negotiation Mechanism (SPNEGO)&lt;br /&gt;
* {{IETF RFC|2025|link=no}} The Simple Public-Key GSS-API Mechanism (SPKM)&lt;br /&gt;
* {{IETF RFC|2847|link=no}} LIPKEY - A Low Infrastructure Public Key Mechanism Using SPKM&lt;br /&gt;
* {{cite web&lt;br /&gt;
| url=https://datatracker.ietf.org/wg/kitten/charter/&lt;br /&gt;
| title=Common Authentication Technology Next Generation (kitten)&lt;br /&gt;
| date=September 2013&lt;br /&gt;
| publisher=[[Internet Engineering Task Force]]}}&lt;br /&gt;
* {{cite web&lt;br /&gt;
| url=https://docs.oracle.com/cd/E19683-01/816-1331/&lt;br /&gt;
| title=GSS-API Programming Guide — Sun Solaris 9&lt;br /&gt;
| date=2002&lt;br /&gt;
| author=Sun Microsystems&lt;br /&gt;
| author-link=Sun Microsystems&lt;br /&gt;
| publisher=[[Oracle Corporation]]}}&lt;br /&gt;
* {{cite web&lt;br /&gt;
| url=https://docs.oracle.com/cd/E37838_01/html/E61050/secov-gss.html&lt;br /&gt;
| title=Writing Applications That Use GSS-API — Oracle Solaris 11.4, Developer&amp;#039;s Guide to Security&lt;br /&gt;
| date=2020&lt;br /&gt;
| author=Oracle Corporation&lt;br /&gt;
| author-link=Oracle Corporation}}&lt;br /&gt;
&lt;br /&gt;
{{Authentication APIs}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Operating system security]]&lt;br /&gt;
[[Category:Internet Standards]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Iiii I I I</name></author>
	</entry>
</feed>