gssapi-layer-c++  20230108
Classes | Enumerations | Functions
Gss Namespace Reference

Classes

class  ClientContext
 ClientContext. More...
 
class  Context
 BaseContext. More...
 
struct  ErrorCodes
 
class  ServiceContext
 ServiceContext. More...
 

Enumerations

enum  NameType {
  NameType::NoName, NameType::NoOid, NameType::NtAnonymous, NameType::NtExportName,
  NameType::NtHostService, NameType::NtMachineUid, NameType::NtStringUid, NameType::NtUserName
}
 
enum  CredentialUsage { Initiate = GSS_C_INITIATE, Accept = GSS_C_ACCEPT, Both = GSS_C_BOTH }
 
enum  ContextFlag {
  Delegate = GSS_C_DELEG_FLAG, Mutual = GSS_C_MUTUAL_FLAG, Replay = GSS_C_REPLAY_FLAG, Sequence = GSS_C_SEQUENCE_FLAG,
  Confidential = GSS_C_CONF_FLAG, Integrity = GSS_C_INTEG_FLAG, Anonymous = GSS_C_ANON_FLAG, Protection = GSS_C_PROT_READY_FLAG,
  Transfer = GSS_C_TRANS_FLAG
}
 

Functions

std::string error2str (OM_uint32 code1, OM_uint32 code2)
 
gss_name_t importName (std::string_view name, const NameType &type, ErrorCodes *err)
 
std::string exportName (const gss_name_t &name, ErrorCodes *err)
 
std::string exportOID (const gss_OID &oid, ErrorCodes *err)
 
const char * flagName (const ContextFlag &flag)
 
std::list< ContextFlagexportFlags (int flags)
 

Enumeration Type Documentation

◆ ContextFlag

Enumerator
Delegate 

delegated credentials are available by means of the delegated_cred_handle parameter

Mutual 

a remote peer asked for mutual authentication

Replay 

replay of protected messages will be detected

Sequence 

out of sequence protected messages will be detected

Confidential 

confidentiality service may be invoked by calling the gss_wrap() routine

Integrity 

integrity service may be invoked by calling either the gss_get_mic(3GSS) or the gss_wrap(3GSS) routine

Anonymous 

the initiator does not wish to be authenticated. The src_name parameter, if requested, contains an anonymous internal name

Protection 

the protection services specified by the states of GSS_C_CONF_FLAG and GSS_C_INTEG_FLAG are available if the accompanying major status return value is either GSS_S_COMPLETE or GSS_S_CONTINUE_NEEDED

Transfer 

the resultant security context may be transferred to other processes by means of a call to gss_export_sec_context(3GSS)

◆ CredentialUsage

Enumerator
Initiate 

Identifies applications that only initiate security contexts.

Accept 

Identifies applications that only accept security contexts.

Both 

Identifies applications that can initiate or accept security contexts.

◆ NameType

enum Gss::NameType
strong
Enumerator
NoName 
NoOid 
NtAnonymous 
NtExportName 
NtHostService 
NtMachineUid 
NtStringUid 
NtUserName 

Function Documentation

◆ error2str()

std::string Gss::error2str ( OM_uint32  code1,
OM_uint32  code2 
)

◆ exportFlags()

std::list< ContextFlag > Gss::exportFlags ( int  flags)

◆ exportName()

std::string Gss::exportName ( const gss_name_t &  name,
ErrorCodes err 
)

◆ exportOID()

std::string Gss::exportOID ( const gss_OID &  oid,
ErrorCodes err 
)

◆ flagName()

const char * Gss::flagName ( const ContextFlag flag)

◆ importName()

gss_name_t Gss::importName ( std::string_view  name,
const NameType type,
ErrorCodes err 
)