DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T d

⟦104c934c2⟧ TextFile

    Length: 280686 (0x4486e)
    Types: TextFile
    Names: »draft-ietf-cat-genericsec-00.ps«

Derivation

└─⟦4f9d7c866⟧ Bits:30007245 EUUGD6: Sikkerheds distributionen
    └─⟦this⟧ »./papers/IETF-drafts/draft-ietf-cat-genericsec-00.ps« 

TextFile

%!PS-Adobe-2.0
%%Creator: VAX DOCUMENT V1.2B
%%+(+1 PSEUDOCONDENSE) -- this prolog provided by the CUPFAMILY011 kit
%%+Copyright 1986,1987,1988,1989,1990 DIGITAL EQUIPMENT CORPORATION.  
%%+All Rights Reserved.
%%DocumentFonts: (atend)
%%Pages: (atend)
%%EndComments
/DEC_DVC$dict where {					%FIND DICTIONARY
  pop
}{ %else
  /DEC_DVC$dict 300 dict def
} ifelse 
/BeginDVC$PSDoc {					%BEGIN DOCUMENT
  vmstatus pop pop 0 eq {
    DEC_DVC$dict begin  InitializeState
  }{ %else
    /DVC$PSJob save def  DEC_DVC$dict begin  InitializeState
    /DVC$PSFonts save def
  } ifelse
} def
/EndDVC$PSDoc {						%END DOCUMENT
% --- Preserving current page count ---
  vmstatus pop pop 0 eq {
    end
  }{ %else
    DVC$PSFonts restore  end  DVC$PSJob restore
  } ifelse
} def
%
DEC_DVC$dict begin
%
mark					% CREATE ISOLatin1 ENCODING
/ISOLatin1
  8#000 1 8#054 {StandardEncoding exch get} for 
  /minus
  8#056 1 8#217 {StandardEncoding exch get} for 
  /dotlessi 
  8#301 1 8#317 {StandardEncoding exch get} for 
  /space /exclamdown /cent /sterling /currency /yen /brokenbar /section 
  /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen 
  /registered /macron /degree /plusminus /twosuperior /threesuperior /acute 
  /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine 
  /guillemotright /onequarter /onehalf /threequarters /questiondown /Agrave 
  /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute 
  /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde 
  /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave 
  /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute 
  /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute 
  /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde
  /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave 
  /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis 
  /ISOLatin1 where not {256 array astore def} if 
cleartomark
%
/DECMCS ISOLatin1 256 array copy def
mark						% CREATE DECMCS ENCODING
  8#240 8#244 8#246 8#254 8#255 8#256 8#257 8#264 
  8#270 8#276 8#320 8#336 8#360 8#376 8#377
  counttomark
  {DECMCS exch /.notdef put} repeat		% STACK NOW CONTAINS MARK
  8#250 /currency   8#327 /OE   8#335 /Ydieresis   8#367 /oe   8#375 /ydieresis
  counttomark -1 bitshift			% DIVIDE BY 2
  {DECMCS 3 1 roll put} repeat			% STACK NOW CONTAINS MARK
cleartomark
%
/DOCPSE DECMCS 256 array copy def 
mark						% CREATE DOCPSE ENCODING
  8#055 /hyphen
  8#201 /bullet    8#202 /emdash     8#203 /endash    8#204 /dagger
  8#205 /daggerdbl 8#206 /registered 8#207 /trademark %8#210 /Delta
  8#211 /fi        8#212 /fl
  counttomark -1 bitshift			% DIVIDE BY 2
  {DOCPSE 3 1 roll put} repeat			% STACK NOW CONTAINS MARK
cleartomark
%
/reencodedict 10 dict def			%Local storage for "ReENCODE"
/ReENCODE {		% /basefont /newfont encoding ReENCODE
    /newencoding exch def	%ARG: NAME OF ENCODING VECTOR
    /newfontname exch def	%ARG: NEW NAME FOR FONT AFTER RE-ENCODING
    findfont
    /basefontdict exch def	%ARG: NAME OF FONT TO BE RE-ENCODED
    basefontdict maxlength dict begin	%CREATE AND OPEN NEW DICT
	basefontdict {		%COPY ENTRIES FROM BASE FONT DICT TO NEW ONE
	    1 index /FID ne {
		def		%IF NOT THE ONE WE'RE ENCODING, JUST COPY PTRS
	    } { %else
		pop pop		%IGNORE FID AND ENCODING FOR ONE WE'RE ENCODING
	    } ifelse
	} forall
	/FontName newfontname def	%DEFINE NEW NAME 
	/Encoding newencoding def	%DEFINE NEW ENCODING VECTOR
	newfontname currentdict definefont	%TURN IT INTO A PS FONT
	pop			%IGNORE MODIFIED DICT RETURNED BY DEFINEFONT
    end
} def
%
/cvsstr 64 string def
/tempmatrix matrix def
%
/BP {							% BEGIN PAGE
  /Magnification exch def
  /Colorsused 0 def
  /RVmatrix matrix def
  /DVC$PSPage save def
} def
%
/EP {DVC$PSPage restore} def				% END PAGE
%
/XP {				% EXIT PAGE (TEMPORARILY) TO ADD FONTS/CHARS
  % SAVE CURRENT POINT AND COLOR INFORMATION SO IT CAN BE RESET LATER
  matrix currentmatrix aload pop currentrgbcolor Colorsused
  /Xpos where {pop Xpos} {0} ifelse
  /Ypos where {pop Ypos} {0} ifelse
  /currentpoint cvx stopped {0 0 moveto currentpoint} if 
  /DVC$PSPage where {pop DVC$PSPage restore} if
  moveto
  /Ypos exch def  /Xpos exch def
  /Colorsused exch def setrgbcolor
  matrix astore setmatrix
} def
%
/RP {/DVC$PSPage save def} def		% RESUME PAGE
%
/PF {GlobalMode  LocalMode} def			% PURGE FONTS TO RECLAIM MEMORY
%
/GlobalMode {		% SWITCH TO BASE SAVE/RESTORE LEVEL, SAVING STATE
  RVmatrix aload pop
  PortraitMode  PaperWidth  PaperHeight  PxlResolution  Resolution 
  Magnification Ymax        Xorigin      Yorigin        RasterScaleFactor
  % SAVE CURRENTPOINT INFORMATION TO RESET LATER
  /currentpoint cvx stopped {0 0 moveto currentpoint} if 
  /DVC$PSPage where {pop DVC$PSPage restore} if
  DVC$PSFonts restore  RecoverState
} def
%
/RecoverState {					% PRESERVE STATE AT BASE LEVEL
  18 copy
  /Ypos exch def           /Xpos exch def        /RasterScaleFactor exch def
  /Yorigin exch def        /Xorigin exch def     /Ymax exch def
  /Magnification exch def  /Resolution exch def  /PxlResolution exch def
  /PaperHeight exch def    /PaperWidth exch def  /PortraitMode exch def
  matrix astore /RVmatrix exch def
  DoInitialScaling
  RVmatrix concat
  PortraitMode not {PaperWidth 0 SetupLandscape} if
  Xpos Ypos moveto
} def
%
/InitializeState {		% INITIALIZE STATE VARIABLES TO DEFAULT VALUES
  /Resolution 3600 def  /PxlResolution 300 def
  /RasterScaleFactor PxlResolution Resolution div def
  /PortraitMode true def
  /Magnification 1000 def  /Xorigin 0 def  /Yorigin 0 def
  /Xpos 0 def  /Ypos 0 def  /InitialMatrix matrix currentmatrix def
  /Colorsused 0 def /RVmatrix matrix def
} def
%
/LocalMode {		% SWITCH FROM BASE SAVE/RESTORE LEVEL, RESTORING STATE
  /Ypos exch def  /Xpos exch def  /RasterScaleFactor exch def
  /Yorigin exch def  /Xorigin exch def  /Ymax exch def
  /Magnification exch def  /Resolution exch def  /PxlResolution exch def
  /PaperHeight exch def  /PaperWidth exch def  /PortraitMode exch def
  matrix astore /RVmatrix exch def
  DoInitialScaling
  RVmatrix concat
  PortraitMode not {PaperWidth 0 SetupLandscape} if
  Xpos Ypos moveto
  /DVC$PSFonts save def  /DVC$PSPage save def
} def
%							% ABBREVIATIONS 
/S /show load def
/SV /save load def
/RST /restore load def
/Yadjust {Ymax exch sub} def
%
/SXY {		% (x,y) POSITION ABSOLUTE, JUST SET Xpos & Ypos, DON'T MOVE
  Yadjust  /Ypos exch def /Xpos exch def
} def
%
/XY {						% (x,y) POSITION ABSOLUTE
  Yadjust  2 copy /Ypos exch def /Xpos exch def  moveto
} def
%
/X {						% (x,0) POSITION ABSOLUTE
  currentpoint exch pop   2 copy /Ypos exch def /Xpos exch def  moveto
} def
%
/Y {						% (0,y) POSITION ABSOLUTE 
  currentpoint pop exch Yadjust  2 copy
  /Ypos exch def /Xpos exch def  moveto
} def
%
/xy {						% (x,y) POSITION RELATIVE
  neg rmoveto  currentpoint /Ypos exch def /Xpos exch def
} def
%
/x {						% (x,0) POSITION RELATIVE
  0 rmoveto  currentpoint /Ypos exch def /Xpos exch def
} def
%
/y {						% (0,y) POSITION RELATIVE
  0 exch neg rmoveto  currentpoint /Ypos exch def /Xpos exch def
} def
%
/R {						% DRAW A RULE
  /ht exch def  /wd exch def   gsave
% 0 setgray
  currentpoint  newpath  moveto
  0 ht rlineto  wd 0 rlineto
  0 ht neg rlineto  wd neg 0 rlineto
  closepath fill  grestore  wd 0 rmoveto
  currentpoint /Ypos exch def /Xpos exch def
} def
%
/RES {		% <PXL-file resolution(pix/inch)> <resolution(pix/inch)> RES
  /Resolution exch def  /PxlResolution exch def
  /RasterScaleFactor PxlResolution Resolution div def
  DoInitialScaling
} def
%
/DoInitialScaling {					% DO INITIAL SCALING
  InitialMatrix setmatrix  72 Resolution div dup scale
} def
%
/PM {		% <paper-height(pix)> <paper-width(pix)> PM
  XP
    /PaperWidth exch def  /PaperHeight exch def
    /Ymax PaperHeight def /PortraitMode true def
    DoInitialScaling
  RP
} def  
%
/SetupLandscape {translate  90 rotate} def
/LM {		% <paper-height(pix)> <paper-width(pix)> LM 
  XP
    /PaperWidth exch def  /PaperHeight exch def
    /Ymax PaperWidth def  /PortraitMode false def
    DoInitialScaling PaperWidth 0 SetupLandscape
  RP
} def  
%
/MAG {						% CHANGE MAGNIFICATION SETTING
  XP  /Magnification exch def  RP
} def
%
/SPB {		%  <xoffset><yoffset>SPB - BEGIN "\SPECIAL" MODE
  Yadjust /Yorigin exch def /Xorigin exch def
  currentrgbcolor Colorsused
  GlobalMode Xorigin Yorigin translate
  Resolution 72 div dup scale			% RESTORE DEFAULT SCALING
  Magnification 1000 div dup scale		% ADJUST FOR ANY MAGNIFICATION
  /Xpos Xpos 72 Resolution div mul 1000 Magnification div mul def
  /Ypos Ypos 72 Resolution div mul 1000 Magnification div mul def
  /spsavobj save def	%SAVE STATE & STACK DEPTH FOR CLEANUP AFTER FIGURE
  /showpage {} def	%DISABLE DURING FIGURE; `RESTORE' WILL BLOW DEF AWAY
  /DEC$EDMS_setrgbcolor /setrgbcolor load def	% save standard definition
  /setrgbcolor {				% create new definition
    /DEC$EDMS_SEPARATE_COLORS where		% if separating colors
    { pop DEC$EDMS_SEPARATE_COLORS 0 ne		% and not on color pass 0
      { pop pop pop 1 1 1 } if			% ...then write white
     } if
    DEC$EDMS_setrgbcolor			% set color as now specified
  } def
  /DEC$EDMS_image /image load def		% save standard definition
  /image {					% create new definition
    /DEC$EDMS_SEPARATE_COLORS where		% if separating colors
    { pop DEC$EDMS_SEPARATE_COLORS 0 ne		% and not on color pass 0
      { gsave					% ...save current device state
        nulldevice				% ...make no marks
        DEC$EDMS_image				% ...process the image
        grestore				% ...restore old device state
      }
      { DEC$EDMS_image } ifelse			% if on color pass 0 - image
    }
    { DEC$EDMS_image } ifelse			% if not separating colors - image
  } def  mark
} def
%
/SPE {		% SPE - END "\SPECIAL" MODE
  cleartomark
  spsavobj restore 
  1000 Magnification div dup scale	% UN-ADJUST FOR ANY MAGNIFICATION
  72 Resolution div dup scale		% RESTORE DEFAULT INTERNAL SCALING
  LocalMode
  /Colorsused exch def setrgbcolor
} def
%
/PP
%
% If DEC$EDMS_MAKE_FILM is defined, it will add the crop & alignment marks,
% and the document name, page number, & ink color identifiers to the page.
%
% Formal Arguments:	None
%
% Referenced Variables: DocumentName
%			Colorsused
%			Currentpagecount
% 			DEC$EDMS_MAKE_FILM
%
% Referenced Procedures: AlignMark
%
% Side Effects: Leaves the current font as Helvetica 8 point.
%		Creates the variable "junkstr".
%
{ /PageNumber exch def
  /DEC$EDMS_MAKE_FILM where					% if making film...
  { pop 2 DEC$EDMS_SEPARATE_COLORS exp cvi Colorsused and 0 ne	% and if the correct separation
    { /Helvetica findfont 400 scalefont setfont
      20 setlinewidth 0 setgray
      PaperWidth 150 add PaperHeight 100 add moveto		% show the ink color
      (Ink: ) show DEC$EDMS_COLOR_NAMES DEC$EDMS_SEPARATE_COLORS get show
      PaperWidth 150 add PaperHeight 600 add moveto
      (Page: ) show						% show the page number
      /junkstr 4 string def PageNumber junkstr cvs show
      ( of ) show DEC$EDMS_TOTAL_PAGES junkstr cvs show
      150 PaperHeight 100 add moveto				% show the document name
      (Document: ) show DEC$EDMS_DOCUMENT_ID show
      150 -500 moveto 						% show ownership text
      (This film is the property of Digital Equipment Corporation) show stroke

      /mask 15							% all crop marks on by default
      /DEC$EDMS_SUPPRESS_CROPMARKS where				% if defined, xor in the suppression mask
          { pop DEC$EDMS_SUPPRESS_CROPMARKS xor } if def

      mask 1 and 1 eq
        { PaperWidth PaperHeight moveto				% Upper Right
          450 0 rmoveto 1350 0 rlineto -1800 1800 rmoveto 0 -1350 rlineto } if

      mask 2 and 2 eq
        { PaperWidth 0 moveto					% Lower Right
          450 0 rmoveto 1350 0 rlineto -1800 -1800 rmoveto 0 1350 rlineto } if

      mask 4 and 4 eq
        { 0 0 moveto						% Lower Left
          -450 0 rmoveto -1350 0 rlineto 1800 -1800 rmoveto 0 1350 rlineto } if

      mask 8 and 8 eq
        { 0 PaperHeight moveto					% Upper Left
          -450 0 rmoveto -1350 0 rlineto 1800 1800 rmoveto 0 -1350 rlineto } if
      stroke

      /mask 15							% all registration marks on by default
      /DEC$EDMS_SUPPRESS_REGMARKS where				% if defined, xor in the suppression mask
          { pop DEC$EDMS_SUPPRESS_REGMARKS xor } if def

      mask 1 and 1 eq						% Top Center
         { gsave PaperWidth 2 div PaperHeight
	   /DEC$EDMS_POSITION_REGMARKS where
	     { pop DEC$EDMS_POSITION_REGMARKS -50 mul add } if
	   translate AlignMark grestore } if

      mask 2 and 2 eq						% Right Center
        { gsave PaperWidth
	 /DEC$EDMS_POSITION_REGMARKS where
	  { pop DEC$EDMS_POSITION_REGMARKS -50 mul add } if
	  PaperHeight 2 div translate AlignMark grestore } if

      mask 4 and 4 eq						% Bottom Center
        { gsave PaperWidth 2 div 0
	 /DEC$EDMS_POSITION_REGMARKS where
	  { pop DEC$EDMS_POSITION_REGMARKS 50 mul add } if
	 translate AlignMark grestore } if

      mask 8 and 8 eq						% Left Center
        { gsave 0
	 /DEC$EDMS_POSITION_REGMARKS where
	  { pop DEC$EDMS_POSITION_REGMARKS 50 mul add } if
	 PaperHeight 2 div translate AlignMark grestore } if
      showpage
    }
    { erasepage } ifelse
  }
  { showpage } ifelse
} def
/CLRP {erasepage} def
%
/DMF {		%  /font-name <point-size(pix)> DMF
  /psz exch def  /nam exch def  nam findfont psz scalefont setfont
} def
%
/concatnam {	%  /abcd (xxx) concatnam  ==> /abcdxxx
  /xxx exch def  /nam exch def
  /namstr nam cvsstr cvs def
  /newnam namstr length xxx length add string def
  newnam 0 namstr putinterval
  newnam namstr length xxx putinterval
  newnam cvn 
} def
%
/strip {	%  /abcdef 2 strip ==> /cdef
  /num exch def  /nam exch def
  /namstr nam cvsstr cvs def
  /newlen namstr length num sub def
  namstr num newlen getinterval  cvn
} def
%		ROUTINES TO HANDLE PACKING/UNPACKING NUMBERS
/PackHW {	% <target> <pos> <num> PackHW --> <new target>
  /num exch def  /pos exch def  /target exch def
  num 16#0000FFFF and 1 pos sub 16 mul bitshift  target or
} def
/PackByte {	% <target> <pos> <num> PackByte --> <new target>
  /num exch def  /pos exch def  /target exch def
  num 16#000000FF and 3 pos sub 8 mul bitshift   target or
} def
/UnpkHW {	%  <pos> <num> UnpkHW --> <unpacked value>
  /num exch def  /pos exch def
  num 1 pos sub -16 mul bitshift 16#0000FFFF and
  dup 16#00007FFF gt {16#00010000 sub} if
} def
/UnpkByte {	%  <pos> <num> UnpkByte --> <unpacked value>
  /num exch def  /pos exch def
  num 3 pos sub -8 mul bitshift 16#000000FF and
  dup 16#0000007F gt {16#00000100 sub} if
} def
%
% FOR POSTSCRIPT FONTS, LOOK AT SIZE REQUESTED.  IF IT HAS A DECIMAL REMAINDER
% EQUIVALENT TO .001-.009 POINTS (I.E., .050-.450 VAXDOC UNITS), THAT'S A FLAG 
% TO STRETCH IT VERTICALLY BY ADDING 1-9 EXTRA POINTS TO THE VERTICAL SCALING.
%
/TESTING false def
%
/ps-scalefont {
		% save requested size - as entered and as integer
    dup /x-size exch def cvi /x-int exch def
		% calc decimal remainder, mul x 1000, round
    x-size x-int sub 1000 mul round cvi /remainder exch def
		% see how we scale...
    remainder 50 lt remainder 450 gt or {
		% scale isomorphically
	/ystretch 0 def
	x-size scalefont
    } {
		% scale anamorphically
	/ystretch remainder def
	x-int ystretch add /y-size exch def
	[x-int 0 0 y-size 0 0] makefont
    } ifelse
		%
    TESTING {
	(\nSIZE ) print x-size 12 string cvs print 
	(\tINT ) print x-int 12 string cvs print 
	( REM ) print remainder 12 string cvs print
	( +Y ) print ystretch 12 string cvs print
	( =\t) print
	ystretch 0 eq {
	    x-size 12 string cvs print
	    ( scalefont) print
	} {
	    ([) print x-int 12 string cvs print 
	    ( 0 0 ) print y-size 12 string cvs print
	    ( 0 0] makefont) print
	} ifelse
    } if
} def
%
/DPSF {		% /procname size /fontname DPSF
    findfont exch ps-scalefont [ exch /setfont cvx ] cvx def
} def
%
/PXLBuildCharDict 17 dict def
/CMEncodingArray 256 array def
0 1 255 {CMEncodingArray exch dup cvsstr cvs cvn put} for
/RasterConvert {RasterScaleFactor div} def
/TransformBBox {
  aload pop
  /BB-ury exch def  /BB-urx exch def  /BB-lly exch def  /BB-llx exch def
  [ BB-llx RasterConvert BB-lly RasterConvert 
    BB-urx RasterConvert BB-ury RasterConvert ]
} def
/RunLengthToRasters {
  % none yet
} def
/GenerateRasters {			% GENERATE RASTERS FOR "IMAGEMASK"
  rasters  runlength 1 eq {RunLengthToRasters} if
} def
%
/int-dict-name {int (-dict) concatnam} def
/int-dict {int (-dict) concatnam cvx load} def
%
/DefinePXLFont {
	%  <int-font-name><ext-font-name><pt-sz(pix)><PXL mag><num-chars>...
	%  ...[llx lly urx ury]<newfont-fg>DefinePXLFont
  /newfont exch def  /bb exch def      /num exch def  /psz exch def
  /dsz exch def      /pxlmag exch def  /ext exch def  /int exch def
  /fnam ext (-) concatnam pxlmag cvsstr cvs concatnam def
  newfont not {
    int-dict-name 13 dict def
    int-dict begin
      /FontType 3 def  /FontMatrix [ 1 dsz div 0 0 1 dsz div 0 0 ] def
      /FontBBox bb TransformBBox def  /Encoding CMEncodingArray def
      /CharDict 1 dict def  CharDict begin  /Char-Info num array def  end
      /BuildChar {
        PXLBuildCharDict begin
          /char exch def  /fontdict exch def
          fontdict /CharDict get /Char-Info get char get aload pop
          /rasters exch def  /PackedWord1 exch def
          0 PackedWord1 UnpkHW 16#7FFF ne {
	    /PackedWord2 exch def  /wx 0 PackedWord1 UnpkHW def
            /rows 2 PackedWord1 UnpkByte def  /cols 3 PackedWord1 UnpkByte def
            /llx 0 PackedWord2 UnpkByte def   /lly 1 PackedWord2 UnpkByte def
            /urx 2 PackedWord2 UnpkByte def   /ury 3 PackedWord2 UnpkByte def
	  }{ %else
	    /PackedWord2 exch def  /PackedWord3 exch def  /PackedWord4 exch def
            /wx 1 PackedWord1 UnpkHW def    /rows 0 PackedWord2 UnpkHW def
            /cols 1 PackedWord2 UnpkHW def  /llx 0 PackedWord3 UnpkHW def
            /lly 1 PackedWord3 UnpkHW def   /urx 0 PackedWord4 UnpkHW def
            /ury 1 PackedWord4 UnpkHW def
          } ifelse
          rows 0 lt {
	    /rows rows neg def /runlength 1 def
	  }{ %else
	    /runlength 0 def
	  } ifelse
          wx 0
          llx RasterConvert lly RasterConvert 
          urx RasterConvert ury RasterConvert setcachedevice
          rows 0 ne {
	    gsave
	      cols rows true  RasterScaleFactor 
              0 0 RasterScaleFactor neg llx .5 add neg ury .5 add 
              tempmatrix astore  GenerateRasters imagemask
            grestore
          } if
        end
      } def
    end
    fnam int-dict definefont pop 
  } if 
  int-dict-name fnam findfont psz scalefont def
  currentdict int [ int-dict /setfont cvx ] cvx put
} def 
/PXLF { true  DefinePXLFont} def	% SIGNAL THAT FONT IS ALREADY LOADED
/PXLNF {false  DefinePXLFont} def	% SIGNAL THAT FONT IS NOT ALREADY LOADED
%
/PXLC {	% <int-font-name><code><wx><llx><lly><urx><ury>...
	% ...<rows><cols><runlength><rasters>PXLC
  /rasters exch def  /runlength exch def  /cols exch def  /rows exch def
  /ury exch def      /urx exch def        /lly exch def   /llx exch def
  /wx exch def       /code exch def       /int exch def
  % SEE IF LONG OR SHORT FORMAT IS REQUIRED
  true cols CKSZ rows CKSZ ury CKSZ urx CKSZ lly CKSZ llx CKSZ 
  TackRunLengthToRows {
    int-dict /CharDict get /Char-Info get code 
    [ 0 0 llx PackByte 1 lly PackByte 2 urx PackByte 3 ury PackByte
      0 0 wx PackHW 2 rows PackByte 3 cols PackByte rasters ] put
  }{ %else
    int-dict /CharDict get /Char-Info get code 
    [ 0 0 urx PackHW 1 ury PackHW   0 0 llx PackHW 1 lly PackHW
      0 0 rows PackHW 1 cols PackHW 0 0 16#7FFF PackHW 1 wx PackHW rasters ] put
  } ifelse
} def
%
/CKSZ {abs 127 le and} def
/TackRunLengthToRows {runlength 0 ne {/rows rows neg def} if} def
%
/PLOTC {
  % <wx><dsz><psz><llx><lly><urx><ury><rows><cols><runlength><rasters>PLOTC
  /rasters exch def  /runlength exch def  /cols exch def  /rows exch def
  /ury exch def      /urx exch def        /lly exch def   /llx exch def
  /psz exch def      /dsz exch def        /wx exch def
  % "PLOT" A CHARACTER'S RASTER PATTERN
  rows 0 ne {
    gsave
      currentpoint translate  psz dsz div dup scale
      cols rows true  RasterScaleFactor 0 0 RasterScaleFactor 
      neg llx .5 add neg ury .5 add  tempmatrix astore
      GenerateRasters imagemask
    grestore
  } if
  wx x
} def
%
/AlignMark
%
% This procedure draws an alignment mark centered on the coordinate system
% origin. If the variable DEC$EDMS_SEPARATE_COLORS = 0 then a "positive"
% alignment mark is drawn. If DEC$EDMS_SEPARATE_COLORS <> 0 then a "negative"
% alignment mark is drawn. 
%
% Formal Arguments: NONE
%
% Referenced Variables: DEC$EDMS_SEPARATE_COLORS
%
% Referenced Procedures: NONE
%
% Side Effects: NONE
%
{ DEC$EDMS_SEPARATE_COLORS 0 eq
  { 0 0 300 0 360 arc
    0 -450 moveto 0 450 lineto -450 0 moveto 450 0 lineto stroke }
  { 0 0 450 0 360 arc fill 1 setgray 0 0 300 0 360 arc 
    0 -450 moveto 0 450 lineto -450 0 moveto 450 0 lineto stroke 0 setgray }
  ifelse
} def


/SC
% If not making film, the following procedure sets the current color using the
% RGB color model. If making film, the procedure notes the "color pass" and,
% if the specified color index matches the color pass, subsequent marks are
% written in black. If the specified color index does not match the color pass,
% marks are written in white. Use of colors on individual pages is also tracked
% to allow pages that don't use a particular color to be suppressed on that
% color pass (by the code in the /PP routine).
%
% Formal Arguments: color index (on stack)
%
% Referenced Variables: Colorsused
%			DEC$EDMS_SEPARATE_COLORS
%			DEC$EDMS_SUPPRESS_COLOR
%
% Referenced Procedures: NONE
%
% Side Effects: Modifies the variable Colorsused to record use of the color.
%
{ /DEC$EDMS_SUPPRESS_COLOR where		% if suppressing color
  { pop 0 setgray pop }				% .then set "color" to Black 
  { /DEC$EDMS_SEPARATE_COLORS where		% .else if separating colors
    { pop dup DEC$EDMS_SEPARATE_COLORS eq	% ..and if on this color pass
      { 0 setgray /Colorsused Colorsused	% ...then write black (do write)
        2 3 index exp cvi or def }		% ...and note use of the "color"
      { 1 setgray } ifelse pop }		% ...else write white (don't write)
    { dup (  ) cvs dup length 15 add string     % ..using the color index,
      /tstr exch def                            % ..build up the name of the
      tstr 0 (DEC$EDMS_COLOR_) putinterval      % ..potential external color
      tstr exch 15 exch putinterval             % ..name procedure
      tstr cvn where                            % ..and see if it is defined
      { pop pop tstr cvn cvx exec }             % ...if it is, execute it
      { DEC$EDMS_COLOR_ARRAY exch get		% ..else execute the internal
        exec } ifelse				% ..color setting procedure
    } ifelse
  } ifelse
} def

/RV                                          % .. gross recto/verso translate
{ /DEC$EDMS_ENABLE_RECTOVERSO where
      { pop
	/RVmatrix DEC$EDMS_ENABLE_RECTOVERSO 50 mul 0 matrix translate def
	RVmatrix concat
      } if
} def

end  %DEC_DVC$dict
%%EndProlog
%%BeginSetup
/DEC$EDMS_MAKE_FILM where	% if we are making film...
 { pop				% ..clean up the stack
   54 dup translate		% ..make room for the film info
 } if
BeginDVC$PSDoc
/PaperWidth 8.500 Resolution mul def
/PaperHeight 11.000 Resolution mul def
/Ymax PaperHeight def
CLRP 300 3600 RES
%>  Postamble of file DISK_LINN:[000000.GSSAPI]GSSAPI_ID.DVI_PS.
% DefineFont:F98 Category:10 Pointsize:9
/Courier /Courier@DOCPSE DOCPSE ReENCODE
/F98 450.0 /Courier@DOCPSE DPSF
% DefineFont:F90 Category:10 Pointsize:6
/Times-Roman /Times-Roman@DOCPSE DOCPSE ReENCODE
/F90 300.0 /Times-Roman@DOCPSE DPSF
% DefineFont:F86 Category:10 Pointsize:8
/F86 400.0 /Times-Roman@DOCPSE DPSF
% DefineFont:F74 Category:10 Pointsize:11
/F74 550.0 /Times-Roman@DOCPSE DPSF
% DefineFont:F40 Category:10 Pointsize:9
/Helvetica-Bold /Helvetica-Bold@DOCPSE DOCPSE ReENCODE
/F40 450.0 /Helvetica-Bold@DOCPSE DPSF
% DefineFont:F38 Category:10 Pointsize:9
/Helvetica /Helvetica@DOCPSE DOCPSE ReENCODE
/F38 450.0 /Helvetica@DOCPSE DPSF
% DefineFont:F36 Category:10 Pointsize:10
/F36 500.0 /Helvetica-Bold@DOCPSE DPSF
% DefineFont:F32 Category:10 Pointsize:11
/F32 550.0 /Helvetica-Bold@DOCPSE DPSF
% DefineFont:F28 Category:10 Pointsize:12
/F28 600.0 /Helvetica-Bold@DOCPSE DPSF
% DefineFont:F24 Category:10 Pointsize:14
/F24 700.0 /Helvetica-Bold@DOCPSE DPSF
%%BeginDEC$EDMSInfo
/DEC$EDMS_DOCUMENT_ID () def
/DEC$EDMS_COLOR_NAMES [ (BLACK) (BLACK) (BLACK) (BLACK) ] def
/DEC$EDMS_COLOR_ARRAY [
  { 0 setgray }         %color 0 procedure
  { 0 setgray }         %color 1 procedure
  { 0 setgray }         %color 2 procedure
  { 0 setgray }         %color 3 procedure
] def
/DEC$EDMS_TOTAL_PAGES 0 def
%%EndDEC$EDMSInfo
/DEC$EDMS_MAKE_FILM where
{ pop /DEC$EDMS_SEPARATE_COLORS where
  { pop }
  { (ERROR - DEC$EDMS_MAKE_FILM requires DEC$EDMS_SEPARATE_COLORS be defined) = quit } ifelse
} if
/DEC$EDMS_SEPARATE_COLORS where
{ pop /DEC$EDMS_SUPPRESS_COLOR where
  { pop (ERROR - DEC$EDMS_SEPARATE_COLORS and DEC$EDMS_SUPPRESS_COLOR are mutually exclusive) = quit } if
  DEC$EDMS_SEPARATE_COLORS 1 gt { (ERROR - No such color used in this file) = quit } if
} if
/DVC$PSFonts save def
%%EndSetup
%
%%Page: 1 1
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 17844 2106 XY F40(Generic)S 150 x(Security)S 151 x(Service)S 150 x
(API:)S 149 x(Internet-)S 2 x(Draft)S 14568 X 548 y(Comm)S -2 x(on)S
150 x(Authentication)S 149 x(T)S -33 x(echnology)S 149 x(WG:)S 150 x
(John)S 150 x(Linn)S 148 x(\(DEC\))S 14388 3976 XY F74(John)S 265 x
(Linn)S 13766 X 648 y(Secure)S 261 x(Systems)S 12021 X 648 y(Digital)S
248 x(Equipment)S 247 x(Corpora)S 2 x(tion)S 11955 X 647 y(295)S 245 x
(Foster)S 247 x(Street,)S 263 x(L)S -51 x(TN1-1/D07)S 12529 X 648 y
(Littlet)S 2 x(on,)S 267 x(MA)S 250 x(01460-1)S -20 x(123)S 12556 X
647 y(Linn@zendia.ene)S 2 x(t.dec.com)S 6215 8509 XY F24(Generic)S 255 x
(Security)S 255 x(Service)S 255 x(Application)S 255 x(Program)S 256 x
(Interface)S 3899 9556 XY F28(1)S 598 x(GSS-API)S 198 x(Characteristic)S
2 x(s)S 199 x(and)S 200 x(Concepts)S 3899 10552 XY F74(This)S 158 x
(Generic)S 159 x(Security)S 159 x(Service)S 158 x(Applicat)S 2 x(ion)S
158 x(Program)S 158 x(Inter)S 2 x(face)S 159 x(\(GSS-API\))S 157 x(de\211nition)S
159 x(provides)S 159 x(security)S 159 x(ser-)S 3899 X 647 y(vices)S
147 x(to)S 147 x(call)S 2 x(ers)S 147 x(in)S 147 x(a)S 147 x(generic)S
148 x(fashion,)S 155 x(supportable)S 148 x(with)S 147 x(a)S 147 x(range)S
147 x(of)S 147 x(underlyi)S 2 x(ng)S 146 x(mechani)S 2 x(sms)S 147 x
(and)S 147 x(technologies)S 3899 X 648 y(and)S 161 x(hence)S 161 x(allowing)S
161 x(source-)S 2 x(level)S 162 x(portabili)S 2 x(ty)S 160 x(of)S 161 x
(applic)S 2 x(ations)S 161 x(to)S 161 x(dif)S -9 x(ferent)S 162 x(environme)S
2 x(nts.)S 236 x(This)S 161 x(document)S 162 x(de-)S 3899 X 647 y(\211nes)S
150 x(GSS-AP)S -2 x(I)S 150 x(servi)S 2 x(ces)S 150 x(and)S 150 x(primit)S
2 x(ives)S 150 x(at)S 150 x(a)S 150 x(level)S 151 x(independent)S 151 x
(of)S 150 x(underlying)S 151 x(mechanis)S 2 x(m)S 150 x(and)S 149 x
(progra)S 2 x(mming)S 3899 X 648 y(language)S 184 x(environment,)S 184 x
(and)S 183 x(is)S 183 x(to)S 183 x(be)S 183 x(compleme)S 2 x(nted)S
183 x(by)S 183 x(other)S -21 x(,)S 182 x(rela)S 2 x(ted)S 183 x(documents:)S
3899 X 897 y(\201)S 854 x(documents)S 184 x(de\211ning)S 183 x(speci\211c)S
183 x(param)S 2 x(eter)S 184 x(bindings)S 183 x(for)S 183 x(part)S 2 x
(icular)S 184 x(language)S 184 x(environments)S 3899 X 896 y(\201)S
854 x(documents)S 187 x(de\211ning)S 187 x(token)S 186 x(form)S 2 x
(ats,)S 187 x(protocol)S 2 x(s,)S 187 x(and)S 186 x(procedur)S 2 x(es)S
186 x(to)S 187 x(be)S 186 x(imple)S 2 x(mented)S 187 x(in)S 186 x(order)S
188 x(to)S 186 x(real)S 2 x(ize)S 4945 X 648 y(GSS-API)S 182 x(service)S
2 x(s)S 182 x(atop)S 184 x(particul)S 2 x(ar)S 183 x(securit)S 2 x(y)S
182 x(mechani)S 2 x(sms)S 3899 16679 XY(The)S 216 x(GSS-API)S 215 x
(separat)S 2 x(es)S 216 x(the)S 216 x(operat)S 2 x(ions)S 216 x(of)S
216 x(initi)S 2 x(alizing)S 217 x(a)S 216 x(secur)S 2 x(ity)S 216 x
(context)S 217 x(between)S 217 x(peers,)S 225 x(achievi)S 2 x(ng)S 215 x
(peer)S 3899 X 647 y(entity)S 227 x(authentica)S 2 x(tion)S -180 y F86
(1)S 251 x 180 y F74(\(GSS_Init_sec_c)S 2 x(ontext)S(\()S 84 x(\))S
226 x(and)S 226 x(GSS_A)S -2 x(ccept_s)S 2 x(ec_context)S(\()S 85 x
(\))S 226 x(calls\))S 2 x(,)S 236 x(from)S 227 x(the)S 226 x(opera-)S
3899 X 648 y(tions)S 177 x(of)S 177 x(providing)S 177 x(per)S -10 x
(-messa)S 2 x(ge)S 176 x(data)S 178 x(origin)S 177 x(authentic)S 2 x
(ation)S 177 x(and)S 177 x(data)S 177 x(integri)S 2 x(ty)S 176 x(protec)S
2 x(tion)S 177 x(\(GSS_Sign)S(\()S 82 x(\))S 177 x(and)S 3899 X 648 y
(GSS_V)S -62 x(erify)S(\()S 85 x(\))S 153 x(call)S 2 x(s\))S 154 x(for)S
154 x(message)S 2 x(s)S 153 x(subsequentl)S 2 x(y)S 153 x(transf)S 2 x
(erred)S 155 x(in)S 153 x(conjuncti)S 2 x(on)S 153 x(with)S 154 x(that)S
154 x(context.)S 235 x(Per)S -10 x(-message)S 3899 X 647 y(GSS_S)S -2 x
(eal)S(\()S 85 x(\))S 217 x(and)S 217 x(GSS_Unseal)S(\()S 83 x(\))S
217 x(call)S 2 x(s)S 217 x(provide)S 218 x(the)S 217 x(data)S 218 x
(origin)S 217 x(authent)S 2 x(ication)S 218 x(and)S 217 x(data)S 218 x
(integrit)S 2 x(y)S 217 x(services)S 3899 X 648 y(which)S 217 x(GSS_Sign)S
(\()S 83 x(\))S 217 x(and)S 218 x(GSS)S -2 x(_V)S -61 x(erif)S 2 x(y)S
(\()S 83 x(\))S 218 x(of)S -10 x(fer)S -20 x(,)S 225 x(and)S 218 x(also)S
218 x(support)S 218 x(selecti)S 2 x(on)S 217 x(of)S 217 x(con\211dential)S
2 x(ity)S 218 x(services)S 219 x(as)S 217 x(a)S 3899 X 647 y(caller)S
185 x(option.)S 244 x(Additional)S 183 x(call)S 2 x(s)S 182 x(provide)S
184 x(supportive)S 184 x(functions)S 184 x(to)S 183 x(the)S 183 x(GSS-API')S
-30 x(s)S 183 x(users.)S 3899 21560 XY(The)S 183 x(GSS-AP)S -2 x(I)S
183 x(design)S 184 x(assumes)S 184 x(and)S 183 x(addresses)S 184 x(several)S
184 x(basic)S 184 x(goals,)S 183 x(includi)S 2 x(ng:)S 3899 X 897 y
(\201)S 854 x(Mechanism)S 262 x(independenc)S 2 x(e:)S 399 x(The)S 261 x
(GSS-API)S 260 x(de\211nes)S 260 x(an)S 261 x(inter)S 2 x(face)S 262 x
(to)S 260 x(cryptogr)S 2 x(aphicall)S 2 x(y)S 260 x(implem)S 2 x(ented)S
4945 X 648 y(strong)S 152 x(authenti)S 2 x(cation)S 152 x(and)S 152 x
(other)S 152 x(securi)S 2 x(ty)S 151 x(servi)S 2 x(ces)S 152 x(at)S
152 x(a)S 151 x(generi)S 2 x(c)S 151 x(level)S 153 x(which)S 151 x(is)S
152 x(independent)S 153 x(of)S 152 x(particul)S 2 x(ar)S 4945 X 647 y
(underlying)S 129 x(mechani)S 2 x(sms.)S 225 x(For)S 128 x(exampl)S
2 x(e,)S 139 x(GSS-AP)S -2 x(I-pr)S 2 x(ovided)S 128 x(servic)S 2 x
(es)S 128 x(can)S 129 x(be)S 128 x(impleme)S 2 x(nted)S 128 x(by)S 128 x
(secret)S 2 x(-key)S 4945 X 648 y(technologie)S 2 x(s)S 182 x(\(e.g.,)S
184 x(Kerberos\))S 184 x(or)S 183 x(public-)S 2 x(key)S 182 x(approac)S
2 x(hes)S 183 x(\(e.g.,)S 183 x(X.509\).)S 3899 X 896 y(\201)S 854 x
(Protocol)S 188 x(environment)S 189 x(independence:)S 253 x(The)S 187 x
(GSS-API)S 186 x(is)S 188 x(independent)S 188 x(of)S 187 x(the)S 188 x
(communica)S 2 x(tions)S 187 x(protocol)S 4945 X 648 y(suites)S 238 x
(with)S 236 x(which)S 237 x(it)S 237 x(is)S 237 x(employed,)S 251 x
(permi)S 2 x(tting)S 237 x(use)S 237 x(in)S 237 x(a)S 237 x(broad)S
237 x(range)S 237 x(of)S 237 x(protocol)S 238 x(environment)S 2 x(s.)S
405 x(In)S 4945 X 648 y(appropria)S 2 x(te)S 162 x(environments)S 2 x
(,)S 165 x(an)S 162 x(intermedi)S 2 x(ate)S 162 x(impleme)S 2 x(ntation)S
162 x("veneer")S 162 x(which)S 161 x(is)S 162 x(oriented)S 163 x(to)S
161 x(a)S 162 x(particul)S 2 x(ar)S 4945 X 647 y(communica)S 2 x(tion)S
263 x(protocol)S 263 x(\(e.g.,)S 283 x(RPC)S 263 x(or)S 262 x(ACSE\))S
263 x(may)S 262 x(be)S 263 x(interpose)S 2 x(d)S 262 x(between)S 263 x
(applicat)S 2 x(ions)S 262 x(and)S 263 x(the)S 4945 X 648 y(GSS-API,)S
182 x(invoking)S 183 x(GSS-API)S 182 x(facili)S 2 x(ties)S 183 x(in)S
183 x(conjuncti)S 2 x(on)S 182 x(with)S 183 x(the)S 184 x(selecte)S
2 x(d)S 182 x(protocol.)S 3899 X 896 y(\201)S 854 x(Protocol)S 254 x
(associa)S 2 x(tion)S 254 x(independence:)S 386 x(The)S 254 x(GSS-API')S
-31 x(s)S 254 x(securit)S 2 x(y)S 253 x(context)S 254 x(constr)S 2 x
(uct)S 254 x(is)S 253 x(independent)S 255 x(of)S 4945 X 648 y(communica)S
2 x(tions)S 219 x(protocol)S 219 x(associa)S 2 x(tion)S 218 x(constr)S
2 x(ucts.)S 351 x(This)S 218 x(charac)S 2 x(terist)S 2 x(ic)S 218 x
(allows)S 219 x(a)S 219 x(single)S 219 x(GSS-API)S 217 x(im-)S 4945 X
648 y(plementa)S 2 x(tion)S 190 x(to)S 190 x(be)S 190 x(utili)S 2 x
(zed)S 190 x(by)S 190 x(a)S 190 x(variety)S 191 x(of)S 190 x(invoking)S
191 x(protocol)S 191 x(modules)S 190 x(on)S 190 x(behalf)S 191 x(of)S
191 x(those)S 190 x(modules')S 4945 X 647 y(calli)S 2 x(ng)S 205 x(applicati)S
2 x(ons.)S 311 x(GSS-API)S 204 x(servic)S 2 x(es)S 205 x(can)S 206 x
(also)S 206 x(be)S 205 x(invoked)S 206 x(direct)S 2 x(ly)S 205 x(by)S
205 x(applica)S 2 x(tions,)S 211 x(wholly)S 205 x(inde-)S 4945 X 648 y
(pendent)S 183 x(of)S 183 x(protocol)S 184 x(associ)S 2 x(ations.)S
3899 34942 XY 6996 24 R 4123 35290 XY F90(1)S 225 x 141 y F86(This)S
164 x(security)S 164 x(service)S 164 x(de\211nition,)S 171 x(and)S 164 x
(other)S 164 x(de\211nitions)S 164 x(used)S 165 x(in)S 164 x(this)S
164 x(document,)S 172 x(corresponds)S 165 x(to)S 164 x(that)S 163 x
(provided)S 165 x(in)S 164 x(International)S 164 x(Standard)S 163 x
(ISO)S 4497 X 448 y(7498-2-1988\(E)S 2 x(\),)S 132 x(Security)S 132 x
(Architecture)S -2 x(.)S 23085 37554 XY F36(1)S -27 x(1\203June\2031991)S
498 x(1)S
%%EndCustomColor: 0
1 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 2 2
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 3899 2106 XY F40(Generic)S 150 x(Security)S 150 x(Service)S 151 x
(API:)S 149 x(Internet-Dra)S 2 x(ft)S 3899 X 548 y(Common)S 148 x(Authentication)S
150 x(T)S -34 x(echnology)S 150 x(WG:)S 150 x(John)S 149 x(Linn)S 149 x
(\(DEC\))S 3899 3976 XY F74(\201)S 854 x(Suitabilit)S 2 x(y)S 184 x
(to)S 184 x(a)S 184 x(range)S 184 x(of)S 185 x(impleme)S 2 x(ntation)S
184 x(place)S 2 x(ments:)S 247 x(GSS-AP)S -2 x(I)S 185 x(clients)S 185 x
(are)S 185 x(not)S 184 x(constra)S 2 x(ined)S 184 x(to)S 184 x(reside)S
4945 X 648 y(within)S 214 x(any)S 214 x(T)S -20 x(rusted)S 215 x(Computing)S
214 x(Base)S 215 x(\(TCB\))S 215 x(perime)S 2 x(ter)S 214 x(de\211ned)S
214 x(on)S 213 x(a)S 214 x(system)S 214 x(where)S 214 x(the)S 214 x
(GSS-API)S 213 x(is)S 4945 X 648 y(impleme)S 2 x(nted;)S 181 x(securit)S
2 x(y)S 179 x(service)S 2 x(s)S 179 x(are)S 180 x(speci\211ed)S 180 x
(in)S 180 x(a)S 179 x(manner)S 181 x(suitable)S 181 x(to)S 179 x(both)S
180 x(intra-)S 2 x(TCB)S 179 x(and)S 180 x(extra-)S 2 x(TCB)S 4945 X
647 y(caller)S 2 x(s.)S 3899 7414 XY F32(1.1)S 547 x(GSS)S 2 x(-API)S
183 x(Constructs)S 3899 8410 XY F74(This)S 183 x(section)S 184 x(describe)S
2 x(s)S 182 x(basic)S 184 x(element)S 2 x(s)S 183 x(comprising)S 184 x
(the)S 183 x(GSS-API.)S 3899 9805 XY F32(1.1.1)S 547 x(Credentials)S
3899 X 896 y F74(Credent)S 2 x(ials)S 219 x(structur)S 2 x(es)S 218 x
(provide)S 219 x(the)S 219 x(prerequi)S 2 x(sites)S 219 x(enabling)S
219 x(peers)S 219 x(to)S 218 x(establ)S 2 x(ish)S 218 x(securi)S 2 x
(ty)S 218 x(contexts)S 219 x(with)S 219 x(each)S 3899 X 648 y(other)S
-29 x(.)S 399 x(GSS)S -2 x(-API)S 235 x(calle)S 2 x(rs)S 235 x(refer)S
2 x(ence)S 235 x(credenti)S 2 x(als)S 235 x(structur)S 2 x(es)S 235 x
(indirect)S 2 x(ly)S -36 x(,)S 248 x(through)S 235 x(explicit)S 236 x
(GSS-API-provided)S 3899 X 647 y(credenti)S 2 x(al)S 210 x(handles)S
210 x(\("cred_handl)S 2 x(es"\).)S 324 x(Alternative)S 2 x(ly)S -36 x
(,)S 216 x(a)S 210 x(caller)S 211 x(may)S 210 x(designate)S 211 x(that)S
210 x(its)S 210 x(defaul)S 2 x(t)S 209 x(crede)S 2 x(ntial)S 210 x(be)S
3899 X 648 y(used)S 183 x(for)S 183 x(context)S 184 x(establ)S 2 x(ishment)S
184 x(calls)S 184 x(without)S 183 x(presenti)S 2 x(ng)S 182 x(an)S 183 x
(explici)S 2 x(t)S 183 x(handle)S 183 x(to)S 183 x(that)S 184 x(credenti)S
2 x(al.)S 3899 13640 XY(A)S 176 x(single)S 177 x(crede)S 2 x(ntial)S
177 x(struc)S 2 x(ture)S 177 x(may)S 177 x(be)S 177 x(used)S 177 x(for)S
177 x(initia)S 2 x(tion)S 177 x(of)S 177 x(outbound)S 176 x(contexts)S
178 x(and)S 177 x(acceptanc)S 2 x(e)S 176 x(of)S 177 x(inbound)S 3899 X
648 y(contexts.)S 440 x(Caller)S 2 x(s)S 248 x(needing)S 248 x(to)S
248 x(operat)S 2 x(e)S 247 x(in)S 248 x(only)S 248 x(one)S 248 x(of)S
248 x(these)S 249 x(modes)S 248 x(may)S 249 x(designate)S 249 x(this)S
248 x(fact)S 249 x(when)S 248 x(cre-)S 3899 X 647 y(dentials)S 192 x
(are)S 192 x(acquired)S 192 x(for)S 191 x(use,)S 193 x(allowing)S 192 x
(underlying)S 191 x(mechani)S 2 x(sms)S 191 x(to)S 191 x(optimize)S
192 x(their)S 192 x(processi)S 2 x(ng)S 190 x(and)S 191 x(storage)S
3899 X 648 y(require)S 2 x(ments.)S 3899 16579 XY(A)S 163 x(single)S
164 x(credenti)S 2 x(al)S 163 x(struc)S 2 x(ture)S 164 x(may)S 163 x
(accom)S 2 x(odate)S 164 x(credentia)S 2 x(l)S 163 x(inform)S 2 x(ation)S
164 x(associat)S 2 x(ed)S 163 x(with)S 163 x(multi)S 2 x(ple)S 163 x
(underlyi)S 2 x(ng)S 3899 X 648 y(mechanism)S 2 x(s)S 185 x(\(mech_type)S
2 x(s\);)S 186 x(a)S 185 x(crede)S 2 x(ntial)S 186 x(structur)S 2 x
(e')S -30 x(s)S 185 x(contents)S 186 x(will)S 186 x(vary)S 185 x(depending)S
186 x(on)S 184 x(the)S 186 x(set)S 185 x(of)S 185 x(supported)S 3899 X
647 y(mech_types.)S 442 x(Commonly)S -34 x(,)S 264 x(a)S 249 x(single)S
249 x(mech_type)S 250 x(will)S 249 x(be)S 249 x(used)S 248 x(for)S 249 x
(all)S 250 x(securit)S 2 x(y)S 248 x(contexts)S 250 x(establishe)S 2 x
(d)S 248 x(by)S 248 x(a)S 3899 X 648 y(partic)S 2 x(ular)S 209 x(initiator)S
210 x(to)S 208 x(a)S 208 x(part)S 2 x(icular)S 209 x(tar)S -9 x(get;)S
222 x(the)S 209 x(primary)S 209 x(motivat)S 2 x(ion)S 208 x(for)S 209 x
(supporting)S 209 x(credent)S 2 x(ials)S 209 x(for)S 209 x(multiple)S
3899 X 647 y(mech_types)S 243 x(is)S 241 x(to)S 242 x(allow)S 241 x
(initi)S 2 x(ators)S 242 x(on)S 241 x(systems)S 243 x(which)S 241 x
(are)S 242 x(equipped)S 242 x(to)S 242 x(handle)S 242 x(multiple)S 243 x
(types)S 242 x(to)S 241 x(initi)S 2 x(ate)S 3899 X 648 y(contexts)S
233 x(to)S 231 x(tar)S -8 x(gets)S 232 x(on)S 231 x(other)S 233 x(systems)S
232 x(which)S 232 x(can)S 232 x(accomodat)S 2 x(e)S 231 x(only)S 232 x
(a)S 232 x(subset)S 232 x(of)S 232 x(the)S 232 x(set)S 232 x(supported)S
233 x(at)S 232 x(the)S 3899 X 648 y(initiat)S 2 x(or)S 20 x(')S -29 x
(s)S 183 x(system.)S 3899 21461 XY(It)S 188 x(is)S 187 x(the)S 188 x
(responsibil)S 2 x(ity)S 187 x(of)S 188 x(underlying)S 188 x(system-)S
2 x(speci\211c)S 188 x(mechanisms)S 189 x(and)S 187 x(OS)S 186 x(functions)S
189 x(below)S 187 x(the)S 187 x(GSS-API)S 3899 X 647 y(to)S 174 x(ensure)S
174 x(that)S 175 x(the)S 174 x(abilit)S 2 x(y)S 173 x(to)S 174 x(acquire)S
175 x(and)S 174 x(use)S 174 x(credenti)S 2 x(als)S 174 x(associa)S 2 x
(ted)S 174 x(with)S 174 x(a)S 173 x(given)S 174 x(identi)S 2 x(ty)S
174 x(is)S 174 x(constraine)S 2 x(d)S 173 x(to)S 3899 X 648 y(appropria)S
2 x(te)S 160 x(processe)S 2 x(s)S 159 x(within)S 161 x(a)S 160 x(system.)S
237 x(This)S 160 x(responsibil)S 2 x(ity)S 160 x(should)S 160 x(be)S
160 x(taken)S 161 x(seriousl)S 2 x(y)S 159 x(by)S 160 x(implem)S 2 x
(entors,)S 165 x(as)S 3899 X 648 y(the)S 133 x(ability)S 134 x(for)S
133 x(an)S 132 x(entity)S 134 x(to)S 132 x(utili)S 2 x(ze)S 132 x(a)S
133 x(principa)S 2 x(l')S -30 x(s)S 133 x(credenti)S 2 x(als)S 133 x
(is)S 132 x(equivale)S 2 x(nt)S 132 x(to)S 133 x(the)S 133 x(entity')S
-29 x(s)S 133 x(ability)S 134 x(to)S 132 x(successf)S 2 x(ully)S 3899 X
647 y(assert)S 184 x(that)S 184 x(principal)S 2 x(')S -30 x(s)S 183 x
(identity)S -34 x(.)S 3899 25047 XY(Once)S 259 x(a)S 260 x(set)S 260 x
(of)S 260 x(GSS-API)S 259 x(credentia)S 2 x(ls)S 260 x(is)S 259 x(esta)S
2 x(blished,)S 279 x(the)S 260 x(transf)S 2 x(erabili)S 2 x(ty)S 259 x
(of)S 260 x(that)S 261 x(credentia)S 2 x(ls)S 260 x(set)S 260 x(to)S
259 x(other)S 3899 X 648 y(processes)S 223 x(or)S 222 x(analogous)S
222 x(construct)S 2 x(s)S 221 x(within)S 222 x(a)S 221 x(system)S 223 x
(is)S 221 x(a)S 222 x(local)S 222 x(matt)S 2 x(er)S -21 x(,)S 230 x
(not)S 222 x(de\211ned)S 221 x(by)S 222 x(the)S 221 x(GSS-API.)S 221 x
(An)S 3899 X 648 y(example)S 173 x(local)S 172 x(policy)S 173 x(would)S
171 x(be)S 171 x(one)S 172 x(in)S 172 x(which)S 171 x(any)S 172 x(credenti)S
2 x(als)S 172 x(recei)S 2 x(ved)S 171 x(as)S 172 x(a)S 172 x(result)S
173 x(of)S 171 x(login)S 172 x(to)S 172 x(a)S 172 x(given)S 172 x(user)S
3899 X 647 y(account,)S 163 x(or)S 157 x(of)S 158 x(delegati)S 2 x(on)S
157 x(of)S 157 x(rights)S 158 x(to)S 157 x(that)S 158 x(account,)S 163 x
(are)S 158 x(acce)S 2 x(ssible)S 158 x(by)S -36 x(,)S 162 x(or)S 157 x
(tra)S 2 x(nsferabl)S 2 x(e)S 157 x(to,)S 162 x(processe)S 2 x(s)S 157 x
(running)S 3899 X 648 y(under)S 183 x(that)S 184 x(account.)S 3899 28634 XY
(The)S 185 x(credent)S 2 x(ial)S 186 x(establishm)S 2 x(ent)S 185 x
(process)S 187 x(\(parti)S 2 x(cularly)S 186 x(when)S 185 x(perfor)S
2 x(med)S 185 x(on)S 185 x(behalf)S 187 x(of)S 185 x(users)S 186 x(rathe)S
2 x(r)S 185 x(than)S 186 x(server)S 3899 X 648 y(processes)S 2 x(\))S
185 x(is)S 185 x(likely)S 185 x(to)S 185 x(requir)S 2 x(e)S 185 x(access)S
186 x(to)S 185 x(passwords)S 185 x(or)S 185 x(other)S 185 x(quantit)S
2 x(ies)S 185 x(which)S 185 x(should)S 185 x(be)S 184 x(prote)S 2 x
(cted)S 185 x(locally)S 3899 X 647 y(and)S 244 x(exposed)S 245 x(for)S
245 x(the)S 245 x(shortest)S 246 x(time)S 245 x(possible)S 2 x(.)S 428 x
(As)S 244 x(a)S 244 x(resul)S 2 x(t,)S 260 x(it)S 244 x(will)S 245 x
(often)S 246 x(be)S 244 x(appropria)S 2 x(te)S 245 x(for)S 245 x(prelimi)S
2 x(nary)S 3899 X 648 y(credenti)S 2 x(al)S 127 x(establi)S 2 x(shment)S
127 x(to)S 127 x(be)S 127 x(perform)S 2 x(ed)S 127 x(through)S 127 x
(local)S 128 x(means)S 127 x(at)S 127 x(user)S 128 x(login)S 127 x(time.)S
226 x(The)S 126 x(resul)S 2 x(ting)S 127 x(prelimi)S 2 x(nary)S 3899 X
647 y(credenti)S 2 x(als)S 183 x(would)S 183 x(be)S 183 x(set)S 183 x
(aside)S 184 x(\(in)S 183 x(a)S 183 x(system-)S 2 x(speci\211c)S 183 x
(fashi)S 2 x(on\))S 183 x(for)S 183 x(subsequent)S 184 x(use,)S 183 x
(either)S 2 x(:)S 3899 X 897 y(\201)S 854 x(to)S 232 x(be)S 232 x(accesse)S
2 x(d)S 231 x(by)S 232 x(an)S 232 x(invocati)S 2 x(on)S 231 x(of)S 232 x
(the)S 233 x(GSS-AP)S -2 x(I)S 232 x(GSS_Acquire_cred)S(\()S 85 x(\))S
232 x(call,)S 245 x(retur)S 2 x(ning)S 232 x(an)S 232 x(explicit)S 4945 X
647 y(handle)S 183 x(to)S 183 x(ref)S 2 x(erence)S 184 x(that)S 183 x
(crede)S 2 x(ntial)S 3899 X 897 y(\201)S 854 x(as)S 183 x(the)S 183 x
(defaul)S 2 x(t)S 183 x(credenti)S 2 x(als)S 183 x(install)S 2 x(ed)S
183 x(on)S 182 x(behalf)S 184 x(of)S 183 x(a)S 183 x(process)S 3899 37373 XY
F36(2)S 498 x(1)S -27 x(1\203June\2031991)S
%%EndCustomColor: 0
2 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 3 3
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 17844 2106 XY F40(Generic)S 150 x(Security)S 151 x(Service)S 150 x
(API:)S 149 x(Internet-)S 2 x(Draft)S 14568 X 548 y(Comm)S -2 x(on)S
150 x(Authentication)S 149 x(T)S -33 x(echnology)S 149 x(WG:)S 150 x
(John)S 150 x(Linn)S 148 x(\(DEC\))S 3899 3996 XY F32(1.1.2)S 547 x
(T)S -40 x(okens)S 3899 X 896 y F74(T)S -39 x(okens)S 138 x(are)S 137 x
(data)S 138 x(eleme)S 2 x(nts)S 137 x(transf)S 2 x(erred)S 138 x(between)S
138 x(GSS-AP)S -2 x(I)S 138 x(caller)S 2 x(s,)S 146 x(and)S 137 x(are)S
138 x(divided)S 137 x(into)S 138 x(two)S 137 x(classes.)S 230 x(Context-)S
3899 X 648 y(level)S 241 x(tokens)S 240 x(are)S 241 x(exchanged)S 241 x
(in)S 240 x(order)S 241 x(to)S 240 x(establish)S 241 x(and)S 240 x(manage)S
241 x(a)S 240 x(securit)S 2 x(y)S 239 x(context)S 241 x(between)S 241 x
(peers.)S 416 x(Per)S -11 x(-)S 3899 X 647 y(message)S 189 x(tokens)S
187 x(are)S 189 x(exchanged)S 188 x(in)S 187 x(conjunct)S 2 x(ion)S
187 x(with)S 187 x(an)S 188 x(establi)S 2 x(shed)S 187 x(context)S 189 x
(to)S 187 x(provide)S 188 x(protec)S 2 x(tive)S 188 x(security)S 3899 X
648 y(service)S 2 x(s)S 175 x(for)S 176 x(corre)S 2 x(sponding)S 175 x
(data)S 176 x(messages)S 2 x(.)S 241 x(The)S 175 x(interna)S 2 x(l)S
175 x(contents)S 177 x(of)S 175 x(both)S 176 x(classes)S 176 x(of)S
176 x(tokens)S 176 x(are)S 176 x(speci\211c)S 176 x(to)S 3899 X 648 y
(the)S 135 x(partic)S 2 x(ular)S 135 x(underlyi)S 2 x(ng)S 134 x(mechani)S
2 x(sm)S 134 x(used)S 135 x(to)S 135 x(support)S 136 x(the)S 135 x(GSS-AP)S
-2 x(I;)S 136 x(Appendix)S 134 x(B)S 135 x(of)S 135 x(this)S 136 x(document)S
135 x(provides)S 3899 X 647 y(a)S 220 x(uniform)S 221 x(recomme)S 2 x
(ndation)S 220 x(for)S 220 x(designer)S 2 x(s)S 220 x(of)S 220 x(GSS-AP)S
-2 x(I)S 220 x(support)S 221 x(mechanisms)S 2 x(,)S 228 x(encapsul)S
2 x(ating)S 220 x(mechani)S 2 x(sm-)S 3899 X 648 y(speci\211c)S 183 x
(infor)S 2 x(mation)S 184 x(along)S 183 x(with)S 183 x(a)S 183 x(globally-i)S
2 x(nterpret)S 2 x(able)S 183 x(mechani)S 2 x(sm)S 183 x(identi\211er)S
-29 x(.)S 3899 9774 XY(T)S -39 x(okens)S 232 x(are)S 233 x(opaque)S
232 x(from)S 233 x(the)S 232 x(viewpoint)S 232 x(of)S 232 x(GSS-API)S
231 x(caller)S 2 x(s.)S 390 x(They)S 232 x(are)S 233 x(generated)S 233 x
(within)S 232 x(the)S 232 x(GSS-API)S 3899 X 648 y(impleme)S 2 x(ntation)S
199 x(at)S 199 x(an)S 199 x(end)S 199 x(system,)S 203 x(provided)S 200 x
(to)S 198 x(a)S 199 x(GSS-API)S 198 x(caller)S 200 x(to)S 199 x(be)S
199 x(transfer)S 2 x(red)S 199 x(to)S 199 x(the)S 199 x(peer)S 199 x
(GSS-API)S 3899 X 647 y(caller)S 165 x(at)S 164 x(a)S 163 x(rem)S 2 x
(ote)S 163 x(end)S 164 x(system,)S 168 x(and)S 164 x(processed)S 164 x
(by)S 164 x(the)S 163 x(GSS-API)S 163 x(impleme)S 2 x(ntation)S 164 x
(at)S 164 x(that)S 164 x(remote)S 165 x(end)S 163 x(system.)S 3899 X
648 y(T)S -39 x(okens)S 172 x(may)S 171 x(be)S 171 x(output)S 172 x
(by)S 170 x(GSS-API)S 170 x(primi)S 2 x(tives)S 172 x(\(and)S 171 x
(are)S 172 x(to)S 171 x(be)S 171 x(tra)S 2 x(nsferre)S 2 x(d)S 170 x
(to)S 172 x(GSS-AP)S -2 x(I)S 172 x(peers\))S 172 x(independent)S 3899 X
647 y(of)S 211 x(the)S 211 x(status)S 212 x(indica)S 2 x(tions)S 211 x
(which)S 211 x(those)S 211 x(primi)S 2 x(tives)S 212 x(indicate.)S 329 x
(T)S -38 x(oken)S 210 x(tra)S 2 x(nsfer)S 212 x(may)S 211 x(take)S 212 x
(place)S 211 x(in)S 211 x(an)S 211 x(in-ba)S 2 x(nd)S 3899 X 648 y(manner)S
-21 x(,)S 205 x(integrat)S 2 x(ed)S 200 x(into)S 200 x(the)S 201 x(same)S
201 x(protocol)S 201 x(strea)S 2 x(m)S 200 x(used)S 200 x(by)S 200 x
(the)S 201 x(GSS-API)S 199 x(calle)S 2 x(rs)S 200 x(for)S 201 x(other)S
201 x(data)S 201 x(transf)S 2 x(ers,)S 3899 X 647 y(or)S 183 x(in)S
183 x(an)S 183 x(out-of-ba)S 2 x(nd)S 182 x(manner)S 184 x(across)S
184 x(a)S 183 x(logical)S 2 x(ly)S 183 x(separate)S 184 x(channel.)S
3899 14656 XY(Development)S 209 x(of)S 207 x(GSS-API)S 207 x(support)S
208 x(primit)S 2 x(ives)S 208 x(based)S 208 x(on)S 207 x(a)S 208 x(particul)S
2 x(ar)S 208 x(underlying)S 208 x(cryptogr)S 2 x(aphic)S 208 x(technique)S
3899 X 647 y(and)S 206 x(protocol)S 207 x(does)S 206 x(not)S 206 x(necessa)S
2 x(rily)S 206 x(imply)S 207 x(that)S 207 x(GSS-AP)S -2 x(I)S 207 x
(caller)S 2 x(s)S 205 x(invoking)S 207 x(that)S 206 x(GSS-API)S 205 x
(mechani)S 2 x(sm)S 206 x(type)S 3899 X 648 y(will)S 262 x(be)S 262 x
(able)S 262 x(to)S 262 x(inter)S 2 x(operate)S 263 x(with)S 262 x(peers)S
263 x(invoking)S 262 x(the)S 262 x(same)S 262 x(techni)S 2 x(que)S 262 x
(and)S 261 x(protocol)S 263 x(outside)S 263 x(the)S 262 x(GSS-)S 3899 X
647 y(API)S 233 x(paradigm.)S 396 x(For)S 233 x(example)S 2 x(,)S 245 x
(the)S 234 x(format)S 235 x(of)S 233 x(GSS-API)S 232 x(tokens)S 234 x
(de\211ned)S 233 x(in)S 234 x(conjunction)S 234 x(with)S 233 x(a)S 234 x
(particul)S 2 x(ar)S 3899 X 648 y(mechanism)S 2 x(,)S 241 x(and)S 230 x
(the)S 230 x(technique)S 2 x(s)S 229 x(used)S 230 x(to)S 230 x(integr)S
2 x(ate)S 230 x(those)S 230 x(tokens)S 231 x(into)S 230 x(caller)S 2 x
(s')S 230 x(protocols)S 2 x(,)S 241 x(may)S 230 x(not)S 230 x(be)S 230 x
(the)S 3899 X 647 y(same)S 184 x(as)S 183 x(those)S 183 x(used)S 183 x
(by)S 183 x(non-GSS-API)S 182 x(caller)S 2 x(s)S 183 x(of)S 183 x(the)S
183 x(same)S 184 x(underlying)S 183 x(techni)S 2 x(que.)S 3899 19288 XY
F32(1.1.3)S 547 x(Security)S 183 x(Contexts)S 3899 X 897 y F74(Security)S
164 x(contexts)S 165 x(are)S 164 x(establi)S 2 x(shed)S 163 x(between)S
164 x(peers,)S 168 x(using)S 164 x(credenti)S 2 x(als)S 163 x(esta)S
2 x(blished)S 164 x(locally)S 164 x(in)S 164 x(conjunction)S 164 x(with)S
3899 X 647 y(each)S 150 x(peer)S 151 x(or)S 150 x(rece)S 2 x(ived)S
150 x(by)S 149 x(peers)S 151 x(via)S 150 x(delega)S 2 x(tion.)S 233 x
(Multiple)S 151 x(contexts)S 151 x(may)S 150 x(exist)S 151 x(simulta)S
2 x(neously)S 150 x(between)S 150 x(a)S 150 x(pair)S 3899 X 648 y(of)S
169 x(peers,)S 173 x(using)S 169 x(the)S 170 x(same)S 170 x(or)S 169 x
(dif)S -9 x(ferent)S 170 x(sets)S 170 x(of)S 169 x(cre)S 2 x(dentials.)S
240 x(Coexist)S 2 x(ence)S 169 x(of)S 170 x(multiple)S 170 x(contexts)S
170 x(using)S 170 x(dif)S -9 x(ferent)S 3899 X 648 y(credenti)S 2 x
(als)S 184 x(allows)S 185 x(graceful)S 185 x(rollove)S 2 x(r)S 184 x
(when)S 183 x(crede)S 2 x(ntials)S 185 x(expire.)S 248 x(Distinction)S
185 x(among)S 184 x(multi)S 2 x(ple)S 184 x(contexts)S 185 x(based)S
3899 X 647 y(on)S 239 x(the)S 240 x(same)S 241 x(credenti)S 2 x(als)S
240 x(serves)S 241 x(applicati)S 2 x(ons)S 239 x(by)S 240 x(distinguishing)S
241 x(dif)S -9 x(ferent)S 241 x(message)S 241 x(stream)S 2 x(s)S 239 x
(in)S 240 x(a)S 240 x(security)S 3899 X 648 y(sense.)S 3899 24419 XY
(The)S 157 x(GSS-API)S 156 x(is)S 158 x(independent)S 158 x(of)S 158 x
(underlying)S 158 x(protocol)S 2 x(s)S 157 x(and)S 157 x(addressi)S
2 x(ng)S 157 x(structur)S 2 x(e,)S 162 x(and)S 158 x(depends)S 157 x
(on)S 157 x(its)S 158 x(call)S 2 x(ers)S 3899 X 648 y(to)S 179 x(transport)S
180 x(GSS-API-provided)S 179 x(data)S 179 x(elem)S 2 x(ents.)S 242 x
(As)S 179 x(a)S 178 x(resul)S 2 x(t)S 178 x(of)S 179 x(these)S 180 x
(factor)S 2 x(s,)S 179 x(it)S 179 x(is)S 179 x(a)S 179 x(caller)S 180 x
(responsibi)S 2 x(lity)S 179 x(to)S 3899 X 647 y(parse)S 148 x(communic)S
2 x(ated)S 148 x(messages,)S 156 x(separati)S 2 x(ng)S 147 x(GSS-API-related)S
149 x(data)S 148 x(elements)S 149 x(from)S 148 x(calle)S 2 x(r)S -11 x
(-provide)S 2 x(d)S 147 x(data.)S 232 x(The)S 3899 X 648 y(GSS-API)S
174 x(is)S 175 x(independent)S 177 x(of)S 175 x(connection)S 176 x(vs.)S
241 x(connect)S 2 x(ionless)S 176 x(orientat)S 2 x(ion)S 175 x(of)S
175 x(the)S 176 x(underlying)S 176 x(communica)S 2 x(tions)S 3899 X
647 y(service)S 2 x(.)S 3899 28006 XY(No)S 252 x(corr)S 2 x(elation)S
254 x(between)S 254 x(securit)S 2 x(y)S 253 x(context)S 254 x(and)S
253 x(communic)S 2 x(ations)S 254 x(protocol)S 254 x(associat)S 2 x
(ion)S 253 x(is)S 254 x(dictated)S -181 y F86(2)S 27 x 181 y F74(.)S
454 x(This)S 3899 X 647 y(separat)S 2 x(ion)S 207 x(allows)S 208 x(the)S
208 x(GSS-API)S 207 x(to)S 208 x(be)S 207 x(used)S 208 x(in)S 208 x
(a)S 208 x(wide)S 207 x(range)S 209 x(of)S 208 x(communicat)S 2 x(ions)S
207 x(environm)S 2 x(ents,)S 214 x(and)S 208 x(also)S 3899 X 648 y(simpli\211es)S
164 x(the)S 164 x(calli)S 2 x(ng)S 163 x(sequences)S 164 x(of)S 163 x
(the)S 164 x(individual)S 165 x(calls.)S 238 x(In)S 163 x(many)S 164 x
(cases)S 164 x(\(depending)S 164 x(on)S 163 x(underlyi)S 2 x(ng)S 163 x
(security)S 3899 X 647 y(protocol,)S 208 x(associat)S 2 x(ed)S 202 x
(mechanis)S 2 x(m,)S 207 x(and)S 202 x(availabi)S 2 x(lity)S 202 x(of)S
203 x(cached)S 203 x(informa)S 2 x(tion\),)S 208 x(the)S 202 x(state)S
203 x(infor)S 2 x(mation)S 203 x(required)S 3899 X 648 y(for)S 214 x
(context)S 215 x(setup)S 214 x(can)S 214 x(be)S 213 x(sent)S 215 x(concurrent)S
2 x(ly)S 213 x(with)S 214 x(initia)S 2 x(l)S 213 x(signed)S 214 x(user)S
215 x(data,)S 222 x(without)S 214 x(interposing)S 215 x(additional)S
3899 X 647 y(message)S 184 x(exchanges.)S 3899 34942 XY 6996 24 R 4123 35290 XY
F90(2)S 225 x 141 y F86(The)S 114 x(optional)S 113 x(channel)S 114 x
(binding)S 114 x(facility)S -27 x(,)S 117 x(discussed)S 114 x(in)S 113 x
(Section)S 113 x(1.1.6)S 113 x(of)S 113 x(this)S 113 x(document,)S 118 x
(represents)S 113 x(an)S 113 x(intentional)S 113 x(exception)S 114 x
(to)S 113 x(this)S 113 x(rule,)S 117 x(supporting)S 4497 X 448 y(additional)S
132 x(protection)S 133 x(features)S 132 x(within)S 133 x(GSS-)S -2 x
(API)S 132 x(supporting)S 134 x(mechanisms.)S 23085 37554 XY F36(1)S
-27 x(1\203June\2031991)S 498 x(3)S
%%EndCustomColor: 0
3 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 4 4
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 3899 2106 XY F40(Generic)S 150 x(Security)S 150 x(Service)S 151 x
(API:)S 149 x(Internet-Dra)S 2 x(ft)S 3899 X 548 y(Common)S 148 x(Authentication)S
150 x(T)S -34 x(echnology)S 150 x(WG:)S 150 x(John)S 149 x(Linn)S 149 x
(\(DEC\))S 3899 3996 XY F32(1.1.4)S 547 x(Mechanism)S 182 x(T)S -41 x
(ypes)S 3899 X 896 y F74(In)S 129 x(order)S 130 x(to)S 129 x(initia)S
2 x(te)S 129 x(a)S 129 x(securi)S 2 x(ty)S 129 x(context)S 130 x(with)S
129 x(a)S 129 x(tar)S -9 x(get)S 129 x(peer)S -20 x(,)S 139 x(it)S 130 x
(is)S 129 x(necessar)S 2 x(y)S 128 x(to)S 130 x(identify)S 130 x(an)S
129 x(appropri)S 2 x(ate)S 129 x(underlyi)S 2 x(ng)S 3899 X 648 y(mechanism)S
200 x(type)S 198 x(\(mec)S 2 x(h_type\))S 199 x(which)S 198 x(is)S 198 x
(shared)S -181 y F86(3)S 224 x 181 y F74(with)S 199 x(that)S 199 x(peer)S
-30 x(.)S 290 x(It)S 199 x(is)S 198 x(recomm)S 2 x(ended)S 198 x(that)S
199 x(calle)S 2 x(rs)S 198 x(initi)S 2 x(ating)S 3899 X 647 y(contexts)S
238 x(use)S 236 x(a)S 237 x(default)S 238 x(mech_type)S 238 x(value,)S
251 x(allowing)S 237 x(system-)S 2 x(speci\211c)S 237 x(functions)S
238 x(within)S 237 x(or)S 237 x(invoked)S 237 x(by)S 236 x(the)S 3899 X
648 y(GSS-API)S 224 x(impleme)S 2 x(ntation)S 226 x(to)S 225 x(selec)S
2 x(t)S 225 x(the)S 226 x(appropriat)S 2 x(e)S 225 x(mech_type,)S 237 x
(but)S 225 x(calle)S 2 x(rs)S 225 x(may)S 226 x(direct)S 227 x(that)S
225 x(a)S 226 x(particul)S 2 x(ar)S 3899 X 648 y(mech_type)S 184 x(be)S
183 x(employed)S 184 x(when)S 182 x(necessar)S 2 x(y)S -36 x(.)S 3899 8479 XY
(The)S 199 x(means)S 199 x(for)S 200 x(identif)S 2 x(ying)S 198 x(a)S
199 x(mech_t)S 2 x(ype)S 198 x(for)S 200 x(use)S 199 x(in)S 199 x(establi)S
2 x(shing)S 199 x(a)S 199 x(securit)S 2 x(y)S 198 x(context)S 200 x
(with)S 199 x(a)S 199 x(peer)S 200 x(will)S 199 x(vary)S 3899 X 647 y
(in)S 183 x(dif)S -9 x(ferent)S 184 x(environme)S 2 x(nts)S 183 x(and)S
183 x(circums)S 2 x(tances;)S 184 x(examples)S 184 x(include)S 184 x
(\(but)S 183 x(are)S 184 x(not)S 183 x(limite)S 2 x(d)S 182 x(to\):)S
3899 X 897 y(\201)S 854 x(use)S 183 x(of)S 183 x(a)S 183 x(\211xed)S
183 x(mech_type,)S 184 x(de\211ned)S 182 x(by)S 183 x(con\211guration,)S
184 x(within)S 183 x(an)S 183 x(environment)S 3899 X 897 y(\201)S 854 x
(syntacti)S 2 x(c)S 183 x(convention)S 183 x(on)S 183 x(a)S 183 x(tar)S
-9 x(get-spec)S 2 x(i\211c)S 183 x(basis,)S 183 x(through)S 184 x(examinati)S
2 x(on)S 182 x(of)S 183 x(a)S 183 x(tar)S -9 x(get')S -29 x(s)S 183 x
(name)S 3899 X 896 y(\201)S 854 x(lookup)S 224 x(of)S 225 x(a)S 225 x
(tar)S -9 x(get')S -29 x(s)S 224 x(name)S 226 x(in)S 224 x(a)S 225 x
(naming)S 225 x(servic)S 2 x(e)S 224 x(or)S 225 x(other)S 225 x(databas)S
2 x(e)S 224 x(in)S 225 x(order)S 225 x(to)S 225 x(identif)S 2 x(y)S
224 x(mech_types)S 4945 X 648 y(supported)S 184 x(by)S 182 x(that)S
184 x(tar)S -9 x(get)S 3899 X 896 y(\201)S 854 x(explicit)S 184 x(negotia)S
2 x(tion)S 183 x(between)S 183 x(GSS-API)S 182 x(calle)S 2 x(rs)S 183 x
(in)S 183 x(advance)S 183 x(of)S 184 x(security)S 184 x(context)S 184 x
(setup)S 3899 14456 XY(When)S 229 x(transf)S 2 x(erred)S 230 x(between)S
229 x(GSS-API)S 228 x(peers,)S 241 x(mech_type)S 230 x(speci\211ers)S
230 x(serve)S 230 x(to)S 229 x(qualify)S 230 x(the)S 229 x(interpr)S
2 x(etation)S 230 x(of)S 3899 X 648 y(associat)S 2 x(ed)S 173 x(tokens.)S
241 x(T)S -38 x(o)S 173 x(preclude)S 175 x(ambiguous)S 174 x(interpr)S
2 x(etation)S 174 x(of)S 174 x(mech_type)S 175 x(speci\211ers,)S 176 x
(use)S 174 x(of)S 173 x(a)S 174 x(centra)S 2 x(lized)S 174 x(or)S 3899 X
648 y(hierar)S 2 x(chicall)S 2 x(y)S 182 x(struct)S 2 x(ured)S 183 x
(regist)S 2 x(ry)S 183 x(for)S 183 x(such)S 183 x(speci\211er)S 2 x
(s')S 183 x(values)S 184 x(is)S 183 x(appropriat)S 2 x(e.)S 3899 16748 XY
(It)S 166 x(is)S 165 x(appropri)S 2 x(ate)S 165 x(to)S 166 x(provide)S
166 x(some)S 165 x(guidance)S 166 x(and)S 166 x(examples)S 166 x(for)S
166 x(alloca)S 2 x(tion)S 165 x(of)S 166 x(mech_type)S 166 x(speci\211ers)S
167 x(to)S 165 x(dif)S -9 x(fer-)S 3899 X 647 y(ent)S 170 x(combinati)S
2 x(ons)S 169 x(of)S 170 x(underlyi)S 2 x(ng)S 169 x(cryptogr)S 2 x
(aphic)S 170 x(mechanism)S 2 x(s)S 169 x(and)S 170 x(protocols)S 2 x
(.)S 239 x(Minimall)S 2 x(y)S -36 x(,)S 172 x(mechani)S 2 x(sms)S 170 x
(based)S 3899 X 648 y(on)S 147 x(incompatibl)S 2 x(e)S 147 x(cryptographi)S
2 x(c)S 147 x(techniques)S 148 x(should)S 147 x(be)S 147 x(disti)S 2 x
(nguished)S 147 x(with)S 147 x(dif)S -9 x(ferent)S 148 x(mech_t)S 2 x
(ypes;)S 159 x(a)S 147 x(pure)S 148 x(Ker-)S 3899 X 648 y(beros)S 146 x
(imple)S 2 x(mentation,)S 154 x(for)S 147 x(example)S 2 x(,)S 153 x
(would)S 145 x(not)S 146 x(be)S 146 x(direct)S 2 x(ly)S 146 x(interoper)S
2 x(able)S 146 x(with)S 146 x(a)S 146 x(public-)S 2 x(key)S 145 x(imple)S
2 x(mentati)S 2 x(on)S 3899 X 647 y(of)S 183 x(X.509)S 182 x(strong)S
184 x(authentica)S 2 x(tion)S 183 x(and)S 183 x(should)S 183 x(be)S
183 x(distinguishe)S 2 x(d)S 182 x(with)S 183 x(a)S 183 x(separat)S
2 x(e)S 183 x(speci\211er)S -29 x(.)S 3899 20334 XY(Finer)S -10 x(-grained)S
182 x(mech_type)S 182 x(discri)S 2 x(mination)S 182 x(within)S 181 x
(class)S 2 x(es)S 181 x(which)S 181 x(are)S 181 x(based)S 182 x(on)S
181 x(common)S 181 x(cryptogr)S 2 x(aphic)S 181 x(tech-)S 3899 X 648 y
(niques)S 257 x(can)S 258 x(also)S 257 x(be)S 257 x(appropri)S 2 x(ate.)S
467 x(This)S 257 x(is)S 257 x(partic)S 2 x(ularly)S 258 x(true)S 258 x
(when)S 256 x(it)S 258 x(is)S 257 x(necessar)S 2 x(y)S 257 x(to)S 257 x
(distinguish)S 258 x(among)S 3899 X 647 y(dif)S -9 x(ferent)S 254 x
(securi)S 2 x(ty)S 253 x(protocols)S 254 x(requiri)S 2 x(ng)S 252 x
(exchange)S 254 x(of)S 253 x(dif)S -9 x(ferent)S 254 x(numbers)S 254 x
(of)S 253 x(messages)S 254 x(\(e.g.,)S 271 x(Kerberos)S 254 x(V5)S 3899 X
648 y(single-TGT)S 186 x(vs.)S 250 x(double-TGT)S 185 x(cases\))S 2 x
(.)S 250 x(In)S 185 x(this)S 186 x(example)S 2 x(,)S 185 x(given)S 186 x
(availabil)S 2 x(ity)S 185 x(of)S 186 x(a)S 185 x(direct)S 2 x(ory)S
185 x(or)S 185 x(other)S 186 x(means)S 186 x(to)S 3899 X 648 y(identif)S
2 x(y)S 151 x(a)S 151 x(prospect)S 2 x(ive)S 151 x(peer)S 22 x(')S -30 x
(s)S 151 x(supported)S 152 x(protocol)S 153 x(set)S 152 x(in)S 151 x
(advance,)S 159 x(mech_type)S 152 x(speci\211cat)S 2 x(ion)S 151 x(corre)S
2 x(sponding)S 151 x(to)S 3899 X 647 y(a)S 166 x(parti)S 2 x(cular)S
167 x(underlying)S 167 x(protocol)S 168 x(avoids)S 167 x(the)S 166 x
(need)S 167 x(to)S 166 x(exchange)S 167 x(unnecessa)S 2 x(ry)S 166 x
(peer)S -10 x(-peer)S 168 x(messages)S 168 x(in)S 166 x(order)S 167 x
(to)S 3899 X 648 y(dynamical)S 2 x(ly)S 184 x(discover)S 186 x(the)S
185 x(speci\211c)S 186 x(protocol)S 185 x(requi)S 2 x(red)S 185 x(to)S
184 x(establ)S 2 x(ish)S 185 x(a)S 184 x(parti)S 2 x(cular)S 186 x(context.)S
250 x(On)S 184 x(the)S 185 x(other)S 185 x(hand,)S 3899 X 647 y(if)S
193 x(an)S 193 x(environm)S 2 x(ent)S 193 x(had)S 193 x(no)S 193 x(out-of-ba)S
2 x(nd)S 192 x(means)S 194 x(availa)S 2 x(ble)S 193 x(to)S 193 x(determ)S
2 x(ine)S 193 x(the)S 193 x(speci\211c)S 194 x(protocol)S 194 x(requir)S
2 x(ed)S 193 x(for)S 193 x(a)S 3899 X 648 y(partic)S 2 x(ular)S 195 x
(peer)S -20 x(,)S 197 x(dynamic)S 196 x(negotiat)S 2 x(ion)S 195 x(embodied)S
196 x(in)S 195 x(de\211ned)S 195 x(tokens)S 195 x(of)S 196 x(a)S 195 x
("Kerberos-negoti)S 2 x(ated")S 195 x(mech_type)S 3899 X 647 y(could)S
183 x(be)S 183 x(appropria)S 2 x(te.)S 3899 27557 XY F32(1.1.5)S 547 x
(Naming)S 3899 X 897 y F74(The)S 146 x(GSS-AP)S -2 x(I)S 147 x(avoids)S
146 x(prescr)S 2 x(iption)S 146 x(of)S 146 x(naming)S 147 x(struct)S
2 x(ures,)S 154 x(treati)S 2 x(ng)S 145 x(the)S 147 x(names)S 146 x
(tra)S 2 x(nsferre)S 2 x(d)S 145 x(across)S 147 x(the)S 147 x(interf)S
2 x(ace)S 3899 X 647 y(in)S 167 x(order)S 167 x(to)S 167 x(initi)S 2 x
(ate)S 167 x(and)S 167 x(accept)S 168 x(securit)S 2 x(y)S 166 x(contexts)S
168 x(as)S 167 x(opaque)S 167 x(octet)S 168 x(string)S 168 x(quantitie)S
2 x(s.)S 238 x(This)S 167 x(approach)S 167 x(supports)S 3899 X 648 y
(the)S 153 x(GSS-API')S -30 x(s)S 152 x(goal)S 154 x(of)S 153 x(impleme)S
2 x(ntabilit)S 2 x(y)S 152 x(atop)S 153 x(a)S 153 x(range)S 154 x(of)S
153 x(underlyi)S 2 x(ng)S 152 x(securi)S 2 x(ty)S 153 x(mechanism)S
2 x(s,)S 158 x(recogni)S 2 x(zing)S 153 x(the)S 3899 X 648 y(fact)S
215 x(that)S 214 x(dif)S -9 x(fere)S 2 x(nt)S 213 x(mechani)S 2 x(sms)S
214 x(process)S 215 x(and)S 213 x(authenti)S 2 x(cate)S 214 x(names)S
215 x(which)S 213 x(are)S 215 x(presente)S 2 x(d)S 213 x(in)S 214 x
(dif)S -9 x(ferent)S 215 x(forms.)S 3899 X 647 y(Generaliz)S 2 x(ed)S
258 x(servic)S 2 x(es)S 258 x(of)S -9 x(fering)S 260 x(translat)S 2 x
(ion)S 258 x(functi)S 2 x(ons)S 258 x(among)S 259 x(arbitra)S 2 x(ry)S
258 x(sets)S 260 x(of)S 258 x(naming)S 259 x(environme)S 2 x(nts)S 258 x
(are)S 3899 X 648 y(outside)S 183 x(the)S 183 x(scope)S 183 x(of)S 183 x
(the)S 183 x(GSS-API;)S 182 x(avail)S 2 x(ability)S 184 x(and)S 182 x
(use)S 183 x(of)S 183 x(local)S 184 x(conversion)S 183 x(functi)S 2 x
(ons)S 182 x(to)S 183 x(transl)S 2 x(ate)S 183 x(among)S 3899 X 647 y
(the)S 183 x(naming)S 184 x(formats)S 184 x(supported)S 184 x(within)S
183 x(a)S 183 x(given)S 183 x(end)S 183 x(system)S 184 x(is)S 183 x
(antici)S 2 x(pated.)S 3899 34942 XY 6996 24 R 4123 35290 XY F90(3)S
225 x 141 y F86(The)S 170 x(set)S 169 x(of)S 169 x(mech_types)S 170 x
(which)S 169 x(an)S 169 x(entity)S 169 x(may)S 170 x(assert)S 169 x
(as)S 169 x(an)S 169 x(initiator)S 168 x(in)S 170 x(establishing)S 169 x
(contexts)S 170 x(to)S 169 x(others)S 169 x(need)S 170 x(not)S 169 x
(be)S 170 x(the)S 169 x(same)S 169 x(as)S 169 x(the)S 170 x(set)S 169 x
(of)S 4497 X 448 y(mech_types)S 133 x(with)S 133 x(which)S 132 x(it)S
133 x(can)S 133 x(accept)S 132 x(incoming)S 134 x(contexts)S 133 x(from)S
132 x(others.)S 3899 37554 XY F36(4)S 498 x(1)S -27 x(1\203June\2031991)S
%%EndCustomColor: 0
4 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 5 5
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 17844 2106 XY F40(Generic)S 150 x(Security)S 151 x(Service)S 150 x
(API:)S 149 x(Internet-)S 2 x(Draft)S 14568 X 548 y(Comm)S -2 x(on)S
150 x(Authentication)S 149 x(T)S -33 x(echnology)S 149 x(WG:)S 150 x
(John)S 150 x(Linn)S 148 x(\(DEC\))S 3899 3976 XY F74(T)S -39 x(wo)S
160 x(disti)S 2 x(nct)S 161 x(classes)S 162 x(of)S 161 x(name)S 161 x
(repres)S 2 x(entations)S 162 x(are)S 161 x(used)S 161 x(in)S 161 x
(conjunction)S 162 x(with)S 161 x(dif)S -10 x(fer)S 2 x(ent)S 161 x
(GSS-AP)S -2 x(I)S 161 x(param)S 2 x(eters:)S 3899 X 897 y(\201)S 854 x
(a)S 246 x(printa)S 2 x(ble)S 246 x(form)S 248 x(\(denoted)S 247 x(by)S
246 x(OCTET)S 246 x(STRING\),)S 246 x(for)S 247 x(accept)S 2 x(ance)S
246 x(from)S 248 x(and)S 246 x(present)S 2 x(ation)S 247 x(to)S 246 x
(users;)S 4945 X 648 y(printabl)S 2 x(e)S 161 x(name)S 162 x(form)S
2 x(s)S 161 x(are)S 162 x(accompa)S 2 x(nied)S 162 x(by)S 161 x(OBJECT)S
161 x(IDENTIFIER)S 162 x(tags)S 162 x(identif)S 2 x(ying)S 161 x(the)S
162 x(namespac)S 2 x(e)S 161 x(to)S 4945 X 647 y(which)S 183 x(they)S
183 x(corres)S 2 x(pond)S 3899 X 897 y(\201)S 854 x(an)S 251 x(interna)S
2 x(l)S 251 x(form)S 252 x(\(denoted)S 252 x(by)S 250 x(INTERNAL)S 250 x
(NAME\),)S 250 x(opaque)S 252 x(to)S 251 x(caller)S 2 x(s)S 250 x(and)S
251 x(de\211ned)S 251 x(by)S 251 x(individual)S 4945 X 647 y(GSS-API)S
183 x(imple)S 2 x(mentations;)S 187 x(GSS-AP)S -2 x(I)S 185 x(implem)S
2 x(entations)S 186 x(supporting)S 185 x(multiple)S 186 x(namespac)S
2 x(e)S 184 x(types)S 185 x(are)S 185 x(re-)S 4945 X 648 y(sponsible)S
184 x(for)S 183 x(maint)S 2 x(aining)S 183 x(interna)S 2 x(l)S 183 x
(tags)S 183 x(to)S 183 x(disambigua)S 2 x(te)S 183 x(the)S 183 x(interpr)S
2 x(etation)S 184 x(of)S 183 x(parti)S 2 x(cular)S 183 x(names)S 3899 9456 XY
(T)S -39 x(agging)S 126 x(of)S 125 x(printable)S 126 x(names)S 126 x
(allows)S 125 x(GSS-API)S 124 x(calle)S 2 x(rs)S 125 x(and)S 125 x(underlying)S
126 x(GSS-AP)S -2 x(I)S 126 x(mechanisms)S 126 x(to)S 125 x(disambi)S
2 x(guate)S 3899 X 647 y(name)S 269 x(types)S 269 x(and)S 268 x(to)S
269 x(determ)S 2 x(ine)S 268 x(whether)S 270 x(an)S 268 x(associa)S
2 x(ted)S 268 x(name')S -28 x(s)S 268 x(type)S 269 x(is)S 268 x(one)S
269 x(which)S 268 x(they)S 269 x(are)S 269 x(capable)S 270 x(of)S 3899 X
648 y(processing,)S 180 x(avoiding)S 178 x(aliasi)S 2 x(ng)S 177 x(problems)S
179 x(which)S 177 x(could)S 178 x(result)S 179 x(from)S 179 x(misinter)S
2 x(preting)S 178 x(a)S 178 x(name)S 178 x(of)S 178 x(one)S 178 x(type)S
177 x(as)S 178 x(a)S 3899 X 648 y(name)S 183 x(of)S 183 x(another)S
184 x(type.)S 3899 12395 XY(In)S 204 x(addition)S 204 x(to)S 204 x(providing)S
204 x(means)S 204 x(for)S 205 x(names)S 204 x(to)S 204 x(be)S 203 x
(tagged)S 204 x(with)S 204 x(types,)S 209 x(this)S 204 x(speci\211cat)S
2 x(ion)S 203 x(de\211nes)S 204 x(primit)S 2 x(ives)S 3899 X 647 y(to)S
247 x(support)S 248 x(a)S 247 x(level)S 248 x(of)S 248 x(naming)S 248 x
(environment)S 248 x(independe)S 2 x(nce)S 247 x(for)S 248 x(certa)S
2 x(in)S 247 x(calling)S 248 x(applic)S 2 x(ations.)S 437 x(T)S -38 x
(o)S 246 x(provide)S 3899 X 648 y(basic)S 248 x(servic)S 2 x(es)S -181 y
F86(4)S 273 x 181 y F74(oriented)S 249 x(towards)S 248 x(the)S 248 x
(requirem)S 2 x(ents)S 248 x(of)S 247 x(call)S 2 x(ers)S 248 x(which)S
247 x(need)S 248 x(not)S 248 x(themselve)S 2 x(s)S 247 x(inter)S 2 x
(pret)S 248 x(the)S 3899 X 648 y(interna)S 2 x(l)S 191 x(syntax)S 192 x
(and)S 192 x(semantic)S 2 x(s)S 191 x(of)S 192 x(names,)S 194 x(GSS-API)S
191 x(calls)S 193 x(for)S 192 x(name)S 192 x(compari)S 2 x(son)S 191 x
(\(GSS_Compare_nam)S 2 x(e)S(\()S 84 x(\))S(\),)S 3899 X 647 y(human-re)S
2 x(adable)S 230 x(display)S 230 x(\(GSS_Display_name)S(\()S 85 x(\))S
(\),)S 241 x(input)S 230 x(conversi)S 2 x(on)S 229 x(\(GSS_Import_name)S
2 x(\()S 83 x(\))S(\),)S 242 x(and)S 229 x(inter)S 2 x(nal)S 3899 X
648 y(name)S 183 x(deall)S 2 x(ocation)S 183 x(\(GSS_Releas)S 2 x(e_name)S
(\()S 84 x(\))S(\))S 184 x(functions)S 184 x(are)S 184 x(de\211ned.)S
3899 16629 XY(GSS_Import_name)S(\()S 85 x(\))S 221 x(implem)S 2 x(entations)S
222 x(can,)S 231 x(where)S 222 x(appropriat)S 2 x(e,)S 231 x(support)S
221 x(more)S 222 x(than)S 222 x(one)S 221 x(printabl)S 2 x(e)S 221 x
(syntax)S 3899 X 648 y(corres)S 2 x(ponding)S 196 x(to)S 196 x(a)S 197 x
(given)S 196 x(namespac)S 2 x(e)S 196 x(\(e.g.,)S 200 x(alter)S 2 x
(native)S 197 x(printabl)S 2 x(e)S 196 x(repre)S 2 x(sentations)S 197 x
(for)S 197 x(X.500)S 196 x(Distinguished)S 3899 X 647 y(Names\),)S 192 x
(allowing)S 190 x(\212exibilit)S 2 x(y)S 189 x(for)S 190 x(their)S 191 x
(caller)S 2 x(s)S 189 x(to)S 190 x(select)S 191 x(among)S 190 x(alter)S
2 x(native)S 190 x(repre)S 2 x(sentations.)S 265 x(GSS_D)S -2 x(ispla)S
2 x(y_)S 3899 X 648 y(name)S(\()S 84 x(\))S 212 x(impleme)S 2 x(ntations)S
212 x(output)S 212 x(a)S 211 x(printabl)S 2 x(e)S 211 x(syntax)S 212 x
(select)S 2 x(ed)S 211 x(as)S 211 x(appropr)S 2 x(iate)S 212 x(to)S
211 x(their)S 213 x(operationa)S 2 x(l)S 211 x(environ-)S 3899 X 647 y
(ments;)S 220 x(this)S 208 x(select)S 2 x(ion)S 207 x(is)S 207 x(a)S
208 x(local)S 208 x(matter)S -28 x(.)S 316 x(Call)S 2 x(ers)S 208 x
(desiring)S 208 x(portabil)S 2 x(ity)S 207 x(across)S 209 x(alterna)S
2 x(tive)S 207 x(printa)S 2 x(ble)S 207 x(syntaxes)S 3899 X 648 y(should)S
213 x(refr)S 2 x(ain)S 213 x(from)S 214 x(imple)S 2 x(menting)S 214 x
(comparisons)S 214 x(based)S 214 x(on)S 213 x(printable)S 215 x(name)S
213 x(forms)S 214 x(and)S 214 x(should)S 213 x(instead)S 214 x(use)S
3899 X 647 y(the)S 183 x(GSS_Compare_name)S 2 x(\()S 83 x(\))S 183 x
(call)S 184 x(to)S 183 x(determ)S 2 x(ine)S 183 x(whether)S 183 x(or)S
184 x(not)S 183 x(one)S 182 x(inter)S 2 x(nal-for)S 2 x(mat)S 183 x
(name)S 184 x(matches)S 184 x(another)S -29 x(.)S 3899 21909 XY F32
(1.1.6)S 547 x(Channel)S 182 x(Bindings)S 3899 X 897 y F74(The)S 188 x
(GSS-AP)S -2 x(I)S 188 x(accomm)S 2 x(odates)S 188 x(the)S 189 x(concept)S
188 x(of)S 188 x(call)S 2 x(er)S -10 x(-provided)S 189 x(channel)S 188 x
(binding)S 188 x(\("chan_bindi)S 2 x(ng"\))S 187 x(inform)S 2 x(a-)S
3899 X 647 y(tion,)S 189 x(used)S 188 x(by)S 187 x(GSS-API)S 187 x(calle)S
2 x(rs)S 188 x(to)S 187 x(bind)S 188 x(the)S 188 x(establ)S 2 x(ishment)S
188 x(of)S 188 x(a)S 188 x(securi)S 2 x(ty)S 187 x(context)S 189 x(to)S
188 x(relevant)S 189 x(chara)S 2 x(cterist)S 2 x(ics)S 3899 X 648 y
(\(e.g.,)S 158 x(addresses)S 2 x(,)S 157 x(transf)S 2 x(ormed)S 152 x
(represe)S 2 x(ntations)S 152 x(of)S 151 x(encrypt)S 2 x(ion)S 151 x
(keys\))S 152 x(of)S 151 x(the)S 152 x(underlying)S 152 x(communica)S
2 x(tions)S 151 x(chan-)S 3899 X 648 y(nel)S 197 x(and)S 197 x(of)S
197 x(prote)S 2 x(ction)S 197 x(mechani)S 2 x(sms)S 197 x(applied)S
198 x(to)S 197 x(that)S 198 x(communicat)S 2 x(ions)S 197 x(channel.)S
287 x(V)S -61 x(eri\211cati)S 2 x(on)S 196 x(by)S 197 x(one)S 197 x
(peer)S 198 x(of)S 3899 X 647 y(chan_binding)S 163 x(inform)S 2 x(ation)S
163 x(provided)S 163 x(by)S 162 x(the)S 163 x(other)S 163 x(peer)S 164 x
(to)S 162 x(a)S 163 x(context)S 163 x(serves)S 164 x(to)S 162 x(protect)S
164 x(against)S 164 x(various)S 163 x(active)S 3899 X 648 y(attacks)S
2 x(.)S 288 x(The)S 198 x(calle)S 2 x(r)S 198 x(initiat)S 2 x(ing)S
198 x(a)S 198 x(securit)S 2 x(y)S 197 x(context)S 199 x(must)S 199 x
(determi)S 2 x(ne)S 198 x(the)S 198 x(chan_binding)S 199 x(values)S
198 x(befor)S 2 x(e)S 198 x(making)S 3899 X 647 y(the)S 239 x(GSS_Init_sec_conte)S
2 x(xt)S(\()S 83 x(\))S 239 x(call)S 2 x(,)S 252 x(and)S 239 x(consistent)S
240 x(values)S 240 x(must)S 239 x(be)S 239 x(provided)S 240 x(by)S 238 x
(both)S 239 x(peers)S 240 x(to)S 238 x(a)S 239 x(context.)S 3899 X 648 y
(Calle)S 2 x(rs)S 243 x(should)S 244 x(not)S 243 x(assume)S 245 x(that)S
244 x(underlying)S 244 x(mecha)S 2 x(nisms)S 244 x(provide)S 244 x(con\211dentiali)S
2 x(ty)S 243 x(protect)S 2 x(ion)S 243 x(for)S 244 x(channel)S 3899 X
647 y(binding)S 183 x(inform)S 2 x(ation.)S 3899 28983 XY(Use)S 237 x
(or)S 238 x(non-use)S 238 x(of)S 238 x(the)S 238 x(GSS-AP)S -2 x(I)S
238 x(channel)S 239 x(binding)S 237 x(fac)S 2 x(ility)S 238 x(is)S 238 x
(a)S 238 x(caller)S 239 x(option,)S 251 x(and)S 238 x(GSS-API)S 236 x
(supporti)S 2 x(ng)S 3899 X 647 y(mechanism)S 2 x(s)S 260 x(can)S 260 x
(support)S 261 x(operati)S 2 x(on)S 260 x(in)S 260 x(an)S 260 x(environme)S
2 x(nt)S 260 x(where)S 260 x(NULL)S 259 x(channel)S 261 x(bindings)S
261 x(are)S 261 x(presented.)S 3899 X 648 y(When)S 192 x(non-NULL)S
190 x(channel)S 193 x(bindings)S 192 x(are)S 192 x(used,)S 194 x(cer)S
2 x(tain)S 192 x(mechanism)S 2 x(s)S 191 x(will)S 192 x(of)S -9 x(fer)S
193 x(enhanced)S 192 x(securi)S 2 x(ty)S 191 x(value)S 193 x(by)S 3899 X
647 y(interpr)S 2 x(eting)S 148 x(the)S 148 x(bindings')S 149 x(content)S
149 x(\(rathe)S 2 x(r)S 148 x(than)S 148 x(simply)S 148 x(repre)S 2 x
(senting)S 148 x(those)S 149 x(bindings,)S 155 x(or)S 148 x(signature)S
2 x(s)S 147 x(computed)S 3899 X 648 y(on)S 197 x(them,)S 202 x(within)S
199 x(tokens\))S 198 x(and)S 198 x(will)S 198 x(theref)S 2 x(ore)S 198 x
(depend)S 198 x(on)S 198 x(presentat)S 2 x(ion)S 197 x(of)S 198 x(speci\211c)S
199 x(data)S 198 x(in)S 198 x(a)S 198 x(de\211ned)S 198 x(format.)S
3899 X 648 y(T)S -39 x(o)S 200 x(this)S 201 x(end,)S 204 x(agreeme)S
2 x(nts)S 200 x(among)S 200 x(mechanis)S 2 x(m)S 200 x(implement)S 2 x
(ors)S 200 x(are)S 201 x(de\211ning)S -181 y F86(5)S 225 x 181 y F74
(conventional)S 201 x(inter)S 2 x(pretati)S 2 x(ons)S 200 x(for)S 3899 X
647 y(the)S 267 x(contents)S 268 x(of)S 267 x(channel)S 267 x(binding)S
267 x(ar)S -9 x(guments,)S 289 x(including)S 267 x(address)S 268 x(speci\211ers)S
268 x(\(with)S 267 x(content)S 268 x(dependent)S 268 x(on)S 3899 33954 XY
6996 24 R 4123 34302 XY F90(4)S 225 x 141 y F86(It)S 131 x(is)S 131 x
(anticipated)S 132 x(that)S 131 x(these)S 132 x(proposed)S 133 x(GSS-)S
-2 x(API)S 131 x(calls)S 131 x(will)S 131 x(be)S 132 x(implemented)S
132 x(in)S 132 x(many)S 132 x(end)S 132 x(systems)S 132 x(based)S 132 x
(on)S 132 x(system-speci\211c)S 131 x(name)S 132 x(manipulation)S 4497 X
448 y(primitives)S 129 x(already)S 130 x(extant)S 129 x(within)S 130 x
(those)S 130 x(end)S 130 x(systems;)S 131 x(inclusion)S 130 x(within)S
130 x(the)S 130 x(GSS-)S -2 x(API)S 129 x(is)S 130 x(intended)S 130 x
(to)S 130 x(of)S -7 x(fer)S 129 x(GSS-AP)S -2 x(I)S 130 x(callers)S
129 x(a)S 130 x(portable)S 129 x(means)S 130 x(to)S 4497 X 448 y(perform)S
132 x(speci\211c)S 132 x(operations,)S 133 x(supportive)S 133 x(of)S
133 x(authorization)S 133 x(and)S 133 x(audit)S 133 x(requirements,)S
132 x(on)S 133 x(authenticated)S 133 x(names.)S 4123 X 399 y F90(5)S
225 x 141 y F86(These)S 133 x(conventions)S 134 x(are)S 132 x(being)S
134 x(incorporated)S 133 x(into)S 132 x(related)S 133 x(documents.)S
23085 37554 XY F36(1)S -27 x(1\203June\2031991)S 498 x(5)S
%%EndCustomColor: 0
5 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 6 6
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 3899 2106 XY F40(Generic)S 150 x(Security)S 150 x(Service)S 151 x
(API:)S 149 x(Internet-Dra)S 2 x(ft)S 3899 X 548 y(Common)S 148 x(Authentication)S
150 x(T)S -34 x(echnology)S 150 x(WG:)S 150 x(John)S 149 x(Linn)S 149 x
(\(DEC\))S 3899 3976 XY F74(communica)S 2 x(tions)S 157 x(protocol)S
159 x(environment\))S 159 x(for)S 158 x(context)S 158 x(initia)S 2 x
(tors)S 157 x(and)S 158 x(acceptor)S 2 x(s.)S 235 x(In)S 157 x(order)S
158 x(for)S 158 x(GSS-API)S 156 x(call)S 2 x(ers)S 3899 X 648 y(to)S
157 x(be)S 156 x(portabl)S 2 x(e)S 156 x(acros)S 2 x(s)S 156 x(multipl)S
2 x(e)S 157 x(mechanisms)S 158 x(and)S 157 x(achieve)S 158 x(the)S 157 x
(full)S 157 x(securi)S 2 x(ty)S 156 x(functi)S 2 x(onality)S 157 x(avail)S
2 x(able)S 157 x(from)S 158 x(each)S 3899 X 648 y(mechanism)S 2 x(,)S
199 x(it)S 197 x(is)S 196 x(strongly)S 197 x(recom)S 2 x(mended)S 197 x
(that)S 196 x(GSS-API)S 196 x(caller)S 2 x(s)S 196 x(provide)S 197 x
(channel)S 197 x(bindings)S 196 x(consist)S 2 x(ent)S 196 x(with)S 3899 X
647 y(these)S 184 x(conventions)S 183 x(and)S 183 x(those)S 184 x(of)S
183 x(the)S 183 x(networking)S 184 x(environment)S 184 x(in)S 183 x
(which)S 183 x(they)S 183 x(operate)S 2 x(.)S 3899 7414 XY F32(1.2)S
547 x(GSS)S 2 x(-API)S 183 x(Features)S 182 x(and)S 182 x(Issues)S 3899 8410 XY
F74(This)S 269 x(section)S 270 x(describes)S 270 x(aspect)S 2 x(s)S
268 x(of)S 269 x(GSS-API)S 268 x(operati)S 2 x(ons,)S 290 x(of)S 269 x
(the)S 269 x(securi)S 2 x(ty)S 269 x(services)S 270 x(which)S 269 x
(the)S 269 x(GSS-API)S 3899 X 647 y(provides,)S 184 x(and)S 183 x(provides)S
183 x(comment)S 2 x(ary)S 183 x(on)S 183 x(design)S 183 x(issues.)S
3899 10452 XY F32(1.2.1)S 547 x(Stat)S 2 x(us)S 182 x(Repo)S -2 x(rting)S
3899 X 897 y F74(Each)S 286 x(GSS-API)S 285 x(call)S 287 x(provides)S
287 x(two)S 285 x(status)S 287 x(retur)S 2 x(n)S 286 x(values.)S 553 x
(Major)S 2 x(_status)S 287 x(values)S 286 x(provide)S 287 x(a)S 286 x
(mechani)S 2 x(sm-)S 3899 X 647 y(independent)S 308 x(indicat)S 2 x
(ion)S 307 x(of)S 307 x(call)S 308 x(status)S 308 x(\(e.g.,)S 339 x
(GSS_COMPLE)S -2 x(TE,)S 307 x(GSS_F)S -42 x(AILURE,)S 307 x(GSS_)S
-2 x(CONTINUE_)S 3899 X 648 y(NEEDE)S -2 x(D\),)S 274 x(suf)S -10 x
(\211cient)S 274 x(to)S 274 x(drive)S 274 x(normal)S 274 x(control)S
275 x(\212ow)S 272 x(within)S 274 x(the)S 273 x(call)S 2 x(er)S 274 x
(in)S 273 x(a)S 273 x(generi)S 2 x(c)S 273 x(fashion.)S 516 x(T)S -38 x
(able)S 273 x(1)S 3899 X 648 y(summari)S 2 x(zes)S 183 x(the)S 183 x
(de\211ned)S 183 x(major_s)S 2 x(tatus)S 183 x(retur)S 2 x(n)S 182 x
(codes)S 184 x(in)S 183 x(tabular)S 184 x(fashion.)S 3899 14487 XY 23316 48 R
3899 15135 XY F32(T)S -41 x(able)S 182 x(1:)S 498 x(GSS)S 2 x(-API)S
183 x(Major)S 183 x(Status)S 183 x(Codes)S 3899 X 298 y 23316 48 R 3899 16131 XY
F38(F)S -25 x(A)S -33 x(T)S -33 x(AL)S 149 x(ERROR)S 149 x(CODES)S 3899 X
697 y(GSS_BAD_BINDIN)S -2 x(GS)S 13513 X(channel)S 150 x(binding)S 150 x
(mismatch)S 3899 X 698 y(GSS_BAD_MECH)S 13513 X(unsuppo)S 2 x(rted)S
149 x(mech)S 2 x(anism)S 150 x(requested)S 3899 X 697 y(GSS_BAD_NAME)S
13513 X(invalid)S 149 x(name)S 150 x(provided)S 3899 X 697 y(GSS_BAD_NAMETYPE)S
13513 X(name)S 150 x(of)S 150 x(unsuppo)S 2 x(rted)S 149 x(type)S 150 x
(provided)S 3899 X 698 y(GSS_BAD_ST)S -33 x(A)S -33 x(TUS)S 13513 X
(invalid)S 149 x(input)S 149 x(status)S 150 x(selector)S 3899 X 697 y
(GSS_BAD_SIG)S 13513 X(token)S 150 x(had)S 150 x(invalid)S 149 x(signature)S
3899 X 698 y(GSS_CONTEXT_EXPIRED)S 13513 X(speci\211ed)S 150 x(security)S
150 x(context)S 150 x(expired)S 3899 X 697 y(GSS_CREDENTI)S -2 x(ALS_EXPIRED)S
13513 X(expired)S 150 x(crede)S 2 x(ntials)S 148 x(detected)S 3899 X
697 y(GSS_DEFECTIVE_CRED)S -2 x(ENTIAL)S 13513 X(defective)S 149 x(crede)S
2 x(ntial)S 148 x(detected)S 3899 X 698 y(GSS_DEFECTIVE_T)S -9 x(OKEN)S
13513 X(defective)S 149 x(token)S 150 x(detected)S 3899 X 697 y(GSS_F)S
-25 x(AILURE)S 13513 X(failure,)S 149 x(unspeci\211ed)S 151 x(at)S 149 x
(GSS-API)S 149 x(level)S 3899 X 697 y(GSS_NO_CONTEXT)S 13513 X(no)S
150 x(valid)S 149 x(security)S 150 x(context)S 150 x(speci\211ed)S 3899 X
698 y(GSS_NO_CRED)S 13513 X(no)S 150 x(valid)S 149 x(credentials)S 150 x
(provided)S 3899 X 697 y(INFORMA)S -34 x(T)S -8 x(OR)S -9 x(Y)S 150 x
(ST)S -34 x(A)S -33 x(TUS)S 149 x(CODES)S 3899 X 698 y(GSS_COMPLETE)S
13513 X(normal)S 150 x(completion)S 3899 X 697 y(GSS_CONTIN)S -2 x(UE_NEEDED)S
13513 X(continuation)S 150 x(call)S 148 x(to)S 150 x(routine)S 150 x
(required)S 3899 X 697 y(GSS_DUPLICA)S -34 x(TE_T)S -8 x(OKEN)S 13513 X
(duplicate)S 149 x(per-)S 2 x(message)S 151 x(token)S 150 x(detected)S
3899 X 698 y(GSS_OLD_T)S -8 x(OKEN)S 13513 X(timed-out)S 150 x(per-me)S
2 x(ssage)S 150 x(token)S 150 x(detected)S 3899 X 697 y(GSS_UNSEQ_T)S
-9 x(OKEN)S 13513 X(out-of-orde)S 2 x(r)S 149 x(per-m)S 2 x(essage)S
151 x(token)S 150 x(detected)S 3899 X 399 y 23316 48 R 3899 30876 XY
F74(Minor_stat)S 2 x(us)S 206 x(provides)S 207 x(more)S 206 x(detai)S
2 x(led)S 206 x(status)S 207 x(inform)S 2 x(ation)S 206 x(which)S 206 x
(may)S 207 x(include)S 207 x(status)S 207 x(codes)S 206 x(speci\211c)S
207 x(to)S 206 x(the)S 3899 X 647 y(underlying)S 184 x(securit)S 2 x
(y)S 182 x(mechani)S 2 x(sm.)S 244 x(Minor_stat)S 2 x(us)S 182 x(values)S
184 x(are)S 184 x(not)S 183 x(speci\211ed)S 183 x(in)S 183 x(this)S
184 x(document.)S 3899 32519 XY(GSS_CON)S -2 x(TINUE_NEEDE)S -2 x(D)S
179 x(major_s)S 2 x(tatus)S 180 x(returns,)S 181 x(and)S 180 x(optional)S
180 x(message)S 180 x(outputs,)S 181 x(are)S 180 x(provided)S 180 x
(in)S 180 x(GSS)S -2 x(_)S 3899 X 648 y(Init_sec)S 2 x(_context)S(\()S
84 x(\))S 130 x(and)S 130 x(GSS_A)S -2 x(ccept_se)S 2 x(c_context)S
(\()S 85 x(\))S 129 x(call)S 2 x(s)S 129 x(so)S 130 x(that)S 130 x(invocations)S
131 x(of)S 130 x(multiple)S 131 x(message)S 131 x(preamble)S 3899 X
648 y(transac)S 2 x(tions)S 204 x(\(as)S 205 x(are)S 205 x(required,)S
210 x(for)S 205 x(example,)S 210 x(to)S 204 x(authent)S 2 x(icate)S
205 x(to)S 204 x(a)S 204 x(Kerberos)S 205 x(V5)S 203 x(double-TGT)S
204 x(service)S 2 x(\))S 204 x(need)S 3899 X 647 y(not)S 244 x(be)S
245 x(re\212ecte)S 2 x(d)S 244 x(in)S 244 x(separ)S 2 x(ate)S 245 x
(code)S 245 x(paths)S 245 x(within)S 244 x(call)S 2 x(ing)S 244 x(applica)S
2 x(tions.)S 429 x(The)S 244 x(same)S 246 x(mechanism)S 246 x(is)S 244 x
(used)S 245 x(to)S 3899 X 648 y(encapsulat)S 2 x(e)S 223 x(mutual)S
223 x(authenti)S 2 x(cation)S 224 x(within)S 223 x(the)S 223 x(GSS-AP)S
-2 x(I')S -29 x(s)S 223 x(context)S 224 x(initiat)S 2 x(ion)S 222 x
(call)S 2 x(s.)S 363 x(Figure)S 223 x(1)S 223 x(illustr)S 2 x(ates)S
223 x(a)S 3899 X 647 y(GSS-API)S 182 x(continuation)S 184 x(scenari)S
2 x(o.)S 3899 37373 XY F36(6)S 498 x(1)S -27 x(1\203June\2031991)S
%%EndCustomColor: 0
6 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%+ Helvetica
%%PageCustomColors: 0
%
%%Page: 7 7
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 17844 2106 XY F40(Generic)S 150 x(Security)S 151 x(Service)S 150 x
(API:)S 149 x(Internet-)S 2 x(Draft)S 14568 X 548 y(Comm)S -2 x(on)S
150 x(Authentication)S 149 x(T)S -33 x(echnology)S 149 x(WG:)S 150 x
(John)S 150 x(Linn)S 148 x(\(DEC\))S 3899 4013 XY F32(Figure)S 182 x
(1:)S 498 x(Example)S 183 x(Context)S 182 x(Establishment)S 183 x(with)S
183 x(Continuation)S
3899 4731 XY
3899 19675 SPB
%%BeginDocument (api_retry_fig.ps)
%!PS-Adobe-2.0 EPSF-1.2
%%Creator: DDIF WRITE_PS V02-001, Digital Equipment Corporation
%%CreationDate: 11-Sep-1990 10:45:14
%%DDIF$: V1.0
%%DDIF$ProductIdentifier: Write$
%%DDIF$ProductName: DECwrite V1.0
%%DDIF$Date: 19900911104505
%%BoundingBox: (at end)
%%Pages: (at end)
%%DocumentFonts: (at end)
%%DocumentNeededFonts: (at end)
%%EndComments
%%BeginProcSet: DEC_DDIF_WRITE_PS 1 1

/DEC_DDIF_WRITE_PS_dict 100 dict def DEC_DDIF_WRITE_PS_dict begin/version 1 def/revision 1 def/B{currentdict{dup type/arraytype eq{
bind def}{pop pop}ifelse}forall}def/I{0 setlinewidth 0 setlinecap 0 setlinejoin[]0 setdash 0 setgray 10 setmiterlimit}def mark
/ISOLatin1Encoding 0 1 44{StandardEncoding exch get}for/minus 46 1 143{StandardEncoding exch get}for/dotlessi 193 1 207{
StandardEncoding exch get}for/space/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine
/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered
/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde
/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute
/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex
/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute
/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis/ISOLatin1Encoding where not{
256 array astore def}if cleartomark/F{currentdict 6 index known{pop pop pop pop pop pop}{FontDirectory 2 index known{pop findfont}{2
 index findfont dup maxlength dict begin{1 index/FID ne{def}{pop pop}ifelse}forall dup type/nulltype eq{pop}{/Encoding exch def}
ifelse dup/FontName exch def currentdict definefont end}ifelse exch pop exch dup type/arraytype eq{makefont}{scalefont}ifelse 1
 index exch def cvx[exch/setfont load]cvx bind def}ifelse}def/P{/px exch def/pa 8 array def 0 1 7{/py exch def/pw 4 string def 0 1 3
{pw exch px py 1 getinterval putinterval}for pa py pw put}for}def/p{save exch/pi exch def clip newpath{clippath pathbbox}stopped not
{/ph exch def/pw exch def/py exch def/px exch def/px px 30.72 div floor 30.72 mul def/py py 30.72 div floor 30.72 mul def px py
 translate/pw pw px sub 30.72 div floor 1 add cvi def/ph ph py sub 30.72 div floor 1 add cvi def pw 30.72 mul ph 30.72 mul scale/pw
 pw 32 mul def/ph ph 32 mul def/px 0 def/py 0 def pw ph pi[pw 0 0 ph 0 0]{pa py get/px px 32 add def px pw ge{/px 0 def/py py 1 add
 8 mod def}if}pi type/booleantype eq{imagemask}{image}ifelse}if restore}def/SN{transform floor .5 add exch floor .5 add exch
 itransform}def end
%%EndProcSet
%%EndProlog
%%BeginSetup

DEC_DDIF_WRITE_PS_dict begin/world-save save def B I
%%EndSetup
%%Page: ? 1
%%PageBoundingBox: 0 0 612 792
%%PageFonts: Times-Roman
%%IncludeFont: Times-Roman

/f2/F2 12/Times-Roman/DDIF$F2 ISOLatin1Encoding F/page-save save def gsave newpath 0 792 SN moveto 0 0 SN lineto 612 0 SN lineto 612
 792 SN lineto closepath clip newpath 19.15 282.74 SN moveto 199.13 282.74 SN lineto 199.13 237.29 SN lineto 19.15 237.29 SN lineto
 closepath 1 setlinewidth[]0 setdash stroke newpath 271.12 282.74 SN moveto 451.1 282.74 SN lineto 451.1 237.29 SN lineto 271.12
 237.29 SN lineto closepath stroke newpath 19.15 191.87 SN moveto 199.13 191.87 SN lineto 199.13 146.44 SN lineto 19.15 146.44 SN
 lineto closepath stroke newpath 271.12 191.87 SN moveto 451.1 191.87 SN lineto 451.1 146.44 SN lineto 271.12 146.44 SN lineto
 closepath stroke newpath 19.15 101 SN moveto 199.13 101 SN lineto 199.13 55.58 SN lineto 19.15 55.58 SN lineto closepath stroke
 newpath 271.12 101 SN moveto 451.1 101 SN lineto 451.1 55.58 SN lineto 271.12 55.58 SN lineto closepath stroke f2 63 256.85 moveto
(GSS_Acquire_cred\(\))show 324 255.72 moveto(GSS_Acquire_cred\(\))show 54 167.57 moveto(GSS_Init_sec_context\(\))show 46.77 73.98
 moveto(GSS_Init_sec_context\(\))show 297 167.57 moveto(GSS_Accept_sec_context\(\))show 297 73.98 moveto(GSS_Accept_sec_context\(\))
show newpath 208.13 169.15 SN moveto 262.12 169.15 SN lineto 253.12 163.48 SN lineto 253.12 174.84 SN lineto 262.12 169.15 SN lineto
 stroke newpath 208.13 78.29 SN moveto 262.12 78.29 SN lineto 253.12 72.6 SN lineto 253.12 83.96 SN lineto 262.12 78.29 SN lineto
 stroke newpath 100.15 231.62 SN moveto 100.15 197.55 SN lineto 109.14 203.22 SN lineto 91.15 203.22 SN lineto 100.15 197.55 SN
 lineto stroke newpath 361.11 231.62 SN moveto 361.11 197.55 SN lineto 370.11 203.22 SN lineto 352.11 203.22 SN lineto 361.11 197.55
 SN lineto stroke newpath 81 140.77 SN moveto 81 106.67 SN lineto 89.99 112.36 SN lineto 72 112.36 SN lineto 81 106.67 SN lineto
 stroke newpath 333 140.77 SN moveto 333 106.67 SN lineto 342 112.36 SN lineto 324 112.36 SN lineto 333 106.67 SN lineto stroke
 newpath 361.11 49.89 SN moveto 361.11 15.82 SN lineto 370.11 21.51 SN lineto 352.11 21.51 SN lineto 361.11 15.82 SN lineto stroke
 newpath 100.15 49.89 SN moveto 100.15 15.82 SN lineto 109.14 21.51 SN lineto 91.15 21.51 SN lineto 100.15 15.82 SN lineto stroke
 newpath 262.12 140.77 SN moveto 208.13 106.67 SN lineto 208.13 112.36 SN lineto 217.13 106.67 SN lineto 208.13 106.67 SN lineto
 stroke 109.14 212.99 moveto(credentials)show 370.11 212.99 moveto(credentials)show 217.13 178.92 moveto(token)show 217.13 88.06
 moveto(token)show 244.13 116.44 moveto(token)show 90 128.88 moveto(GSS_CONTINUE_NEEDED,)show 99 114.5 moveto(context handle)show
 342 128.88 moveto(GSS_CONTINUE_NEEDED,)show 351 114.5 moveto(context handle)show 9 200.88 moveto(target name)show 107.77 38.88
 moveto(GSS_COMPLETE)show 370.11 42.62 moveto(GSS_COMPLETE,)show 370.11 29.88 moveto(source name)show 55.14 2.88 moveto
(Established context)show 314.33 5.84 moveto(Established context)show grestore page-save restore showpage
%%Trailer

world-save restore end
%%BoundingBox: 0 0 612 792
%%Pages: 1
%%DocumentFonts: Times-Roman
%%DocumentNeededFonts: Times-Roman
% End-of-file

%%EndDocument
SPE
3899 21247 XY F74(For)S 140 x(mech_types)S 142 x(which)S 140 x(requir)S
2 x(e)S 140 x(intera)S 2 x(ctions)S 141 x(with)S 140 x(third-)S 2 x
(party)S 141 x(server)S 2 x(s)S 140 x(in)S 140 x(order)S 142 x(to)S
140 x(establi)S 2 x(sh)S 140 x(a)S 140 x(secur)S 2 x(ity)S 140 x(context,)S
3899 X 647 y(GSS-API)S 164 x(context)S 166 x(establi)S 2 x(shment)S
165 x(call)S 2 x(s)S 165 x(may)S 165 x(block)S 166 x(pending)S 165 x
(completi)S 2 x(on)S 165 x(of)S 165 x(such)S 165 x(third-)S 2 x(party)S
166 x(interac)S 2 x(tions.)S 238 x(On)S 3899 X 648 y(the)S 152 x(other)S
152 x(hand,)S 158 x(no)S 151 x(GSS-API)S 150 x(call)S 2 x(s)S 151 x
(pend)S 152 x(on)S 151 x(serial)S 2 x(ized)S 152 x(intera)S 2 x(ctions)S
152 x(with)S 151 x(GSS-API)S 151 x(peer)S 152 x(entiti)S 2 x(es.)S 233 x
(As)S 151 x(a)S 152 x(result,)S 3899 X 647 y(local)S 148 x(GSS-API)S
146 x(status)S 149 x(returns)S 148 x(cannot)S 148 x(re\212ect)S 149 x
(unpredictabl)S 2 x(e)S 147 x(or)S 148 x(asynchronous)S 148 x(exceptions)S
148 x(occurr)S 2 x(ing)S 147 x(at)S 148 x(remote)S 3899 X 648 y(peers,)S
184 x(and)S 183 x(re\212ection)S 184 x(of)S 183 x(such)S 183 x(status)S
184 x(informa)S 2 x(tion)S 183 x(is)S 183 x(a)S 183 x(caller)S 185 x
(responsibili)S 2 x(ty)S 183 x(outside)S 183 x(the)S 184 x(GSS-AP)S
-2 x(I.)S 3899 25232 XY F32(1.2.2)S 547 x(Per-M)S 2 x(essa)S -2 x(ge)S
182 x(Security)S 183 x(Service)S 182 x(A)S -20 x(vailability)S 3899 X
896 y F74(When)S 142 x(a)S 142 x(context)S 143 x(is)S 143 x(establis)S
2 x(hed,)S 150 x(two)S 142 x(\212ags)S 142 x(are)S 142 x(ret)S 2 x(urned)S
142 x(to)S 142 x(indicat)S 2 x(e)S 142 x(the)S 142 x(set)S 143 x(of)S
142 x(per)S -10 x(-messa)S 2 x(ge)S 142 x(protect)S 2 x(ion)S 142 x
(security)S 3899 X 648 y(service)S 2 x(s)S 182 x(which)S 183 x(will)S
184 x(be)S 182 x(avail)S 2 x(able)S 183 x(on)S 183 x(the)S 183 x(context:)S
3899 X 896 y(\201)S 854 x(the)S 197 x(integ_avai)S 2 x(l)S 196 x(\212ag)S
197 x(indicates)S 198 x(whether)S 197 x(per)S -10 x(-message)S 198 x
(integri)S 2 x(ty)S 196 x(and)S 197 x(data)S 197 x(origin)S 198 x(authentica)S
2 x(tion)S 197 x(services)S 4945 X 648 y(are)S 184 x(available)S 3899 X
897 y(\201)S 854 x(the)S 241 x(conf_ava)S 2 x(il)S 241 x(\212ag)S 241 x
(indicates)S 242 x(whether)S 242 x(per)S -10 x(-message)S 242 x(con\211dential)S
2 x(ity)S 241 x(servic)S 2 x(es)S 241 x(are)S 242 x(available)S 2 x
(,)S 255 x(and)S 241 x(will)S 4945 X 647 y(never)S 184 x(be)S 182 x
(ret)S 2 x(urned)S 183 x(TRUE)S 182 x(unless)S 184 x(the)S 183 x(integ_avai)S
2 x(l)S 183 x(\212ag)S 182 x(is)S 183 x(also)S 184 x(returne)S 2 x(d)S
182 x(TRUE)S 3899 30960 XY(GSS-API)S 169 x(call)S 2 x(ers)S 171 x(desiring)S
172 x(per)S -11 x(-mes)S 2 x(sage)S 171 x(security)S 172 x(services)S
172 x(should)S 171 x(check)S 171 x(the)S 171 x(values)S 171 x(of)S 171 x
(these)S 171 x(\212ags)S 170 x(at)S 171 x(context)S 3899 X 648 y(establi)S
2 x(shment)S 146 x(time,)S 154 x(and)S 145 x(must)S 146 x(be)S 145 x
(aware)S 146 x(that)S 146 x(a)S 146 x(returne)S 2 x(d)S 145 x(F)S -41 x
(ALSE)S 144 x(value)S 146 x(for)S 146 x(integ_avail)S 147 x(means)S
146 x(that)S 146 x(invocati)S 2 x(on)S 3899 X 647 y(of)S 139 x(GSS_Sign)S
(\()S 83 x(\))S 139 x(or)S 140 x(GSS_Seal)S(\()S 83 x(\))S 140 x(primiti)S
2 x(ves)S 139 x(on)S 139 x(the)S 140 x(associa)S 2 x(ted)S 139 x(context)S
141 x(will)S 139 x(apply)S 140 x(no)S 139 x(cryptogr)S 2 x(aphic)S 140 x
(protecti)S 2 x(on)S 3899 X 648 y(to)S 183 x(user)S 183 x(data)S 184 x
(messages.)S 23085 37373 XY F36(1)S -27 x(1\203June\2031991)S 498 x
(7)S
%%EndCustomColor: 0
7 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 8 8
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 3899 2106 XY F40(Generic)S 150 x(Security)S 150 x(Service)S 151 x
(API:)S 149 x(Internet-Dra)S 2 x(ft)S 3899 X 548 y(Common)S 148 x(Authentication)S
150 x(T)S -34 x(echnology)S 150 x(WG:)S 150 x(John)S 149 x(Linn)S 149 x
(\(DEC\))S 3899 4013 XY F32(1.2.3)S 547 x(Per-M)S 2 x(essa)S -2 x(ge)S
182 x(Replay)S 182 x(Detection)S 182 x(and)S 182 x(Sequencing)S 3899 X
896 y F74(Certa)S 2 x(in)S 202 x(underlying)S 204 x(mech_types)S 203 x
(are)S 203 x(expecte)S 2 x(d)S 202 x(to)S 202 x(of)S -9 x(fer)S 203 x
(support)S 203 x(for)S 203 x(repla)S 2 x(y)S 202 x(detection)S 204 x
(and/or)S 203 x(sequencing)S 203 x(of)S 3899 X 648 y(messages)S 225 x
(transf)S 2 x(erred)S 225 x(on)S 223 x(the)S 225 x(contexts)S 224 x
(they)S 225 x(support.)S 367 x(These)S 224 x(optionally-)S 2 x(select)S
2 x(able)S 224 x(protect)S 2 x(ion)S 224 x(feature)S 2 x(s)S 223 x(are)S
3899 X 647 y(distinct)S 240 x(from)S 239 x(repla)S 2 x(y)S 238 x(detecti)S
2 x(on)S 238 x(and)S 239 x(sequencing)S 239 x(featur)S 2 x(es)S 239 x
(applied)S 239 x(to)S 239 x(the)S 238 x(context)S 240 x(establi)S 2 x
(shment)S 239 x(operati)S 2 x(on)S 3899 X 648 y(itself)S 2 x(;)S 180 x
(the)S 180 x(presence)S 180 x(or)S 179 x(absence)S 180 x(of)S 179 x
(context)S 2 x(-level)S 180 x(replay)S 180 x(or)S 179 x(sequenci)S 2 x
(ng)S 178 x(feat)S 2 x(ures)S 179 x(is)S 180 x(wholly)S 179 x(a)S 179 x
(function)S 180 x(of)S 179 x(the)S 3899 X 648 y(underlying)S 184 x(mech_type')S
-29 x(s)S 183 x(capabil)S 2 x(ities,)S 184 x(and)S 183 x(is)S 183 x
(not)S 183 x(selecte)S 2 x(d)S 182 x(or)S 183 x(omitt)S 2 x(ed)S 183 x
(as)S 183 x(a)S 183 x(caller)S 184 x(option.)S 3899 8496 XY(The)S 260 x
(calle)S 2 x(r)S 260 x(initia)S 2 x(ting)S 260 x(a)S 261 x(context)S
261 x(provides)S 261 x(\212ags)S 260 x(\(repl)S 2 x(ay_det_req_\212ag)S
261 x(and)S 260 x(sequence)S 2 x(_req_\212ag\))S 261 x(to)S 260 x(specify)S
3899 X 647 y(whether)S 174 x(the)S 174 x(use)S 174 x(of)S 173 x(per)S
-10 x(-messa)S 2 x(ge)S 173 x(replay)S 175 x(detection)S 175 x(and)S
173 x(sequencing)S 175 x(feature)S 2 x(s)S 173 x(is)S 174 x(desired)S
175 x(on)S 173 x(the)S 174 x(context)S 174 x(being)S 3899 X 648 y(establi)S
2 x(shed.)S 292 x(The)S 199 x(GSS-AP)S -2 x(I)S 200 x(implement)S 2 x
(ation)S 199 x(at)S 200 x(the)S 199 x(initia)S 2 x(tor)S 199 x(system)S
200 x(can)S 200 x(determi)S 2 x(ne)S 199 x(whether)S 199 x(these)S 200 x
(feat)S 2 x(ures)S 3899 X 648 y(are)S 180 x(supporte)S 2 x(d)S 179 x
(\(and)S 180 x(whether)S 181 x(they)S 180 x(are)S 181 x(optionally)S
181 x(selecta)S 2 x(ble\))S 180 x(as)S 180 x(a)S 180 x(function)S 181 x
(of)S 180 x(mech_type,)S 181 x(without)S 180 x(need)S 181 x(for)S 3899 X
647 y(bilater)S 2 x(al)S 165 x(negotiat)S 2 x(ion)S 165 x(with)S 165 x
(the)S 165 x(tar)S -9 x(get.)S 239 x(When)S 165 x(enabled,)S 169 x(these)S
166 x(featur)S 2 x(es)S 165 x(provide)S 166 x(recipi)S 2 x(ents)S 165 x
(with)S 165 x(indicat)S 2 x(ors)S 165 x(as)S 165 x(a)S 3899 X 648 y
(result)S 185 x(of)S 184 x(GSS-API)S 183 x(process)S 2 x(ing)S 184 x
(of)S 184 x(incoming)S 185 x(messages,)S 185 x(identif)S 2 x(ying)S
184 x(whether)S 185 x(those)S 184 x(messages)S 185 x(were)S 185 x(detected)S
3899 X 647 y(as)S 231 x(duplica)S 2 x(tes)S 231 x(or)S 232 x(out-of-)S
2 x(sequence.)S 390 x(Detection)S 232 x(of)S 232 x(such)S 232 x(events)S
232 x(does)S 231 x(not)S 232 x(prevent)S 232 x(a)S 231 x(suspect)S 233 x
(message)S 232 x(from)S 3899 X 648 y(being)S 171 x(provided)S 171 x
(to)S 171 x(a)S 171 x(reci)S 2 x(pient;)S 175 x(the)S 172 x(appropriat)S
2 x(e)S 170 x(course)S 172 x(of)S 171 x(action)S 172 x(on)S 170 x(a)S
171 x(suspect)S 172 x(message)S 172 x(is)S 171 x(a)S 171 x(matter)S
172 x(of)S 171 x(call)S 2 x(er)S 3899 X 647 y(policy)S -35 x(.)S 3899 14673 XY
(The)S 196 x(semant)S 2 x(ics)S 197 x(of)S 197 x(the)S 197 x(replay)S
198 x(detecti)S 2 x(on)S 196 x(and)S 197 x(sequencing)S 197 x(servi)S
2 x(ces)S 197 x(applied)S 197 x(to)S 197 x(rece)S 2 x(ived)S 197 x(messages,)S
201 x(as)S 197 x(visible)S 3899 X 647 y(across)S 184 x(the)S 183 x(interf)S
2 x(ace)S 183 x(which)S 183 x(the)S 184 x(GSS)S -2 x(-API)S 183 x(provides)S
184 x(to)S 183 x(its)S 183 x(clie)S 2 x(nts,)S 183 x(are)S 183 x(as)S
184 x(follows:)S 3899 16316 XY(When)S 182 x(replay_det)S 2 x(_state)S
182 x(is)S 182 x(TRUE,)S 181 x(the)S 182 x(possible)S 182 x(major_s)S
2 x(tatus)S 182 x(returns)S 183 x(for)S 182 x(well-for)S 2 x(med)S 182 x
(and)S 181 x(corre)S 2 x(ctly)S 182 x(signed)S 3899 X 648 y(messages)S
184 x(are)S 184 x(as)S 183 x(follows:)S 3899 X 897 y F36(1.)S 631 x
F74(GSS_COMPLE)S -2 x(TE)S 203 x(indicates)S 204 x(that)S 204 x(the)S
203 x(message)S 204 x(was)S 203 x(within)S 203 x(the)S 203 x(window)S
203 x(\(of)S 203 x(time)S 204 x(or)S 203 x(sequence)S 204 x(space\))S
4945 X 647 y(allowing)S 126 x(replay)S 126 x(events)S 126 x(to)S 126 x
(be)S 125 x(detect)S 2 x(ed,)S 136 x(and)S 126 x(that)S 126 x(the)S
125 x(messa)S 2 x(ge)S 125 x(was)S 125 x(not)S 125 x(a)S 126 x(replay)S
126 x(of)S 126 x(a)S 125 x(previously-)S 2 x(processed)S 4945 X 648 y
(message)S 184 x(within)S 183 x(that)S 184 x(window)S -36 x(.)S 3899 X
896 y F36(2.)S 631 x F74(GSS_D)S -2 x(UPLICA)S -61 x(TE_T)S -10 x(OKEN)S
207 x(indicates)S 210 x(that)S 209 x(the)S 208 x(signatur)S 2 x(e)S
208 x(on)S 208 x(the)S 209 x(recei)S 2 x(ved)S 208 x(message)S 209 x
(was)S 209 x(correct)S 2 x(,)S 214 x(but)S 4945 X 648 y(that)S 184 x
(the)S 183 x(message)S 184 x(was)S 183 x(recognized)S 184 x(as)S 183 x
(a)S 183 x(duplicat)S 2 x(e)S 182 x(of)S 184 x(a)S 182 x(previ)S 2 x
(ously-proces)S 2 x(sed)S 183 x(message.)S 3899 X 897 y F36(3.)S 631 x
F74(GSS_O)S -2 x(LD_T)S -10 x(OKEN)S 203 x(indicates)S 206 x(that)S
205 x(the)S 205 x(signature)S 206 x(on)S 204 x(the)S 205 x(recei)S 2 x
(ved)S 204 x(message)S 206 x(was)S 204 x(corr)S 2 x(ect,)S 210 x(but)S
205 x(that)S 205 x(the)S 4945 X 647 y(message)S 184 x(is)S 183 x(too)S
183 x(old)S 183 x(to)S 183 x(be)S 183 x(checked)S 184 x(for)S 183 x
(duplicat)S 2 x(ion.)S 3899 23340 XY(When)S 207 x(sequence_st)S 2 x
(ate)S 207 x(is)S 207 x(TRUE,)S 207 x(the)S 207 x(possible)S 208 x(major_st)S
2 x(atus)S 207 x(returns)S 208 x(for)S 208 x(well-for)S 2 x(med)S 207 x
(and)S 207 x(correc)S 2 x(tly)S 207 x(signed)S 3899 X 648 y(messages)S
184 x(are)S 184 x(as)S 183 x(follows:)S 3899 X 896 y F36(1.)S 631 x
F74(GSS_COMPLE)S -2 x(TE)S 203 x(indicates)S 204 x(that)S 204 x(the)S
203 x(message)S 204 x(was)S 203 x(within)S 203 x(the)S 203 x(window)S
203 x(\(of)S 203 x(time)S 204 x(or)S 203 x(sequence)S 204 x(space\))S
4945 X 648 y(allowing)S 126 x(replay)S 126 x(events)S 126 x(to)S 126 x
(be)S 125 x(detect)S 2 x(ed,)S 136 x(and)S 126 x(that)S 126 x(the)S
125 x(messa)S 2 x(ge)S 125 x(was)S 125 x(not)S 125 x(a)S 126 x(replay)S
126 x(of)S 126 x(a)S 125 x(previously-)S 2 x(processed)S 4945 X 647 y
(message)S 184 x(within)S 183 x(that)S 184 x(window)S -36 x(.)S 3899 X
897 y F36(2.)S 631 x F74(GSS_D)S -2 x(UPLICA)S -61 x(TE_T)S -10 x(OKEN)S
207 x(indicates)S 210 x(that)S 209 x(the)S 208 x(signatur)S 2 x(e)S
208 x(on)S 208 x(the)S 209 x(recei)S 2 x(ved)S 208 x(message)S 209 x
(was)S 209 x(correct)S 2 x(,)S 214 x(but)S 4945 X 648 y(that)S 184 x
(the)S 183 x(message)S 184 x(was)S 183 x(recognized)S 184 x(as)S 183 x
(a)S 183 x(duplicat)S 2 x(e)S 182 x(of)S 184 x(a)S 182 x(previ)S 2 x
(ously-proces)S 2 x(sed)S 183 x(message.)S 3899 X 896 y F36(3.)S 631 x
F74(GSS_O)S -2 x(LD_T)S -10 x(OKEN)S 203 x(indicates)S 206 x(that)S
205 x(the)S 205 x(signature)S 206 x(on)S 204 x(the)S 205 x(recei)S 2 x
(ved)S 204 x(message)S 206 x(was)S 204 x(corr)S 2 x(ect,)S 210 x(but)S
205 x(that)S 205 x(the)S 4945 X 648 y(token)S 183 x(is)S 183 x(too)S
183 x(old)S 183 x(to)S 183 x(be)S 183 x(checked)S 184 x(for)S 183 x
(duplicat)S 2 x(ion.)S 3899 X 897 y F36(4.)S 631 x F74(GSS_U)S -2 x
(NSEQ_T)S -11 x(OKEN)S 178 x(indicates)S 180 x(that)S 180 x(the)S 180 x
(signature)S 180 x(on)S 179 x(the)S 179 x(rece)S 2 x(ived)S 179 x(message)S
180 x(was)S 179 x(corre)S 2 x(ct,)S 180 x(but)S 179 x(that)S 180 x(it)S
4945 X 647 y(is)S 183 x(earli)S 2 x(er)S 183 x(in)S 183 x(a)S 183 x
(sequenced)S 184 x(stream)S 184 x -181 y F86(6)S 208 x 181 y F74(than)S
183 x(a)S 183 x(messa)S 2 x(ge)S 182 x(alre)S 2 x(ady)S 183 x(processed)S
184 x(on)S 182 x(the)S 184 x(context.)S 3899 33149 XY 6996 24 R 4123 33497 XY
F90(6)S 225 x 140 y F86(Mechanisms)S 144 x(can)S 144 x(be)S 144 x(architected)S
144 x(to)S 144 x(provide)S 144 x(a)S 144 x(stricter)S 143 x(form)S 144 x
(of)S 144 x(sequencing)S 145 x(service,)S 146 x(delivering)S 144 x(particular)S
143 x(messages)S 144 x(to)S 144 x(recipients)S 143 x(only)S 145 x(after)S
143 x(all)S 4497 X 449 y(predecessor)S 123 x(messages)S 123 x(in)S 124 x
(an)S 123 x(ordered)S 123 x(stream)S 123 x(have)S 124 x(been)S 124 x
(delivered.)S 173 x(This)S 124 x(type)S 123 x(of)S 124 x(support)S 123 x
(is)S 123 x(incompatible)S 124 x(with)S 123 x(the)S 123 x(GSS-)S -2 x
(API)S 123 x(paradigm)S 123 x(in)S 124 x(which)S 4497 X 448 y(recipients)S
159 x(receive)S 159 x(all)S 159 x(messages,)S 166 x(whether)S 159 x
(in)S 159 x(order)S 160 x(or)S 159 x(not,)S 166 x(and)S 160 x(provide)S
160 x(them)S 160 x(\(one)S 159 x(at)S 159 x(a)S 160 x(time,)S 165 x
(without)S 160 x(intra-GS)S -2 x(S-API)S 158 x(message)S 160 x(buf)S
-7 x(fering\))S 158 x(to)S 4497 X 448 y(GSS)S -2 x(-API)S 138 x(routines)S
139 x(for)S 139 x(validation.)S 195 x(GSS-A)S -2 x(PI)S 139 x(facilit)S
-2 x(ies)S 139 x(provide)S 140 x(supportive)S 139 x(functions,)S 140 x
(aiding)S 140 x(clients)S 138 x(to)S 139 x(achieve)S 139 x(strict)S
138 x(message)S 140 x(stream)S 138 x(integrity)S 4497 X 449 y(in)S 123 x
(an)S 123 x(ef)S -8 x(\211cient)S 123 x(manner)S 123 x(in)S 123 x(conjunction)S
124 x(with)S 122 x(sequencing)S 124 x(provisions)S 124 x(in)S 123 x
(communications)S 123 x(protocols,)S 125 x(but)S 123 x(the)S 123 x(GSS-AP)S
-2 x(I)S 123 x(does)S 123 x(not)S 124 x(of)S -7 x(fer)S 122 x(this)S
123 x(level)S 122 x(of)S 4497 X 448 y(message)S 133 x(stream)S 132 x
(integrity)S 132 x(service)S 133 x(by)S 133 x(itself.)S 3899 37554 XY
F36(8)S 498 x(1)S -27 x(1\203June\2031991)S
%%EndCustomColor: 0
8 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 9 9
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 17844 2106 XY F40(Generic)S 150 x(Security)S 151 x(Service)S 150 x
(API:)S 149 x(Internet-)S 2 x(Draft)S 14568 X 548 y(Comm)S -2 x(on)S
150 x(Authentication)S 149 x(T)S -33 x(echnology)S 149 x(WG:)S 150 x
(John)S 150 x(Linn)S 148 x(\(DEC\))S 3899 3976 XY F74(As)S 167 x(the)S
168 x(message)S 169 x(stream)S 169 x(integr)S 2 x(ity)S 168 x(feature)S
2 x(s)S 167 x(\(espec)S 2 x(ially)S 168 x(sequenci)S 2 x(ng\))S 167 x
(may)S 168 x(inter)S 2 x(fere)S 169 x(with)S 167 x(cert)S 2 x(ain)S
168 x(applicat)S 2 x(ions')S 3899 X 648 y(intended)S 137 x(communic)S
2 x(ations)S 137 x(paradigms)S 2 x(,)S 145 x(and)S 136 x(since)S 138 x
(support)S 137 x(for)S 137 x(such)S 136 x(feat)S 2 x(ures)S 137 x(is)S
136 x(likel)S 2 x(y)S 136 x(to)S 136 x(be)S 137 x(resource)S 138 x(intensive,)S
3899 X 648 y(it)S 137 x(is)S 138 x(highly)S 137 x(recomm)S 2 x(ended)S
137 x(that)S 138 x(mech_types)S 138 x(supporting)S 138 x(these)S 138 x
(featur)S 2 x(es)S 137 x(allow)S 137 x(them)S 138 x(to)S 137 x(be)S
137 x(activat)S 2 x(ed)S 137 x(select)S 2 x(ively)S 3899 X 647 y(on)S
259 x(initia)S 2 x(tor)S 260 x(request)S 260 x(when)S 259 x(a)S 260 x
(context)S 260 x(is)S 260 x(establis)S 2 x(hed.)S 473 x(A)S 259 x(context)S
260 x(initiat)S 2 x(or)S 259 x(and)S 260 x(tar)S -9 x(get)S 260 x(are)S
260 x(provided)S 260 x(with)S 3899 X 648 y(corres)S 2 x(ponding)S 256 x
(indica)S 2 x(tors)S 257 x(\(repl)S 2 x(ay_det_stat)S 2 x(e)S 257 x
(and)S 257 x(sequence_sta)S 2 x(te\),)S 276 x(signifying)S 258 x(whether)S
258 x(these)S 257 x(feat)S 2 x(ures)S 257 x(are)S 3899 X 647 y(active)S
184 x(on)S 183 x(a)S 183 x(given)S 183 x(context.)S 3899 8211 XY(An)S
161 x(example)S 163 x(mech_type)S 163 x(supporting)S 162 x(per)S -10 x
(-message)S 163 x(repla)S 2 x(y)S 161 x(detecti)S 2 x(on)S 161 x(could)S
162 x(\(when)S 162 x(replay_det)S 2 x(_state)S 162 x(is)S 162 x(TRUE\))S
3899 X 647 y(impleme)S 2 x(nt)S 182 x(the)S 183 x(feat)S 2 x(ure)S 183 x
(as)S 183 x(follows:)S 244 x(The)S 183 x(underlying)S 183 x(mechani)S
2 x(sm)S 183 x(would)S 182 x(insert)S 184 x(timesta)S 2 x(mps)S 183 x
(in)S 182 x(data)S 184 x(elements)S 3899 X 648 y(output)S 229 x(by)S
228 x(GSS_Sign)S(\()S 82 x(\))S 229 x(and)S 229 x(GSS_Seal)S(\()S 83 x
(\))S(,)S 240 x(and)S 229 x(would)S 228 x(mainta)S 2 x(in)S 228 x(\(within)S
230 x(a)S 228 x(time)S 2 x(-limit)S 2 x(ed)S 228 x(window\))S 229 x
(a)S 228 x(cache)S 3899 X 647 y(\(quali\211ed)S 247 x(by)S 245 x(originator)S
-9 x(-reci)S 2 x(pient)S 246 x(pair\))S 247 x(identif)S 2 x(ying)S 245 x
(rece)S 2 x(ived)S 246 x(data)S 246 x(element)S 2 x(s)S 245 x(processe)S
2 x(d)S 245 x(by)S 245 x(GSS_V)S -62 x(erif)S 2 x(y)S(\()S 83 x(\))S
3899 X 648 y(and)S 200 x(GSS_Unseal)S(\()S 83 x(\))S(.)S 297 x(When)S
200 x(this)S 201 x(feat)S 2 x(ure)S 200 x(is)S 201 x(active,)S 206 x
(exception)S 201 x(stat)S 2 x(us)S 200 x(returns)S 202 x(\(GSS_DU)S
-2 x(PLICA)S -61 x(TE_T)S -10 x(OKEN)S -2 x(,)S 3899 X 647 y(GSS_O)S
-2 x(LD_T)S -10 x(OKEN)S -2 x(\))S 147 x(will)S 148 x(be)S 147 x(provided)S
147 x(when)S 147 x(GSS_V)S -63 x(erif)S 2 x(y)S(\()S 83 x(\))S 147 x
(or)S 148 x(GSS)S -2 x(_Unseal)S(\()S 85 x(\))S 147 x(is)S 147 x(presente)S
2 x(d)S 146 x(with)S 147 x(a)S 147 x(message)S 3899 X 648 y(which)S
172 x(is)S 172 x(eithe)S 2 x(r)S 172 x(a)S 172 x(detect)S 2 x(ed)S 172 x
(duplicat)S 2 x(e)S 172 x(of)S 172 x(a)S 172 x(prior)S 174 x(message)S
173 x(or)S 172 x(which)S 172 x(is)S 173 x(too)S 172 x(old)S 172 x(to)S
173 x(validate)S 173 x(against)S 174 x(a)S 172 x(cache)S 173 x(of)S
3899 X 648 y(recent)S 2 x(ly)S 182 x(rece)S 2 x(ived)S 183 x(messages)S
2 x(.)S 3899 14138 XY F32(1.2.4)S 547 x(Quality)S 184 x(of)S 183 x(Protection)S
3899 X 897 y F74(Some)S 193 x(mech_types)S 194 x(will)S 193 x(provide)S
194 x(their)S 194 x(users)S 193 x(with)S 193 x(\211ne)S 193 x(granulari)S
2 x(ty)S 193 x(control)S 194 x(over)S 193 x(the)S 193 x(means)S 194 x
(used)S 193 x(to)S 192 x(provide)S 3899 X 648 y(per)S -10 x(-message)S
217 x(protect)S 2 x(ion,)S 224 x(allowing)S 216 x(calle)S 2 x(rs)S 216 x
(to)S 216 x(trade)S 217 x(of)S -10 x(f)S 216 x(securi)S 2 x(ty)S 216 x
(processing)S 217 x(overhead)S 217 x(dynamicall)S 2 x(y)S 215 x(against)S
3899 X 647 y(the)S 157 x(protecti)S 2 x(on)S 156 x(require)S 2 x(ments)S
157 x(of)S 156 x(parti)S 2 x(cular)S 157 x(message)S 2 x(s.)S 235 x
(A)S 155 x(per)S -10 x(-messa)S 2 x(ge)S 156 x(quality-)S 2 x(of-prote)S
2 x(ction)S 157 x(paramet)S 2 x(er)S 157 x(\(anal-)S 3899 X 648 y(ogous)S
162 x(to)S 162 x(quality-of)S 2 x(-servi)S 2 x(ce,)S 166 x(or)S 162 x
(QOS\))S 162 x(selects)S 163 x(among)S 162 x(dif)S -9 x(fer)S 2 x(ent)S
162 x(QOP)S 161 x(options)S 162 x(supported)S 163 x(by)S 162 x(that)S
163 x(mechanism.)S 3899 X 647 y(On)S 193 x(context)S 195 x(establi)S
2 x(shment)S 194 x(for)S 195 x(a)S 194 x(multi-)S 2 x(QOP)S 192 x(mech_type)S
2 x(,)S 196 x(context-)S 2 x(level)S 194 x(data)S 195 x(provides)S 195 x
(the)S 194 x(prere)S 2 x(quisite)S 195 x(data)S 3899 X 648 y(for)S 183 x
(a)S 183 x(range)S 184 x(of)S 183 x(protect)S 2 x(ion)S 183 x(qualities)S
2 x(.)S 3899 19269 XY(It)S 168 x(is)S 168 x(expected)S 168 x(that)S
168 x(the)S 168 x(major)S 2 x(ity)S 167 x(of)S 168 x(calle)S 2 x(rs)S
168 x(will)S 167 x(not)S 168 x(wish)S 167 x(to)S 168 x(exert)S 168 x
(explic)S 2 x(it)S 167 x(mecha)S 2 x(nism-speci)S 2 x(\211c)S 167 x
(QOP)S 166 x(control)S 3899 X 648 y(and)S 224 x(will)S 224 x(theref)S
2 x(ore)S 224 x(request)S 225 x(selecti)S 2 x(on)S 223 x(of)S 224 x
(a)S 224 x(default)S 225 x(QOP)S -62 x(.)S 223 x(De\211nitions)S 225 x
(of,)S 234 x(and)S 223 x(choice)S 2 x(s)S 223 x(among,)S 234 x(non-def)S
2 x(ault)S 3899 X 647 y(QOP)S 143 x(values)S 145 x(are)S 145 x(mechanis)S
2 x(m-speci\211c,)S 153 x(and)S 144 x(no)S 144 x(ordere)S 2 x(d)S 144 x
(sequences)S 145 x(of)S 145 x(QOP)S 143 x(values)S 145 x(can)S 144 x
(be)S 145 x(assumed)S 145 x(equivalent)S 3899 X 648 y(across)S 149 x
(dif)S -9 x(ferent)S 149 x(mechani)S 2 x(sms.)S 232 x(Meaningful)S 149 x
(use)S 148 x(of)S 148 x(non-defa)S 2 x(ult)S 148 x(QOP)S 146 x(values)S
149 x(demands)S 149 x(that)S 148 x(calle)S 2 x(rs)S 148 x(be)S 148 x
(famili)S 2 x(ar)S 3899 X 647 y(with)S 209 x(the)S 210 x(QOP)S 208 x
(de\211nitions)S 210 x(of)S 210 x(an)S 209 x(underlyi)S 2 x(ng)S 209 x
(mechanism)S 211 x(or)S 209 x(mecha)S 2 x(nisms,)S 216 x(and)S 210 x
(is)S 209 x(there)S 2 x(fore)S 210 x(a)S 209 x(non-port)S 2 x(able)S
3899 X 648 y(construct)S 2 x(.)S 3899 24001 XY F28(2)S 598 x(Interface)S
201 x(Descriptions)S 3899 24998 XY F74(This)S 167 x(section)S 168 x
(describe)S 2 x(s)S 167 x(the)S 167 x(GSS-API')S -31 x(s)S 167 x(servic)S
2 x(e)S 167 x(interf)S 2 x(ace,)S 170 x(dividing)S 168 x(the)S 167 x
(set)S 168 x(of)S 167 x(calls)S 168 x(of)S -9 x(fered)S 168 x(into)S
167 x(four)S 168 x(groups.)S 3899 X 647 y(Credent)S 2 x(ial)S 276 x
(management)S 277 x(calls)S 276 x(are)S 276 x(rela)S 2 x(ted)S 275 x
(to)S 276 x(the)S 276 x(acquisition)S 277 x(and)S 275 x(relea)S 2 x
(se)S 275 x(of)S 276 x(credentia)S 2 x(ls)S 275 x(by)S 275 x(princi)S
2 x(pals.)S 3899 X 648 y(Context-)S 2 x(level)S 192 x(calls)S 192 x
(are)S 192 x(rela)S 2 x(ted)S 191 x(to)S 192 x(the)S 191 x(managem)S
2 x(ent)S 191 x(of)S 192 x(security)S 192 x(context)S 2 x(s)S 191 x
(between)S 191 x(princi)S 2 x(pals.)S 269 x(Per)S -10 x(-message)S 3899 X
647 y(calls)S 187 x(are)S 186 x(relat)S 2 x(ed)S 185 x(to)S 186 x(the)S
186 x(protect)S 2 x(ion)S 185 x(of)S 186 x(individual)S 187 x(messages)S
187 x(on)S 185 x(establi)S 2 x(shed)S 185 x(secur)S 2 x(ity)S 185 x
(context)S 2 x(s.)S 251 x(Support)S 186 x(calls)S 3899 X 648 y(provide)S
147 x(ancilla)S 2 x(ry)S 146 x(functions)S 147 x(useful)S 147 x(to)S
146 x(GSS-API)S 145 x(call)S 2 x(ers.)S 232 x(T)S -39 x(able)S 147 x
(2)S 146 x(groups)S 146 x(and)S 146 x(summar)S 2 x(izes)S 147 x(the)S
146 x(call)S 2 x(s)S 146 x(in)S 146 x(tabular)S 3899 X 647 y(fashion.)S
23085 37373 XY F36(1)S -27 x(1\203June\2031991)S 498 x(9)S
%%EndCustomColor: 0
9 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 10 10
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 3899 2106 XY F40(Generic)S 150 x(Security)S 150 x(Service)S 151 x
(API:)S 149 x(Internet-Dra)S 2 x(ft)S 3899 X 548 y(Common)S 148 x(Authentication)S
150 x(T)S -34 x(echnology)S 150 x(WG:)S 150 x(John)S 149 x(Linn)S 149 x
(\(DEC\))S 3899 3650 XY 23316 48 R 3899 4297 XY F32(T)S -41 x(able)S
182 x(2:)S 498 x(GSS)S 2 x(-API)S 183 x(Calls)S 3899 X 299 y 23316 48 R
3899 5294 XY F38(CREDENTI)S -2 x(AL)S 150 x(MANAGEMENT)S 3899 X 697 y
(GSS_Acquire_cr)S 2 x(ed)S 13513 X(acquire)S 150 x(crede)S 2 x(ntials)S
148 x(for)S 150 x(use)S 3899 X 697 y(GSS_Release_cred)S 13513 X(release)S
150 x(crede)S 2 x(ntials)S 148 x(after)S 150 x(use)S 3899 X 698 y(CONTEXT)S
-26 x(-LEVEL)S 151 x(CALLS)S 3899 X 697 y(GSS_Init_sec_context)S 13513 X
(initi)S -2 x(ate)S 150 x(outbound)S 151 x(security)S 150 x(context)S
3899 X 698 y(GSS_Accept_sec_)S 2 x(context)S 13513 X(accept)S 150 x
(inbound)S 151 x(security)S 149 x(context)S 3899 X 697 y(GSS_Delete_sec_context)S
13513 X(\212ush)S 150 x(context)S 150 x(when)S 150 x(no)S 150 x(longer)S
150 x(needed)S 3899 X 697 y(GSS_Process_)S 2 x(context_token)S 13513 X
(process)S 151 x(received)S 150 x(control)S 150 x(token)S 150 x(on)S
150 x(context)S 3899 X 698 y(GSS_Context_time)S 13513 X(indicate)S 149 x
(validity)S 149 x(time)S 149 x(remaining)S 151 x(on)S 149 x(context)S
3899 X 697 y(PER-MESSAGE)S 150 x(CALLS)S 3899 X 697 y(GSS_Sign)S 13513 X
(apply)S 150 x(signature,)S 150 x(receive)S 150 x(as)S 150 x(token)S
150 x(separate)S 151 x(from)S 150 x(message)S 3899 X 698 y(GSS_V)S -25 x
(erify)S 13513 X(validate)S 149 x(signature)S 151 x(token)S 150 x(along)S
150 x(wit)S -2 x(h)S 150 x(messag)S 2 x(e)S 3899 X 697 y(GSS_Seal)S
13513 X(sign,)S 149 x(optionally)S 149 x(encryp)S 2 x(t,)S 148 x(encap)S
2 x(sulate)S 3899 X 698 y(GSS_Unseal)S 13513 X(decapsulate,)S 150 x
(decryp)S 2 x(t)S 149 x(if)S 148 x(neede)S 2 x(d,)S 149 x(validate)S
149 x(signature)S 3899 X 697 y(SUPPOR)S -9 x(T)S 149 x(CALLS)S 3899 X
697 y(GSS_Display_status)S 13513 X(translate)S 150 x(status)S 149 x
(codes)S 151 x(to)S 149 x(printable)S 150 x(form)S 3899 X 698 y(GSS_Indicate_mechs)S
13513 X(indicate)S 149 x(mech_)S 2 x(types)S 149 x(suppo)S 2 x(rted)S
150 x(on)S 150 x(local)S 149 x(system)S 3899 X 697 y(GSS_Compare_)S
2 x(name)S 13513 X(compare)S 151 x(two)S 149 x(names)S 151 x(for)S 150 x
(equality)S 3899 X 698 y(GSS_Display_name)S 13513 X(translate)S 150 x
(name)S 150 x(to)S 150 x(printable)S 149 x(form)S 3899 X 697 y(GSS_Import_nam)S
2 x(e)S 13513 X(convert)S 150 x(printable)S 150 x(name)S 151 x(to)S
149 x(norma)S 2 x(lized)S 149 x(form)S 3899 X 697 y(GSS_Release_nam)S
2 x(e)S 13513 X(free)S 150 x(storage)S 150 x(of)S 150 x(normalized-form)S
151 x(name)S 3899 X 698 y(GSS_Release_buf)S -7 x(fer)S 13513 X(free)S
150 x(storage)S 150 x(of)S 150 x(printable)S 149 x(name)S 3899 X 697 y
(GSS_Release_oid_set)S 13513 X(free)S 150 x(storage)S 150 x(of)S 150 x
(OID)S 148 x(set)S 150 x(object)S 3899 X 399 y 23316 48 R 3899 22529 XY
F32(2.1)S 547 x(Credential)S 183 x(manage)S -2 x(ment)S 183 x(calls)S
3899 23525 XY F74(These)S 176 x(GSS-API)S 175 x(call)S 2 x(s)S 176 x
(provide)S 176 x(functi)S 2 x(ons)S 176 x(relate)S 2 x(d)S 176 x(to)S
176 x(the)S 176 x(managem)S 2 x(ent)S 176 x(of)S 177 x(credenti)S 2 x
(als.)S 242 x(Their)S 176 x(chara)S 2 x(cteriz)S 2 x(ation)S 3899 X
648 y(with)S 257 x(regard)S 258 x(to)S 257 x(whether)S 257 x(or)S 257 x
(not)S 257 x(they)S 257 x(may)S 257 x(block)S 258 x(pending)S 257 x
(exchanges)S 257 x(with)S 257 x(other)S 258 x(network)S 257 x(entiti)S
2 x(es)S 257 x(\(e.g.,)S 3899 X 647 y(direct)S 2 x(ories)S 217 x(or)S
216 x(authentic)S 2 x(ation)S 216 x(server)S 2 x(s\))S 216 x(depends)S
217 x(in)S 216 x(part)S 217 x(on)S 216 x(OS-speci\211c)S 216 x(\(extr)S
2 x(a-GSS-API\))S 216 x(issues,)S 225 x(so)S 216 x(is)S 216 x(not)S
3899 X 648 y(speci\211ed)S 183 x(in)S 183 x(this)S 184 x(document.)S
3899 26464 XY(The)S 194 x(GSS_A)S -2 x(cquire_c)S 2 x(red)S(\()S 84 x
(\))S 194 x(call)S 195 x(is)S 194 x(de\211ned)S 194 x(within)S 194 x
(the)S 195 x(GSS-AP)S -2 x(I)S 195 x(in)S 194 x(support)S 194 x(of)S
194 x(applica)S 2 x(tion)S 194 x(portabil)S 2 x(ity)S -35 x(,)S 196 x
(with)S 3899 X 648 y(a)S 182 x(particul)S 2 x(ar)S 182 x(orienta)S 2 x
(tion)S 182 x(towards)S 182 x(support)S 182 x(of)S 182 x(portable)S
183 x(server)S 183 x(applic)S 2 x(ations.)S 244 x(It)S 182 x(is)S 182 x
(recognize)S 2 x(d)S 181 x(that)S 183 x(\(for)S 182 x(cer)S 2 x(tain)S
3899 X 647 y(systems)S 126 x(and)S 125 x(mechani)S 2 x(sms\))S 126 x
(credentia)S 2 x(ls)S 125 x(for)S 126 x(intera)S 2 x(ctive)S 126 x(users)S
126 x(may)S 125 x(be)S 125 x(managed)S 126 x(dif)S -9 x(ferent)S 2 x
(ly)S 125 x(from)S 126 x(credent)S 2 x(ials)S 126 x(for)S 3899 X 648 y
(server)S 180 x(processes;)S 181 x(in)S 179 x(such)S 178 x(environm)S
2 x(ents,)S 180 x(it)S 178 x(is)S 179 x(the)S 179 x(GSS-AP)S -2 x(I)S
179 x(implem)S 2 x(entation')S -29 x(s)S 179 x(responsibil)S 2 x(ity)S
178 x(to)S 179 x(distinguish)S 3899 X 648 y(these)S 194 x(cases)S 195 x
(and)S 194 x(the)S 194 x(procedur)S 2 x(es)S 194 x(for)S 194 x(making)S
195 x(this)S 194 x(distinct)S 2 x(ion)S 193 x(are)S 195 x(a)S 194 x
(local)S 195 x(matter)S -28 x(.)S 276 x(The)S 194 x(GSS)S -2 x(_Rel)S
2 x(ease_cre)S 2 x(d)S(\()S 83 x(\))S 3899 X 647 y(call)S 231 x(provides)S
231 x(a)S 230 x(means)S 231 x(for)S 231 x(caller)S 2 x(s)S 230 x(to)S
230 x(indicat)S 2 x(e)S 230 x(to)S 230 x(the)S 231 x(GSS-AP)S -2 x(I)S
231 x(that)S 230 x(use)S 231 x(of)S 230 x(a)S 230 x(crede)S 2 x(ntials)S
231 x(structur)S 2 x(e)S 230 x(is)S 231 x(no)S 3899 X 648 y(longer)S
184 x(required.)S 3899 31744 XY F32(2.1.1)S 547 x(GSS)S 2 x(_Acq)S -2 x
(uire_cred)S 182 x(call)S 3899 X 897 y F74(Inputs:)S 3899 X 897 y(\201)S
854 x(desiredna)S 2 x(me)S 183 x(INTERNAL)S 182 x(NAME,)S 182 x(\202NULL)S
181 x(requests)S 184 x(locall)S 2 x(y-deter)S 2 x(mined)S 183 x(default)S
3899 X 896 y(\201)S 854 x(lifet)S 2 x(ime_req)S 184 x(INTEGER,\202in)S
182 x(seconds;)S 184 x(0)S 183 x(requests)S 184 x(default)S 3899 X 897 y
(\201)S 854 x(desired_m)S 2 x(echs)S 183 x(SET)S 182 x(OF)S 182 x(OBJECT)S
183 x(IDENTIFIER,\202empty)S 183 x(set)S 184 x(requests)S 184 x(system-)S
2 x(selecte)S 2 x(d)S 182 x(defaul)S 2 x(t)S 3899 37373 XY F36(10)S
498 x(1)S -28 x(1\203June\2031991)S
%%EndCustomColor: 0
10 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Helvetica
%%+ Times-Roman
%%PageCustomColors: 0
%
%%Page: 11 11
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 17844 2106 XY F40(Generic)S 150 x(Security)S 151 x(Service)S 150 x
(API:)S 149 x(Internet-)S 2 x(Draft)S 14568 X 548 y(Comm)S -2 x(on)S
150 x(Authentication)S 149 x(T)S -33 x(echnology)S 149 x(WG:)S 150 x
(John)S 150 x(Linn)S 148 x(\(DEC\))S 3899 3976 XY F74(\201)S 854 x(cred_usage)S
184 x(INTEGER\2020=INITIA)S -61 x(TE-AND-ACCEPT)S -41 x(,)S 183 x(1=INITIA)S
-61 x(TE-ONL)S -55 x(Y)S -72 x(,)S 183 x(2=ACCEPT)S -50 x(-ONL)S -56 x
(Y)S 3899 5072 XY(Outputs:)S 3899 X 897 y(\201)S 854 x(major_st)S 2 x
(atus)S 183 x(INTEGER,)S 3899 X 897 y(\201)S 854 x(minor_sta)S 2 x(tus)S
183 x(INTEGER,)S 3899 X 896 y(\201)S 854 x(output_cre)S 2 x(d_handle)S
183 x(OCTET)S 182 x(STRING,)S 3899 X 897 y(\201)S 854 x(lifet)S 2 x
(ime_rec)S 184 x(INTEGER)S 182 x(\202in)S 183 x(seconds,)S 184 x(or)S
183 x(reser)S 2 x(ved)S 182 x(value)S 184 x(for)S 183 x(INDEFINITE)S
3899 9755 XY(Return)S 184 x(major_s)S 2 x(tatus)S 183 x(codes:)S 3899 X
896 y(\201)S 854 x(GSS_COMPLE)S -2 x(TE)S 139 x(indicat)S 2 x(es)S 140 x
(that)S 140 x(requeste)S 2 x(d)S 139 x(credent)S 2 x(ials)S 140 x(were)S
140 x(successf)S 2 x(ully)S 140 x(establi)S 2 x(shed,)S 148 x(for)S
140 x(the)S 140 x(durati)S 2 x(on)S 4945 X 648 y(indicate)S 2 x(d)S
196 x(in)S 197 x(lif)S 2 x(etime_r)S 2 x(ec,)S 200 x(suitabl)S 2 x(e)S
197 x(for)S 197 x(the)S 198 x(usage)S 197 x(requeste)S 2 x(d)S 196 x
(in)S 197 x(cred_usa)S 2 x(ge,)S 200 x(and)S 197 x(for)S 198 x(all)S
197 x(or)S 197 x(a)S 197 x(subset)S 198 x(of)S 4945 X 648 y(the)S 183 x
(reques)S 2 x(ted)S 183 x(mech_type)S 2 x(s,)S 183 x(and)S 183 x(that)S
184 x(those)S 183 x(crede)S 2 x(ntials)S 184 x(can)S 184 x(be)S 183 x
(refer)S 2 x(enced)S 183 x(for)S 184 x(subsequent)S 184 x(use)S 184 x
(with)S 183 x(the)S 4945 X 647 y(handle)S 183 x(ret)S 2 x(urned)S 183 x
(in)S 183 x(output_cred_ha)S 2 x(ndle.)S 3899 X 897 y(\201)S 854 x(GSS_BAD_ME)S
-2 x(CH)S 218 x(indicat)S 2 x(es)S 218 x(that)S 218 x(a)S 218 x(mech_type)S
219 x(unsupported)S 219 x(by)S 217 x(the)S 219 x(GSS)S -2 x(-API)S 218 x
(implem)S 2 x(entation)S 219 x(type)S 4945 X 647 y(was)S 183 x(requested,)S
184 x(causing)S 184 x(the)S 183 x(credenti)S 2 x(al)S 183 x(establi)S
2 x(shment)S 183 x(operat)S 2 x(ion)S 183 x(to)S 183 x(fail.)S 3899 X
897 y(\201)S 854 x(GSS_BAD_N)S -2 x(AMETYPE)S 238 x(indicat)S 2 x(es)S
239 x(that)S 241 x(the)S 240 x(provided)S 241 x(desirednam)S 2 x(e)S
239 x(is)S 240 x(uninter)S 2 x(pretable)S 241 x(or)S 240 x(of)S 240 x
(a)S 240 x(type)S 4945 X 648 y(unsupported)S 179 x(by)S 177 x(the)S
178 x(supporting)S 179 x(GSS-AP)S -2 x(I)S 178 x(imple)S 2 x(mentation,)S
180 x(so)S 177 x(no)S 178 x(credent)S 2 x(ials)S 178 x(could)S 178 x
(be)S 178 x(establi)S 2 x(shed)S 178 x(for)S 4945 X 647 y(the)S 183 x
(accompa)S 2 x(nying)S 182 x(desir)S 2 x(edname.)S 3899 X 897 y(\201)S
854 x(GSS_BAD_N)S -2 x(AME)S 220 x(indicates)S 222 x(that)S 221 x(the)S
220 x(provided)S 221 x(desire)S 2 x(dname)S 221 x(is)S 220 x(inconsist)S
2 x(ent)S 220 x(in)S 221 x(terms)S 221 x(of)S 221 x(internal)S 2 x(ly-)S
4945 X 647 y(incorpora)S 2 x(ted)S 157 x(type)S 158 x(speci\211er)S
159 x(informat)S 2 x(ion,)S 162 x(so)S 157 x(no)S 157 x(crede)S 2 x
(ntials)S 158 x(could)S 158 x(be)S 157 x(establi)S 2 x(shed)S 157 x
(for)S 158 x(the)S 158 x(accompanyi)S 2 x(ng)S 4945 X 648 y(desiredna)S
2 x(me.)S 3899 X 897 y(\201)S 854 x(GSS_F)S -42 x(AILURE)S 146 x(indicat)S
2 x(es)S 146 x(that)S 148 x(credentia)S 2 x(l)S 146 x(establ)S 2 x(ishment)S
147 x(fai)S 2 x(led)S 146 x(for)S 148 x(reasons)S 147 x(unspeci\211ed)S
147 x(at)S 147 x(the)S 147 x(GSS-API)S 4945 X 647 y(level,)S 236 x(including)S
225 x(lack)S 225 x(of)S 224 x(authori)S 2 x(zation)S 225 x(to)S 224 x
(establ)S 2 x(ish)S 224 x(and)S 225 x(use)S 224 x(credent)S 2 x(ials)S
225 x(associat)S 2 x(ed)S 224 x(with)S 224 x(the)S 225 x(identity)S
4945 X 648 y(named)S 183 x(in)S 183 x(the)S 184 x(input)S 183 x(desiredna)S
2 x(me)S 183 x(ar)S -9 x(gument.)S 3899 21810 XY(GSS_A)S -2 x(cquire)S
2 x(_cred)S(\()S 84 x(\))S 226 x(is)S 225 x(used)S 225 x(to)S 226 x
(acquire)S 226 x(crede)S 2 x(ntials)S 226 x(so)S 225 x(that)S 226 x
(a)S 225 x(principa)S 2 x(l)S 225 x(can)S 226 x(\(as)S 225 x(a)S 226 x
(function)S 226 x(of)S 225 x(the)S 226 x(input)S 3899 X 647 y(cred_usage)S
273 x(parame)S 2 x(ter\))S 273 x(initiate)S 273 x(and/or)S 273 x(accept)S
273 x(security)S 273 x(contexts)S 272 x(under)S 273 x(the)S 272 x(identity)S
273 x(represent)S 2 x(ed)S 271 x(by)S 272 x(the)S 3899 X 648 y(desiredna)S
2 x(me)S 167 x(input)S 168 x(ar)S -10 x(gument.)S 239 x(On)S 167 x(successf)S
2 x(ul)S 167 x(completi)S 2 x(on,)S 170 x(the)S 167 x(retur)S 2 x(ned)S
167 x(output_cred_handl)S 2 x(e)S 167 x(result)S 168 x(provides)S 3899 X
647 y(a)S 229 x(handle)S 229 x(for)S 229 x(subsequent)S 230 x(refer)S
2 x(ences)S 229 x(to)S 229 x(the)S 229 x(acquire)S 2 x(d)S 228 x(credent)S
2 x(ials.)S 382 x(T)S -39 x(ypicall)S 2 x(y)S -36 x(,)S 240 x(single-us)S
2 x(er)S 229 x(client)S 230 x(processes)S 3899 X 648 y(using)S 183 x
(only)S 183 x(default)S 184 x(credent)S 2 x(ials)S 183 x(for)S 184 x
(context)S 184 x(establis)S 2 x(hment)S 183 x(purposes)S 184 x(will)S
183 x(have)S 183 x(no)S 183 x(need)S 183 x(to)S 183 x(invoke)S 183 x
(this)S 183 x(call)S 2 x(.)S 3899 25396 XY(A)S 156 x(calle)S 2 x(r)S
157 x(may)S 157 x(provide)S 157 x(a)S 157 x(rese)S 2 x(rved)S 157 x
(value)S 157 x(for)S 158 x(desiredna)S 2 x(me)S 157 x(signifying)S 158 x
(a)S 157 x(request)S 158 x(for)S 157 x(crede)S 2 x(ntials)S 158 x(correspondi)S
2 x(ng)S 3899 X 648 y(to)S 154 x(a)S 153 x(defaul)S 2 x(t)S 154 x(principal)S
155 x(identit)S 2 x(y;)S 163 x(the)S 154 x(procedur)S 2 x(es)S 154 x
(used)S 153 x(by)S 154 x(GSS-AP)S -2 x(I)S 154 x(imple)S 2 x(mentations)S
155 x(to)S 154 x(select)S 155 x(the)S 154 x(appropri)S 2 x(ate)S 3899 X
647 y(principal)S 203 x(identity)S 202 x(in)S 201 x(response)S 202 x
(to)S 202 x(this)S 201 x(form)S 202 x(of)S 202 x(request)S 202 x(are)S
202 x(local)S 202 x(matte)S 2 x(rs.)S 299 x(It)S 201 x(is)S 202 x(possible)S
202 x(that)S 202 x(multiple)S 202 x(pre-)S 3899 X 648 y(establi)S 2 x
(shed)S 158 x(crede)S 2 x(ntials)S 160 x(may)S 159 x(exist)S 159 x(for)S
159 x(the)S 159 x(same)S 160 x(principa)S 2 x(l)S 158 x(identi)S 2 x
(ty)S 158 x(\(for)S 160 x(example)S 2 x(,)S 163 x(as)S 159 x(a)S 158 x
(resul)S 2 x(t)S 158 x(of)S 159 x(multi)S 2 x(ple)S 159 x(user)S 3899 X
647 y(login)S 215 x(sessions\))S 216 x(when)S 214 x(GSS_Acquire_cred)S
(\()S 85 x(\))S 215 x(is)S 215 x(called;)S 232 x(the)S 215 x(means)S
216 x(used)S 214 x(in)S 215 x(such)S 215 x(cases)S 216 x(to)S 215 x
(select)S 216 x(a)S 214 x(speci)S 2 x(\211c)S 3899 X 648 y(credenti)S
2 x(al)S 183 x(are)S 184 x(local)S 184 x(matter)S 2 x(s)S -181 y F86
(7)S 25 x 181 y F74(.)S 3899 29630 XY(The)S 200 x(life)S 2 x(time_re)S
2 x(c)S 200 x(resul)S 2 x(t)S 200 x(indicat)S 2 x(es)S 201 x(the)S 200 x
(length)S 202 x(of)S 200 x(time)S 202 x(for)S 201 x(which)S 201 x(the)S
201 x(acquired)S 202 x(credenti)S 2 x(als)S 201 x(will)S 201 x(be)S
200 x(valid,)S 206 x(as)S 3899 X 648 y(an)S 227 x(of)S -9 x(fset)S 228 x
(from)S 228 x(the)S 228 x(present)S 2 x(.)S 376 x(A)S 227 x(mechanis)S
2 x(m)S 227 x(may)S 228 x(return)S 228 x(a)S 228 x(reserved)S 229 x
(value)S 227 x(indica)S 2 x(ting)S 227 x(INDEFINITE)S 227 x(if)S 228 x
(no)S 3899 X 647 y(constrai)S 2 x(nts)S 186 x(on)S 186 x(credent)S 2 x
(ial)S 187 x(lifeti)S 2 x(me)S 186 x(are)S 187 x(imposed.)S 255 x(A)S
186 x(caller)S 188 x(of)S 186 x(GSS_Acquire_cred)S(\()S 84 x(\))S 187 x
(can)S 186 x(reques)S 2 x(t)S 186 x(a)S 186 x(length)S 187 x(of)S 3899 X
648 y(time)S 167 x(for)S 167 x(which)S 166 x(acquired)S 167 x(credent)S
2 x(ials)S 167 x(are)S 167 x(to)S 166 x(be)S 166 x(valid)S 167 x(\(lifet)S
2 x(ime_req)S 167 x(ar)S -9 x(gument\),)S 171 x(beginning)S 166 x(at)S
167 x(the)S 166 x(present)S 2 x -181 y F86(8)S 25 x 181 y F74(,)S 169 x
(or)S 3899 X 648 y(can)S 212 x(request)S 214 x(credentia)S 2 x(ls)S
212 x(with)S 212 x(a)S 212 x(defaul)S 2 x(t)S 212 x(validity)S 213 x
(interva)S 2 x(l.)S 331 x(Cert)S 2 x(ain)S 212 x(mechanis)S 2 x(ms)S
212 x(and)S 212 x(impleme)S 2 x(ntations)S 213 x(may)S 3899 X 647 y
(bind)S 222 x(in)S 222 x(credentia)S 2 x(l)S 222 x(validity)S 223 x
(period)S 222 x(speci\211er)S 2 x(s)S 221 x(at)S 223 x(a)S 221 x(point)S
222 x(prel)S 2 x(iminary)S 223 x(to)S 222 x(invocation)S 223 x(of)S
222 x(the)S 222 x(GSS_A)S -2 x(cquire_)S 3899 X 648 y(cred)S(\()S 84 x
(\))S 196 x(call)S 196 x(\(e.g.,)S 199 x(in)S 196 x(conjunction)S 196 x
(with)S 195 x(user)S 196 x(login)S 196 x(procedur)S 2 x(es\).)S 281 x
(As)S 195 x(a)S 196 x(result,)S 199 x(call)S 2 x(ers)S 196 x(requesting)S
196 x(non-def)S 2 x(ault)S 3899 X 887 y 6996 24 R 4123 34750 XY F90
(7)S 225 x 141 y F86(The)S 132 x(input)S 132 x(lifetime_req)S 131 x
(ar)S -8 x(gument)S 133 x(to)S 131 x(GSS_Acquire_cred)S(\()S 70 x(\))S
131 x(may)S 132 x(provide)S 132 x(useful)S 132 x(information)S 131 x
(for)S 132 x(local)S 131 x(GSS-AP)S -2 x(I)S 132 x(implementations)S
131 x(to)S 132 x(employ)S 132 x(in)S 4497 X 448 y(making)S 133 x(this)S
133 x(disambiguation)S 133 x(in)S 133 x(a)S 133 x(manner)S 133 x(which)S
132 x(will)S 132 x(best)S 133 x(satisfy)S 133 x(a)S 132 x(caller)S 14 x
(')S -22 x(s)S 133 x(intent.)S 4123 X 399 y F90(8)S 225 x 141 y F86
(Requests)S 132 x(for)S 133 x(postdated)S 133 x(credentials)S 132 x
(are)S 133 x(not)S 133 x(supported)S 134 x(within)S 132 x(the)S 133 x
(GSS-)S -2 x(API.)S 22836 37554 XY F36(1)S -28 x(1\203June\2031991)S
499 x(1)S -28 x(1)S
%%EndCustomColor: 0
11 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 12 12
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 3899 2106 XY F40(Generic)S 150 x(Security)S 150 x(Service)S 151 x
(API:)S 149 x(Internet-Dra)S 2 x(ft)S 3899 X 548 y(Common)S 148 x(Authentication)S
150 x(T)S -34 x(echnology)S 150 x(WG:)S 150 x(John)S 149 x(Linn)S 149 x
(\(DEC\))S 3899 3976 XY F74(values)S 147 x(for)S 147 x(lifet)S 2 x(ime_req)S
147 x(must)S 147 x(recogni)S 2 x(ze)S 146 x(that)S 147 x(such)S 147 x
(requests)S 147 x(cannot)S 147 x(always)S 147 x(be)S 146 x(honored)S
147 x(and)S 147 x(must)S 146 x(be)S 147 x(prepared)S 3899 X 648 y(to)S
183 x(accomodat)S 2 x(e)S 182 x(the)S 184 x(use)S 183 x(of)S 183 x(returne)S
2 x(d)S 182 x(crede)S 2 x(ntials)S 184 x(with)S 182 x(dif)S -9 x(fer)S
2 x(ent)S 183 x(lifet)S 2 x(imes)S 183 x(as)S 183 x(indica)S 2 x(ted)S
183 x(in)S 183 x(lifeti)S 2 x(me_rec.)S 3899 5620 XY(The)S 126 x(call)S
2 x(er)S 127 x(of)S 127 x(GSS_A)S -2 x(cquire_c)S 2 x(red)S(\()S 84 x
(\))S 127 x(can)S 127 x(explicit)S 2 x(ly)S 126 x(specif)S 2 x(y)S 126 x
(a)S 127 x(set)S 127 x(of)S 127 x(mech_types)S 128 x(which)S 127 x(are)S
127 x(to)S 127 x(be)S 126 x(accom)S 2 x(odated)S 3899 X 648 y(in)S 235 x
(the)S 235 x(returned)S 236 x(credenti)S 2 x(als)S 235 x(\(desir)S 2 x
(ed_mechs)S 235 x(ar)S -9 x(gument\),)S 249 x(or)S 235 x(can)S 235 x
(request)S 235 x(cre)S 2 x(dentials)S 236 x(for)S 235 x(a)S 235 x(system-de)S
2 x(\211ned)S 3899 X 647 y(default)S 185 x(set)S 184 x(of)S 184 x(mech_types)S
2 x(.)S 246 x(Selection)S 185 x(of)S 183 x(the)S 184 x(system)S 2 x
(-speci\211ed)S 185 x(default)S 185 x(set)S 184 x(is)S 184 x(recomme)S
2 x(nded)S 183 x(in)S 184 x(the)S 184 x(inter)S 2 x(ests)S 3899 X 648 y
(of)S 183 x(applicat)S 2 x(ion)S 183 x(portabili)S 2 x(ty)S -36 x(.)S
3899 8958 XY F32(2.1.2)S 547 x(GSS)S 2 x(_Relea)S -2 x(se_cred)S 181 x
(call)S 3899 X 896 y F74(Input:)S 3899 X 897 y(\201)S 854 x(cred_handle)S
184 x(OCTET)S 183 x(STRING)S 3899 11847 XY(Outputs:)S 3899 X 897 y(\201)S
854 x(major_st)S 2 x(atus)S 183 x(INTEGER,)S 3899 X 896 y(\201)S 854 x
(minor_sta)S 2 x(tus)S 183 x(INTEGER)S 3899 14736 XY(Return)S 184 x
(major_s)S 2 x(tatus)S 183 x(codes:)S 3899 X 897 y(\201)S 854 x(GSS_COMPLE)S
-2 x(TE)S 190 x(indicate)S 2 x(s)S 190 x(that)S 190 x(the)S 191 x(credent)S
2 x(ials)S 191 x(refer)S 2 x(enced)S 190 x(by)S 190 x(the)S 191 x(input)S
190 x(cred_handl)S 2 x(e)S 190 x(were)S 190 x(rele)S 2 x(ased)S 4945 X
647 y(for)S 265 x(purposes)S 265 x(of)S 264 x(subsequent)S 265 x(acce)S
2 x(ss)S 264 x(by)S 264 x(the)S 265 x(caller)S -29 x(.)S 488 x(The)S
264 x(ef)S -9 x(fect)S 266 x(on)S 264 x(other)S 265 x(processes)S 265 x
(which)S 265 x(may)S 264 x(be)S 4945 X 648 y(authoriz)S 2 x(ed)S 182 x
(share)S 2 x(d)S 182 x(acces)S 2 x(s)S 182 x(to)S 183 x(such)S 183 x
(crede)S 2 x(ntials)S 184 x(is)S 183 x(a)S 183 x(local)S 184 x(matter)S
-29 x(.)S 3899 X 897 y(\201)S 854 x(GSS_N)S -2 x(O_CRED)S 191 x(indicate)S
2 x(s)S 190 x(that)S 191 x(no)S 191 x(release)S 192 x(operati)S 2 x
(on)S 190 x(was)S 190 x(perf)S 2 x(ormed,)S 193 x(either)S 192 x(because)S
192 x(the)S 191 x(input)S 190 x(cre)S 2 x(d_)S 4945 X 647 y(handle)S
183 x(was)S 183 x(invalid)S 184 x(or)S 183 x(because)S 184 x(the)S 183 x
(calle)S 2 x(r)S 183 x(lacks)S 183 x(authori)S 2 x(zation)S 184 x(to)S
183 x(access)S 184 x(the)S 183 x(refer)S 2 x(enced)S 183 x(crede)S 2 x
(ntials.)S 3899 X 897 y(\201)S 854 x(GSS_F)S -42 x(AILURE)S 210 x(indicat)S
2 x(es)S 210 x(that)S 211 x(the)S 211 x(rele)S 2 x(ase)S 211 x(operation)S
212 x(failed)S 212 x(for)S 211 x(reasons)S 211 x(unspeci\211ed)S 212 x
(at)S 210 x(the)S 211 x(GSS-API)S 4945 X 647 y(level.)S 3899 21112 XY
(Provides)S 250 x(a)S 249 x(means)S 250 x(for)S 249 x(a)S 249 x(call)S
2 x(er)S 249 x(to)S 249 x(explic)S 2 x(itly)S 249 x(request)S 251 x
(that)S 249 x(crede)S 2 x(ntials)S 250 x(be)S 249 x(relea)S 2 x(sed)S
249 x(when)S 249 x(their)S 250 x(use)S 249 x(is)S 250 x(no)S 3899 X
648 y(longer)S 257 x(requir)S 2 x(ed.)S 465 x(Note)S 257 x(that)S 257 x
(system-)S 2 x(speci\211c)S 257 x(credent)S 2 x(ial)S 257 x(manageme)S
2 x(nt)S 256 x(functi)S 2 x(ons)S 256 x(are)S 258 x(also)S 257 x(likely)S
258 x(to)S 256 x(exist,)S 3899 X 647 y(for)S 230 x(example)S 230 x(to)S
230 x(assure)S 230 x(that)S 230 x(crede)S 2 x(ntials)S 230 x(shared)S
230 x(among)S 230 x(processes)S 231 x(are)S 230 x(properly)S 230 x(delet)S
2 x(ed)S 229 x(when)S 229 x(all)S 230 x(af)S -9 x(fected)S 3899 X 648 y
(processes)S 214 x(term)S 2 x(inate,)S 221 x(even)S 213 x(if)S 214 x
(no)S 212 x(explici)S 2 x(t)S 213 x(release)S 214 x(reques)S 2 x(ts)S
213 x(are)S 213 x(issued)S 214 x(by)S 212 x(those)S 214 x(processes)S
2 x(.)S 333 x(Given)S 213 x(the)S 213 x(fact)S 3899 X 647 y(that)S 160 x
(multipl)S 2 x(e)S 159 x(call)S 2 x(ers)S 160 x(are)S 160 x(not)S 160 x
(precl)S 2 x(uded)S 159 x(from)S 161 x(gaining)S 160 x(authoriz)S 2 x
(ed)S 159 x(acces)S 2 x(s)S 159 x(to)S 160 x(the)S 160 x(same)S 160 x
(crede)S 2 x(ntials,)S 165 x(invocati)S 2 x(on)S 3899 X 648 y(of)S 234 x
(GSS)S -2 x(_Rel)S 2 x(ease_cre)S 2 x(d)S(\()S 83 x(\))S 234 x(cannot)S
234 x(be)S 233 x(assumed)S 235 x(to)S 233 x(delete)S 235 x(a)S 233 x
(parti)S 2 x(cular)S 234 x(set)S 234 x(of)S 234 x(credent)S 2 x(ials)S
234 x(on)S 233 x(a)S 234 x(system-wide)S 3899 X 648 y(basis.)S 3899 26492 XY
F32(2.2)S 547 x(Context-level)S 183 x(calls)S 3899 27488 XY F74(This)S
178 x(group)S 177 x(of)S 178 x(calls)S 179 x(is)S 178 x(devoted)S 178 x
(to)S 178 x(the)S 178 x(establi)S 2 x(shment)S 178 x(and)S 178 x(manageme)S
2 x(nt)S 177 x(of)S 178 x(securi)S 2 x(ty)S 177 x(context)S 2 x(s)S
177 x(between)S 178 x(peers.)S 3899 X 648 y(A)S 223 x(context')S -29 x
(s)S 224 x(initiat)S 2 x(or)S 223 x(call)S 2 x(s)S 223 x(GSS_Init_sec_context)S
2 x(\()S 83 x(\))S(,)S 234 x(result)S 2 x(ing)S 223 x(in)S 224 x(generati)S
2 x(on)S 223 x(of)S 224 x(a)S 223 x(token)S 224 x(which)S 224 x(the)S
223 x(call)S 2 x(er)S 3899 X 647 y(passes)S 219 x(to)S 219 x(the)S 219 x
(tar)S -9 x(get.)S 351 x(At)S 218 x(the)S 219 x(tar)S -9 x(get,)S 228 x
(that)S 219 x(token)S 219 x(is)S 218 x(passed)S 219 x(to)S 219 x(GSS_Accept_sec_context)S
2 x(\()S 83 x(\))S(.)S 351 x(Depending)S 219 x(on)S 3899 X 648 y(the)S
219 x(underlying)S 219 x(mech_type)S 219 x(and)S 219 x(speci\211ed)S
219 x(options,)S 227 x(additi)S 2 x(onal)S 218 x(token)S 219 x(exchanges)S
219 x(may)S 219 x(be)S 218 x(perfor)S 2 x(med)S 218 x(in)S 219 x(the)S
3899 X 648 y(course)S 146 x(of)S 145 x(context)S 146 x(establi)S 2 x
(shment;)S 158 x(such)S 145 x(exchanges)S 146 x(are)S 146 x(accomodat)S
2 x(ed)S 145 x(by)S 144 x(GSS_CONTINUE)S -2 x(_NEEDED)S 143 x(status)S
3899 X 647 y(returns)S 253 x(from)S 253 x(GSS_Init_sec_cont)S 2 x(ext)S
(\()S 84 x(\))S 252 x(and)S 252 x(GSS_A)S -2 x(ccept)S 2 x(_sec_context)S
(\()S 85 x(\))S(.)S 451 x(Either)S 253 x(party)S 253 x(to)S 252 x(an)S
252 x(establ)S 2 x(ished)S 3899 X 648 y(context)S 170 x(may)S 170 x
(invoke)S 169 x(GSS_Delete_sec_conte)S 2 x(xt)S(\()S 84 x(\))S 169 x
(to)S 169 x(\212ush)S 169 x(context)S 170 x(inform)S 2 x(ation)S 170 x
(when)S 169 x(a)S 169 x(context)S 170 x(is)S 169 x(no)S 169 x(longer)S
3899 X 647 y(require)S 2 x(d.)S 233 x(GSS_Process_context_toke)S 2 x
(n)S(\()S 83 x(\))S 153 x(is)S 153 x(used)S 153 x(to)S 152 x(proces)S
2 x(s)S 152 x(rece)S 2 x(ived)S 153 x(tokens)S 153 x(carrying)S 154 x
(context-l)S 2 x(evel)S 153 x(control)S 3899 X 648 y(informa)S 2 x(tion.)S
228 x(GSS)S -2 x(_Conte)S 2 x(xt_time)S(\()S 85 x(\))S 134 x(allows)S
135 x(a)S 134 x(caller)S 136 x(to)S 134 x(determ)S 2 x(ine)S 134 x(the)S
135 x(length)S 135 x(of)S 134 x(time)S 135 x(for)S 135 x(which)S 134 x
(an)S 134 x(establ)S 2 x(ished)S 3899 X 647 y(context)S 184 x(will)S
183 x(remai)S 2 x(n)S 182 x(valid.)S 3899 37373 XY F36(12)S 498 x(1)S
-28 x(1\203June\2031991)S
%%EndCustomColor: 0
12 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 13 13
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 17844 2106 XY F40(Generic)S 150 x(Security)S 151 x(Service)S 150 x
(API:)S 149 x(Internet-)S 2 x(Draft)S 14568 X 548 y(Comm)S -2 x(on)S
150 x(Authentication)S 149 x(T)S -33 x(echnology)S 149 x(WG:)S 150 x
(John)S 150 x(Linn)S 148 x(\(DEC\))S 3899 4013 XY F32(2.2.1)S 547 x
(GSS)S 2 x(_Init_sec_c)S -2 x(ontext)S 183 x(call)S 3899 X 896 y F74
(Inputs:)S 3899 X 897 y(\201)S 854 x(claima)S 2 x(nt_cred_handl)S 2 x
(e)S 183 x(OCTET)S 182 x(STRING,)S 182 x(\202NULL)S 181 x(speci\211es)S
184 x("use)S 183 x(default")S 3899 X 897 y(\201)S 854 x(input_context)S
2 x(_handle)S 183 x(INTEGER,)S 182 x(\2020)S 183 x(speci\211es)S 184 x
("none)S 182 x(assigned)S 184 x(yet")S 3899 X 896 y(\201)S 854 x(tar)S
-9 x(gname)S 184 x(INTERNAL)S 181 x(NAME,)S 3899 X 897 y(\201)S 854 x
(mech_type)S 184 x(OBJECT)S 183 x(IDENTIFIER,)S 183 x(\202NULL)S 181 x
(parame)S 2 x(ter)S 183 x(speci)S 2 x(\211es)S 182 x("use)S 183 x(default)S
2 x(")S 3899 X 896 y(\201)S 854 x(deleg_re)S 2 x(q_\212ag)S 182 x(BOOLEAN,)S
3899 X 897 y(\201)S 854 x(mutual_r)S 2 x(eq_\212ag)S 182 x(BOOLEAN,)S
3899 X 897 y(\201)S 854 x(replay_de)S 2 x(t_req_\212ag)S 183 x(BOOLEAN,)S
3899 X 896 y(\201)S 854 x(sequence_r)S 2 x(eq_\212ag)S 182 x(BOOLEAN,)S
3899 X 897 y(\201)S 854 x(lifet)S 2 x(ime_req)S 184 x(INTEGER,\2020)S
182 x(speci\211es)S 184 x(default)S 184 x(life)S 2 x(time)S 3899 X 897 y
(\201)S 854 x(chan_bindings)S 184 x(OCTET)S 182 x(STRING,)S 3899 X 896 y
(\201)S 854 x(input_token)S 184 x(OCTET)S 182 x(STRING\202NUL)S -2 x
(L)S 183 x(or)S 183 x(token)S 183 x(recei)S 2 x(ved)S 183 x(from)S 184 x
(tar)S -9 x(get)S 3899 15868 XY(Outputs:)S 3899 X 897 y(\201)S 854 x
(major_st)S 2 x(atus)S 183 x(INTEGER,)S 3899 X 896 y(\201)S 854 x(minor_sta)S
2 x(tus)S 183 x(INTEGER,)S 3899 X 897 y(\201)S 854 x(output_context)S
2 x(_handle)S 183 x(INTEGER,)S 3899 X 897 y(\201)S 854 x(mech_type)S
184 x(OBJECT)S 183 x(IDENTIFIER,)S 183 x(\202actual)S 184 x(mechanism)S
184 x(always)S 184 x(indicated,)S 184 x(never)S 184 x(NULL)S 3899 X
896 y(\201)S 854 x(output_token)S 184 x(OCTET)S 182 x(STRING,)S 182 x
(\202NULL)S 181 x(or)S 184 x(token)S 183 x(to)S 183 x(pass)S 183 x(to)S
183 x(context)S 184 x(tar)S -9 x(get)S 3899 X 897 y(\201)S 854 x(deleg_sta)S
2 x(te)S 183 x(BOOLEAN)S -2 x(,)S 3899 X 897 y(\201)S 854 x(mutual_st)S
2 x(ate)S 183 x(BOOLEAN,)S 3899 X 896 y(\201)S 854 x(replay_de)S 2 x
(t_state)S 184 x(BOOLEAN)S -2 x(,)S 3899 X 897 y(\201)S 854 x(sequence_st)S
2 x(ate)S 183 x(BOOLEAN,)S 3899 X 897 y(\201)S 854 x(conf_avai)S 2 x
(l)S 182 x(BOOLEAN,)S 3899 X 896 y(\201)S 854 x(integ_avai)S 2 x(l)S
183 x(BOOLEAN)S -2 x(,)S 3899 X 897 y(\201)S 854 x(lifet)S 2 x(ime_rec)S
184 x(INTEGER)S 182 x(\202)S 183 x(in)S 183 x(seconds,)S 183 x(or)S
184 x(reserved)S 184 x(value)S 184 x(for)S 183 x(INDEFINITE)S 3899 27724 XY
(This)S 152 x(call)S 154 x(may)S 152 x(block)S 153 x(pending)S 152 x
(network)S 153 x(intera)S 2 x(ctions)S 153 x(for)S 153 x(those)S 153 x
(mech_types)S 153 x(in)S 153 x(which)S 152 x(an)S 152 x(authenti)S 2 x
(cation)S 153 x(server)S 3899 X 647 y(or)S 166 x(other)S 167 x(network)S
166 x(entity)S 167 x(must)S 166 x(be)S 166 x(consulted)S 167 x(on)S
165 x(behalf)S 167 x(of)S 166 x(a)S 166 x(context)S 167 x(initia)S 2 x
(tor)S 166 x(in)S 166 x(order)S 167 x(to)S 166 x(generate)S 167 x(an)S
166 x(output_)S 3899 X 648 y(token)S 183 x(suitable)S 184 x(for)S 184 x
(presenta)S 2 x(tion)S 183 x(to)S 183 x(a)S 183 x(speci\211ed)S 183 x
(tar)S -8 x(get.)S 3899 30015 XY(Return)S 184 x(major_s)S 2 x(tatus)S
183 x(codes:)S 3899 X 897 y(\201)S 854 x(GSS_COMPLE)S -2 x(TE)S 265 x
(indicate)S 2 x(s)S 265 x(that)S 266 x(context-l)S 2 x(evel)S 265 x
(infor)S 2 x(mation)S 266 x(was)S 265 x(successful)S 2 x(ly)S 265 x
(initia)S 2 x(lized,)S 286 x(and)S 266 x(that)S 4945 X 647 y(the)S 190 x
(returne)S 2 x(d)S 189 x(output_token)S 190 x(will)S 190 x(provide)S
190 x(suf)S -9 x(\211cient)S 190 x(informat)S 2 x(ion)S 189 x(for)S
190 x(the)S 190 x(tar)S -9 x(get)S 190 x(to)S 190 x(perform)S 191 x
(per)S -10 x(-message)S 4945 X 648 y(processi)S 2 x(ng)S 182 x(on)S
183 x(the)S 183 x(newly-esta)S 2 x(blished)S 183 x(context)S 2 x(.)S
3899 X 897 y(\201)S 854 x(GSS_CONT)S -2 x(INUE_NEEDE)S -2 x(D)S 215 x
(indicate)S 2 x(s)S 215 x(that)S 215 x(control)S 217 x(informat)S 2 x
(ion)S 215 x(in)S 215 x(the)S 215 x(retur)S 2 x(ned)S 215 x(output_token)S
216 x(must)S 4945 X 647 y(be)S 194 x(sent)S 195 x(to)S 194 x(the)S 194 x
(tar)S -9 x(get,)S 198 x(and)S 194 x(that)S 195 x(a)S 194 x(reply)S
195 x(must)S 194 x(be)S 194 x(rece)S 2 x(ived)S 194 x(and)S 194 x(passed)S
195 x(as)S 194 x(the)S 195 x(input_token)S 195 x(ar)S -10 x(gument)S
195 x(to)S 4945 X 648 y(a)S 193 x(continuati)S 2 x(on)S 193 x(call)S
194 x(to)S 193 x(GSS_Init_sec_context)S(\()S 85 x(\))S(,)S 196 x(before)S
194 x(per)S -10 x(-message)S 194 x(proces)S 2 x(sing)S 193 x(can)S 193 x
(be)S 193 x(perfor)S 2 x(med)S 193 x(in)S 4945 X 647 y(conjunction)S
184 x(with)S 183 x(this)S 183 x(context.)S 22808 37373 XY F36(1)S -27 x
(1\203June\2031991)S 499 x(13)S
%%EndCustomColor: 0
13 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 14 14
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 3899 2106 XY F40(Generic)S 150 x(Security)S 150 x(Service)S 151 x
(API:)S 149 x(Internet-Dra)S 2 x(ft)S 3899 X 548 y(Common)S 148 x(Authentication)S
150 x(T)S -34 x(echnology)S 150 x(WG:)S 150 x(John)S 149 x(Linn)S 149 x
(\(DEC\))S 3899 3976 XY F74(\201)S 854 x(GSS_D)S -2 x(EFECTIVE_T)S -10 x
(OKEN)S 172 x(indicat)S 2 x(es)S 174 x(that)S 175 x(consistency)S 175 x
(checks)S 175 x(perform)S 2 x(ed)S 174 x(on)S 174 x(the)S 174 x(input_token)S
175 x(failed,)S 4945 X 648 y(preventi)S 2 x(ng)S 182 x(furthe)S 2 x
(r)S 183 x(processing)S 184 x(from)S 184 x(being)S 183 x(perfor)S 2 x
(med)S 183 x(based)S 183 x(on)S 183 x(that)S 183 x(token.)S 3899 X 897 y
(\201)S 854 x(GSS_D)S -2 x(EFECTIVE_CREDENTIAL)S 226 x(indicate)S 2 x
(s)S 227 x(that)S 227 x(consiste)S 2 x(ncy)S 227 x(checks)S 227 x(perfor)S
2 x(med)S 227 x(on)S 227 x(the)S 227 x(credent)S 2 x(ial)S 4945 X 647 y
(structur)S 2 x(e)S 192 x(refe)S 2 x(renced)S 193 x(by)S 192 x(claim)S
2 x(ant_cred_handl)S 2 x(e)S 192 x(faile)S 2 x(d,)S 194 x(preventi)S
2 x(ng)S 192 x(further)S 194 x(processing)S 193 x(from)S 194 x(being)S
192 x(per-)S 4945 X 648 y(formed)S 184 x(using)S 183 x(that)S 184 x
(credenti)S 2 x(al)S 183 x(structur)S 2 x(e.)S 3899 X 896 y(\201)S 854 x
(GSS_BAD_S)S -2 x(IG)S 202 x(indicat)S 2 x(es)S 202 x(that)S 202 x(the)S
203 x(receive)S 2 x(d)S 201 x(input_token)S 203 x(contains)S 203 x(an)S
202 x(incorr)S 2 x(ect)S 202 x(signatur)S 2 x(e,)S 206 x(so)S 202 x
(context)S 4945 X 648 y(setup)S 183 x(cannot)S 184 x(be)S 183 x(accomplis)S
2 x(hed.)S 3899 X 897 y(\201)S 854 x(GSS_N)S -2 x(O_CRED)S 150 x(indicates)S
151 x(that)S 150 x(no)S 149 x(context)S 151 x(was)S 149 x(establi)S
2 x(shed,)S 156 x(either)S 151 x(because)S 151 x(the)S 149 x(input)S
150 x(cred_ha)S 2 x(ndle)S 149 x(was)S 4945 X 647 y(invalid,)S 220 x
(because)S 213 x(the)S 212 x(ref)S 2 x(erenced)S 213 x(credent)S 2 x
(ials)S 212 x(are)S 213 x(valid)S 213 x(for)S 212 x(context)S 213 x
(accept)S 2 x(or)S 212 x(use)S 212 x(only)S -35 x(,)S 219 x(or)S 212 x
(because)S 213 x(the)S 4945 X 648 y(caller)S 185 x(lacks)S 183 x(authori)S
2 x(zation)S 183 x(to)S 183 x(acce)S 2 x(ss)S 182 x(the)S 184 x(refer)S
2 x(enced)S 183 x(credent)S 2 x(ials.)S 3899 X 896 y(\201)S 854 x(GSS_CREDENT)S
-2 x(IALS_EXPIRED)S 136 x(indica)S 2 x(tes)S 137 x(that)S 138 x(the)S
138 x(credenti)S 2 x(als)S 138 x(provided)S 137 x(through)S 138 x(the)S
138 x(input)S 137 x(clai)S 2 x(mant_)S 4945 X 648 y(cred_handle)S 184 x
(ar)S -9 x(gument)S 184 x(are)S 183 x(no)S 183 x(longer)S 184 x(valid,)S
183 x(so)S 183 x(context)S 184 x(establis)S 2 x(hment)S 183 x(cannot)S
184 x(be)S 183 x(completed.)S 3899 X 897 y(\201)S 854 x(GSS_BAD_BINDING)S
-2 x(S)S 220 x(indicates)S 221 x(that)S 221 x(a)S 219 x(mism)S 2 x(atch)S
220 x(between)S 220 x(the)S 220 x(call)S 2 x(er)S -10 x(-provided)S
220 x(chan_bindi)S 2 x(ngs)S 219 x(and)S 4945 X 647 y(those)S 166 x
(extract)S 2 x(ed)S 165 x(from)S 166 x(the)S 165 x(input_token)S 166 x
(was)S 165 x(detect)S 2 x(ed,)S 168 x(signifyi)S 2 x(ng)S 165 x(a)S
165 x(securit)S 2 x(y-releva)S 2 x(nt)S 165 x(event)S 166 x(and)S 165 x
(prevent-)S 4945 X 648 y(ing)S 189 x(context)S 191 x(establis)S 2 x
(hment.)S 264 x(\(This)S 190 x(result)S 190 x(will)S 190 x(be)S 190 x
(returned)S 190 x(by)S 190 x(GSS_Init_sec_context)S 191 x(only)S 189 x
(for)S 190 x(contexts)S 4945 X 647 y(where)S 183 x(mutual_s)S 2 x(tate)S
183 x(is)S 184 x(TRUE.\))S 3899 X 897 y(\201)S 854 x(GSS_N)S -2 x(O_CONTEXT)S
208 x(indicate)S 2 x(s)S 209 x(that)S 210 x(no)S 209 x(valid)S 210 x
(context)S 210 x(was)S 209 x(recogni)S 2 x(zed)S 209 x(for)S 210 x(the)S
210 x(input)S 210 x(context_handle)S 4945 X 648 y(provided;)S 215 x
(this)S 204 x(major)S 205 x(status)S 205 x(will)S 204 x(be)S 203 x(retur)S
2 x(ned)S 203 x(only)S 204 x(for)S 204 x(success)S 2 x(or)S 203 x(call)S
2 x(s)S 203 x(following)S 205 x(GSS_)S -2 x(CONTINUE_)S 4945 X 647 y
(NEEDED)S 181 x(status)S 184 x(returns.)S 3899 X 897 y(\201)S 854 x
(GSS_BAD_N)S -2 x(AMETYPE)S 155 x(indica)S 2 x(tes)S 157 x(that)S 158 x
(the)S 158 x(provided)S 158 x(tar)S -9 x(gname)S 158 x(is)S 157 x(of)S
158 x(a)S 157 x(type)S 157 x(uninter)S 2 x(pretable)S 159 x(or)S 157 x
(unsup-)S 4945 X 647 y(ported)S 184 x(by)S 182 x(the)S 183 x(supporti)S
2 x(ng)S 182 x(GSS-API)S 182 x(impleme)S 2 x(ntation,)S 184 x(so)S 182 x
(context)S 184 x(establ)S 2 x(ishment)S 184 x(cannot)S 183 x(be)S 183 x
(complete)S 2 x(d.)S 3899 X 897 y(\201)S 854 x(GSS_BAD_N)S -2 x(AME)S
287 x(indicate)S 2 x(s)S 287 x(that)S 289 x(the)S 287 x(provided)S 289 x
(tar)S -9 x(gname)S 288 x(is)S 288 x(inconsiste)S 2 x(nt)S 287 x(in)S
288 x(terms)S 289 x(of)S 288 x(internal)S 2 x(ly-)S 4945 X 648 y(incorpora)S
2 x(ted)S 183 x(type)S 183 x(speci\211er)S 184 x(inform)S 2 x(ation,)S
183 x(so)S 183 x(context)S 184 x(establis)S 2 x(hment)S 183 x(cannot)S
184 x(be)S 183 x(accomplishe)S 2 x(d.)S 3899 X 896 y(\201)S 854 x(GSS_F)S
-42 x(AILURE)S 212 x(indica)S 2 x(tes)S 213 x(that)S 214 x(context)S
214 x(setup)S 213 x(could)S 214 x(not)S 213 x(be)S 213 x(accomplishe)S
2 x(d)S 212 x(for)S 214 x(reasons)S 214 x(unspeci\211ed)S 214 x(at)S
4945 X 648 y(the)S 183 x(GSS-API)S 182 x(level,)S 184 x(and)S 183 x
(that)S 183 x(no)S 183 x(interf)S 2 x(ace-de\211ned)S 184 x(recover)S
2 x(y)S 182 x(action)S 184 x(is)S 183 x(availa)S 2 x(ble.)S 3899 22856 XY
(Used)S 217 x(by)S 218 x(context)S 218 x(initi)S 2 x(ator)S -21 x(,)S
226 x(providing)S 218 x(an)S 218 x(output_token)S 219 x(suitable)S 219 x
(for)S 218 x(use)S 218 x(by)S 217 x(the)S 218 x(tar)S -9 x(get)S 219 x
(within)S 217 x(the)S 219 x(selected)S 3899 X 647 y(mech_type')S -28 x
(s)S 137 x(protocol.)S 229 x(Using)S 137 x(inform)S 2 x(ation)S 137 x
(in)S 138 x(the)S 137 x(crede)S 2 x(ntials)S 138 x(structur)S 2 x(e)S
137 x(refe)S 2 x(renced)S 138 x(by)S 137 x(claimant)S 2 x(_cred_handle,)S
3899 X 648 y(initial)S 2 x(ize)S 177 x(the)S 176 x(data)S 177 x(struct)S
2 x(ures)S 177 x(required)S 177 x(to)S 177 x(establis)S 2 x(h)S 176 x
(a)S 176 x(securit)S 2 x(y)S 176 x(context)S 177 x(with)S 176 x(tar)S
-9 x(get)S 177 x(tar)S -9 x(gname.)S 242 x(The)S 176 x(clai)S 2 x(mant_)S
3899 X 647 y(cred_handle)S 252 x(must)S 250 x(corre)S 2 x(spond)S 249 x
(to)S 251 x(the)S 250 x(same)S 251 x(valid)S 251 x(credenti)S 2 x(als)S
250 x(struct)S 2 x(ure)S 250 x(on)S 250 x(the)S 251 x(initial)S 251 x
(call)S 251 x(to)S 250 x(GSS_Init_)S 3899 X 648 y(sec_context)S 2 x
(\()S 83 x(\))S 260 x(and)S 260 x(on)S 259 x(any)S 260 x(successor)S
261 x(calls)S 261 x(resulting)S 261 x(from)S 260 x(GSS_CONTINUE)S -2 x
(_NEEDED)S 258 x(status)S 260 x(ret)S 2 x(urns;)S 3899 X 647 y(dif)S
-9 x(ferent)S 146 x(protocol)S 145 x(sequences)S 145 x(modeled)S 145 x
(by)S 144 x(the)S 145 x(GSS_CON)S -2 x(TINUE_NEED)S -2 x(ED)S 144 x
(mechanism)S 146 x(will)S 144 x(requir)S 2 x(e)S 144 x(access)S 3899 X
648 y(to)S 183 x(credenti)S 2 x(als)S 183 x(at)S 183 x(dif)S -9 x(fer)S
2 x(ent)S 183 x(points)S 183 x(in)S 183 x(the)S 183 x(context)S 184 x
(establ)S 2 x(ishment)S 184 x(sequence.)S 3899 27737 XY(The)S 279 x
(input_context_ha)S 2 x(ndle)S 279 x(ar)S -9 x(gument)S 280 x(is)S 279 x
(0,)S 303 x(specifyi)S 2 x(ng)S 278 x("not)S 279 x(yet)S 280 x(assigned",)S
303 x(on)S 279 x(the)S 279 x(\211rst)S 280 x(GSS_Init_sec_)S 3899 X
648 y(context)S(\()S 85 x(\))S 241 x(call)S 243 x(relati)S 2 x(ng)S
241 x(to)S 241 x(a)S 242 x(given)S 241 x(context.)S 420 x(That)S 242 x
(call)S 242 x(retur)S 2 x(ns)S 241 x(an)S 241 x(output_cont)S 2 x(ext_handle)S
242 x(for)S 242 x(future)S 243 x(ref-)S 3899 X 647 y(erences)S 210 x
(to)S 208 x(this)S 209 x(context.)S 321 x(When)S 209 x(continuati)S
2 x(on)S 208 x(attempts)S 210 x(to)S 208 x(GSS_Init_sec_conte)S 2 x
(xt)S(\()S 83 x(\))S 209 x(are)S 209 x(needed)S 209 x(to)S 209 x(perform)S
3899 X 648 y(context)S 198 x(establ)S 2 x(ishment,)S 202 x(the)S 198 x
(previously-)S 2 x(returne)S 2 x(d)S 197 x(non-zero)S 199 x(handle)S
198 x(value)S 198 x(is)S 198 x(entere)S 2 x(d)S 197 x(into)S 198 x(the)S
198 x(input_context_)S 3899 X 648 y(handle)S 202 x(ar)S -9 x(gument)S
202 x(and)S 201 x(will)S 202 x(be)S 201 x(echoed)S 202 x(in)S 201 x
(the)S 202 x(returne)S 2 x(d)S 201 x(output_context_ha)S 2 x(ndle)S
201 x(ar)S -9 x(gument.)S 300 x(On)S 201 x(such)S 201 x(contin-)S 3899 X
647 y(uation)S 190 x(attem)S 2 x(pts)S 189 x(\(and)S 190 x(only)S 190 x
(on)S 189 x(continuat)S 2 x(ion)S 189 x(atte)S 2 x(mpts\))S 190 x(the)S
190 x(input_token)S 191 x(value)S 190 x(is)S 190 x(used,)S 191 x(to)S
190 x(provide)S 190 x(the)S 190 x(token)S 3899 X 648 y(returne)S 2 x
(d)S 182 x(from)S 184 x(the)S 183 x(context)S 2 x(')S -30 x(s)S 183 x
(tar)S -9 x(get.)S 3899 32619 XY(The)S 216 x(chan_bindings)S 217 x(ar)S
-10 x(gument)S 217 x(is)S 216 x(used)S 216 x(by)S 216 x(the)S 216 x
(call)S 2 x(er)S 216 x(to)S 216 x(provide)S 217 x(inform)S 2 x(ation)S
216 x(binding)S 216 x(the)S 217 x(securit)S 2 x(y)S 215 x(context)S
3899 X 648 y(to)S 164 x(securit)S 2 x(y-relat)S 2 x(ed)S 164 x(charact)S
2 x(eristic)S 2 x(s)S 163 x(\(e.g.,)S 169 x(addresses,)S 169 x(cryptographi)S
2 x(c)S 164 x(keys\))S 164 x(of)S 164 x(the)S 164 x(underlying)S 165 x
(communica)S 2 x(tions)S 3899 X 647 y(channel.)S 245 x(See)S 182 x(Section)S
184 x(1.1.6)S 182 x(of)S 183 x(this)S 184 x(document)S 184 x(for)S 183 x
(more)S 184 x(discussion)S 184 x(of)S 183 x(this)S 183 x(ar)S -9 x(gument')S
-29 x(s)S 183 x(usage.)S 3899 37373 XY F36(14)S 498 x(1)S -28 x(1\203June\2031991)S
%%EndCustomColor: 0
14 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 15 15
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 17844 2106 XY F40(Generic)S 150 x(Security)S 151 x(Service)S 150 x
(API:)S 149 x(Internet-)S 2 x(Draft)S 14568 X 548 y(Comm)S -2 x(on)S
150 x(Authentication)S 149 x(T)S -33 x(echnology)S 149 x(WG:)S 150 x
(John)S 150 x(Linn)S 148 x(\(DEC\))S 3899 3976 XY F74(The)S 245 x(input_token)S
245 x(ar)S -9 x(gument)S 246 x(contains)S 246 x(a)S 245 x(message)S
246 x(recei)S 2 x(ved)S 244 x(from)S 246 x(the)S 246 x(tar)S -9 x(get,)S
261 x(and)S 244 x(is)S 246 x(signi\211cant)S 246 x(only)S 245 x(on)S
244 x(a)S 3899 X 648 y(call)S 178 x(to)S 176 x(GSS_Init_sec_cont)S 2 x
(ext)S(\()S 84 x(\))S 177 x(which)S 176 x(follows)S 178 x(a)S 176 x
(previous)S 178 x(retur)S 2 x(n)S 176 x(indicat)S 2 x(ing)S 176 x(GSS_CONTINU)S
-2 x(E_NEEDED)S 3899 X 648 y(major_st)S 2 x(atus.)S 3899 6268 XY(It)S
245 x(is)S 245 x(the)S 245 x(calle)S 2 x(r)S 20 x(')S -29 x(s)S 244 x
(responsi)S 2 x(bility)S 246 x(to)S 244 x(establ)S 2 x(ish)S 245 x(a)S
244 x(communi)S 2 x(cations)S 245 x(path)S 245 x(to)S 245 x(the)S 245 x
(tar)S -8 x(get,)S 260 x(and)S 245 x(to)S 245 x(transmit)S 246 x(any)S
3899 X 647 y(returne)S 2 x(d)S 175 x(output_token)S 177 x(\(indepe)S
2 x(ndent)S 176 x(of)S 176 x(the)S 176 x(accom)S 2 x(panying)S 176 x
(returne)S 2 x(d)S 175 x(major)S 2 x(_status)S 177 x(value\))S 177 x
(to)S 176 x(the)S 176 x(tar)S -9 x(get)S 177 x(over)S 3899 X 648 y(that)S
179 x(path.)S 242 x(The)S 178 x(output_token)S 179 x(can,)S 179 x(however)S
-21 x(,)S 179 x(be)S 178 x(transmi)S 2 x(tted)S 178 x(along)S 179 x
(with)S 178 x(the)S 178 x(\211rst)S 179 x(applicati)S 2 x(on-provided)S
179 x(input)S 3899 X 648 y(message)S 184 x(to)S 183 x(be)S 183 x(processed)S
184 x(by)S 183 x(GSS_S)S -2 x(ign)S(\()S 84 x(\))S 183 x(or)S 183 x
(GSS_Seal)S(\()S 83 x(\))S 183 x(in)S 183 x(conjuncti)S 2 x(on)S 182 x
(with)S 183 x(this)S 184 x(context.)S 3899 9207 XY(The)S 156 x(initiat)S
2 x(or)S 156 x(may)S 157 x(request)S 157 x(various)S 157 x(context-)S
2 x(level)S 157 x(functions)S 157 x(through)S 157 x(input)S 156 x(\212ags:)S
231 x(the)S 156 x(deleg_r)S 2 x(eq_\212ag)S 156 x(requests)S 3899 X
647 y(delegati)S 2 x(on)S 191 x(of)S 191 x(acce)S 2 x(ss)S 191 x(rights,)S
194 x(the)S 192 x(mutual_r)S 2 x(eq_\212ag)S 191 x(request)S 2 x(s)S
191 x(mutual)S 192 x(authenti)S 2 x(cation,)S 194 x(the)S 192 x(replay_de)S
2 x(t_req_\212ag)S 3899 X 648 y(requests)S 172 x(that)S 171 x(repla)S
2 x(y)S 170 x(detect)S 2 x(ion)S 170 x(feat)S 2 x(ures)S 171 x(be)S
171 x(applied)S 172 x(to)S 170 x(messa)S 2 x(ges)S 170 x(tra)S 2 x(nsferre)S
2 x(d)S 170 x(on)S 171 x(the)S 171 x(establishe)S 2 x(d)S 170 x(context,)S
174 x(and)S 3899 X 648 y(the)S 172 x(sequence_r)S 2 x(eq_\212ag)S 171 x
(request)S 2 x(s)S 171 x(that)S 173 x(sequencing)S 173 x(be)S 171 x
(enforc)S 2 x(ed.)S 240 x(\(See)S 172 x(Section)S 172 x(1.2.3)S 172 x
(for)S 172 x(more)S 173 x(informat)S 2 x(ion)S 172 x(on)S 3899 X 647 y
(replay)S 184 x(detecti)S 2 x(on)S 182 x(and)S 183 x(sequencing)S 184 x
(featur)S 2 x(es.\))S 3899 12793 XY(Not)S 224 x(all)S 226 x(of)S 225 x
(the)S 225 x(optionally-)S 2 x(requestabl)S 2 x(e)S 225 x(feature)S
2 x(s)S 224 x(will)S 225 x(be)S 225 x(availa)S 2 x(ble)S 225 x(in)S
225 x(all)S 225 x(underlying)S 226 x(mech_types;)S 247 x(the)S 225 x
(cor-)S 3899 X 648 y(responding)S 211 x(return)S 211 x(state)S 212 x
(values)S 211 x(\(deleg_sta)S 2 x(te,)S 217 x(mutual_st)S 2 x(ate,)S
217 x(repla)S 2 x(y_det_state)S 2 x(,)S 216 x(sequence)S 2 x(_state\))S
211 x(indica)S 2 x(te,)S 217 x(as)S 3899 X 648 y(a)S 240 x(function)S
241 x(of)S 240 x(mech_type)S 241 x(processing)S 241 x(capabili)S 2 x
(ties)S 240 x(and)S 240 x(initia)S 2 x(tor)S -10 x(-provided)S 241 x
(input)S 240 x(\212ags,)S 254 x(the)S 240 x(set)S 240 x(of)S 240 x(feat)S
2 x(ures)S 3899 X 647 y(which)S 223 x(will)S 223 x(be)S 223 x(acti)S
2 x(ve)S 223 x(on)S 222 x(the)S 224 x(context.)S 365 x(These)S 223 x
(state)S 225 x(indicator)S 2 x(s')S 223 x(values)S 224 x(are)S 224 x
(unde\211ned)S 223 x(unless)S 223 x(the)S 224 x(routine')S -29 x(s)S
3899 X 648 y(major_st)S 2 x(atus)S 167 x(indicates)S 168 x(COMPLETE.)S
165 x(Failure)S 168 x(to)S 166 x(provide)S 167 x(the)S 167 x(preci)S
2 x(se)S 166 x(set)S 167 x(of)S 167 x(featur)S 2 x(es)S 166 x(reques)S
2 x(ted)S 166 x(by)S 167 x(the)S 166 x(call)S 2 x(er)S 3899 X 647 y
(does)S 175 x(not)S 175 x(cause)S 175 x(context)S 176 x(establis)S 2 x
(hment)S 175 x(to)S 175 x(fail;)S 179 x(it)S 175 x(is)S 175 x(the)S
175 x(caller)S 22 x(')S -30 x(s)S 175 x(preroga)S 2 x(tive)S 175 x(to)S
175 x(delete)S 176 x(the)S 175 x(context)S 176 x(if)S 175 x(the)S 175 x
(fea-)S 3899 X 648 y(ture)S 192 x(set)S 192 x(provided)S 192 x(is)S
192 x(unsuitable)S 193 x(for)S 192 x(the)S 192 x(caller)S 22 x(')S -30 x
(s)S 192 x(use.)S 270 x(The)S 191 x(returne)S 2 x(d)S 191 x(mech_type)S
192 x(value)S 192 x(indica)S 2 x(tes)S 192 x(the)S 191 x(speci)S 2 x
(\211c)S 3899 X 647 y(mechanism)S 184 x(employe)S 2 x(d)S 182 x(on)S
183 x(the)S 183 x(context,)S 184 x(and)S 183 x(will)S 183 x(never)S
184 x(indicate)S 184 x(the)S 183 x(value)S 184 x(for)S 183 x("default".)S
3899 18323 XY(The)S 182 x(conf_avai)S 2 x(l)S 182 x(retur)S 2 x(n)S
182 x(value)S 183 x(indicate)S 2 x(s)S 182 x(whether)S 183 x(the)S 183 x
(context)S 183 x(supports)S 183 x(per)S -10 x(-mess)S 2 x(age)S 182 x
(con\211dential)S 2 x(ity)S 183 x(services,)S 3899 X 647 y(and)S 145 x
(so)S 145 x(inform)S 2 x(s)S 145 x(the)S 145 x(calle)S 2 x(r)S 145 x
(whether)S 146 x(or)S 145 x(not)S 146 x(a)S 145 x(request)S 146 x(for)S
146 x(encrypti)S 2 x(on)S 144 x(through)S 146 x(the)S 146 x(conf_req_\212ag)S
146 x(input)S 145 x(to)S 146 x(GSS)S -2 x(_)S 3899 X 648 y(Seal)S(\()S
84 x(\))S 216 x(can)S 217 x(be)S 216 x(honored.)S 343 x(In)S 217 x(similar)S
218 x(fashion,)S 225 x(the)S 216 x(integ_ava)S 2 x(il)S 216 x(retur)S
2 x(n)S 216 x(value)S 216 x(indicat)S 2 x(es)S 216 x(whether)S 217 x
(per)S -10 x(-message)S 3899 X 647 y(integri)S 2 x(ty)S 183 x(services)S
184 x(are)S 184 x(availabl)S 2 x(e)S 183 x(\(through)S 183 x(either)S
185 x(GSS_S)S -2 x(ign)S(\()S 84 x(\))S 183 x(or)S 183 x(GSS_Seal)S
(\()S 83 x(\))S(\))S 184 x(on)S 182 x(the)S 183 x(esta)S 2 x(blished)S
183 x(context.)S 3899 21262 XY(The)S 191 x(lifet)S 2 x(ime_req)S 192 x
(input)S 192 x(speci\211es)S 192 x(a)S 192 x(desired)S 192 x(upper)S
192 x(bound)S 191 x(for)S 192 x(the)S 192 x(lifeti)S 2 x(me)S 191 x
(of)S 192 x(the)S 191 x(context)S 193 x(to)S 191 x(be)S 191 x(establ)S
2 x(ished,)S 3899 X 647 y(with)S 170 x(a)S 169 x(value)S 171 x(of)S
169 x(0)S 170 x(used)S 170 x(to)S 169 x(request)S 171 x(a)S 170 x(default)S
171 x(lifet)S 2 x(ime.)S 240 x(The)S 169 x(life)S 2 x(time_re)S 2 x
(c)S 169 x(retur)S 2 x(n)S 169 x(value)S 170 x(indica)S 2 x(tes)S 170 x
(the)S 170 x(length)S 170 x(of)S 3899 X 648 y(time)S 135 x(for)S 135 x
(which)S 135 x(the)S 134 x(context)S 136 x(will)S 134 x(be)S 135 x(valid,)S
145 x(expressed)S 135 x(as)S 135 x(an)S 134 x(of)S -9 x(fset)S 135 x
(from)S 136 x(the)S 134 x(prese)S 2 x(nt;)S 151 x(depending)S 134 x
(on)S 135 x(mechanism)S 3899 X 647 y(capabili)S 2 x(ties,)S 140 x(crede)S
2 x(ntial)S 130 x(lifet)S 2 x(imes,)S 140 x(and)S 130 x(local)S 130 x
(policy)S -35 x(,)S 140 x(it)S 129 x(may)S 130 x(not)S 129 x(corres)S
2 x(pond)S 128 x(to)S 130 x(the)S 129 x(value)S 130 x(requeste)S 2 x
(d)S 129 x(in)S 129 x(lifet)S 2 x(ime_)S 3899 X 648 y(req.)S 369 x(If)S
225 x(no)S 224 x(constr)S 2 x(aints)S 225 x(on)S 224 x(context)S 225 x
(lif)S 2 x(etime)S 225 x(are)S 226 x(imposed,)S 235 x(this)S 225 x(may)S
225 x(be)S 225 x(indicate)S 2 x(d)S 224 x(by)S 224 x(retur)S 2 x(ning)S
224 x(a)S 225 x(reserved)S 3899 X 647 y(value)S 224 x(represent)S 2 x
(ing)S 223 x(INDEFINITE)S 222 x(lifet)S 2 x(ime_req.)S 365 x(The)S 223 x
(values)S 224 x(of)S 223 x(conf_avai)S 2 x(l,)S 233 x(integ_avai)S 2 x
(l,)S 233 x(and)S 223 x(lifet)S 2 x(ime_rec)S 3899 X 648 y(are)S 184 x
(unde\211ned)S 182 x(unless)S 184 x(the)S 183 x(routine')S -28 x(s)S
183 x(major_sta)S 2 x(tus)S 183 x(indicate)S 2 x(s)S 182 x(COMPLETE.)S
3899 26143 XY(If)S 175 x(the)S 175 x(mutual)S 2 x(_state)S 175 x(is)S
175 x(TRUE,)S 174 x(this)S 176 x(fact)S 176 x(will)S 175 x(be)S 174 x
(re\212ect)S 2 x(ed)S 174 x(within)S 175 x(the)S 175 x(output_token.)S
242 x(A)S 174 x(call)S 176 x(to)S 175 x(GSS_A)S -2 x(ccept_)S 3899 X
648 y(sec_context)S 2 x(\()S 83 x(\))S 193 x(at)S 194 x(the)S 193 x
(tar)S -9 x(get)S 194 x(in)S 193 x(conjunction)S 194 x(with)S 193 x
(such)S 193 x(a)S 193 x(context)S 194 x(will)S 193 x(retur)S 2 x(n)S
192 x(a)S 193 x(token,)S 196 x(to)S 193 x(be)S 193 x(processe)S 2 x
(d)S 192 x(by)S 193 x(a)S 3899 X 647 y(continuati)S 2 x(on)S 182 x(call)S
184 x(to)S 183 x(GSS_Init_sec_conte)S 2 x(xt)S(\()S 83 x(\))S(,)S 183 x
(in)S 183 x(order)S 184 x(to)S 183 x(achieve)S 184 x(mutual)S 184 x
(authenti)S 2 x(cation.)S 3899 28833 XY F32(2.2.2)S 547 x(GSS)S 2 x
(_Acc)S -2 x(ept_sec_c)S -2 x(ontext)S 183 x(call)S 3899 X 897 y F74
(Inputs:)S 3899 X 897 y(\201)S 854 x(acceptor)S 2 x(_cred_handle)S 184 x
(OCTET)S 182 x(STRING,\202NULL)S 181 x(speci\211es)S 184 x("use)S 183 x
(default")S 3899 X 896 y(\201)S 854 x(input_context)S 2 x(_handle)S
183 x(INTEGER,)S 182 x(\2020)S 183 x(speci\211es)S 184 x("not)S 182 x
(yet)S 183 x(assigned")S 3899 X 897 y(\201)S 854 x(chan_bindings)S 184 x
(OCTET)S 182 x(STRING,)S 3899 X 896 y(\201)S 854 x(input_token)S 184 x
(OCTET)S 182 x(STRING)S 3899 34412 XY(Outputs:)S 3899 X 897 y(\201)S
854 x(major_st)S 2 x(atus)S 183 x(INTEGER,)S 22808 37373 XY F36(1)S
-27 x(1\203June\2031991)S 499 x(15)S
%%EndCustomColor: 0
15 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 16 16
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 3899 2106 XY F40(Generic)S 150 x(Security)S 150 x(Service)S 151 x
(API:)S 149 x(Internet-Dra)S 2 x(ft)S 3899 X 548 y(Common)S 148 x(Authentication)S
150 x(T)S -34 x(echnology)S 150 x(WG:)S 150 x(John)S 149 x(Linn)S 149 x
(\(DEC\))S 3899 3976 XY F74(\201)S 854 x(minor_sta)S 2 x(tus)S 183 x
(INTEGER,)S 3899 X 897 y(\201)S 854 x(srcname)S 184 x(INTERNAL)S 182 x
(NAME,)S 3899 X 897 y(\201)S 854 x(mech_type)S 184 x(OBJECT)S 183 x
(IDENTIFIER,)S 3899 X 896 y(\201)S 854 x(output_context)S 2 x(_handle)S
183 x(INTEGER,)S 3899 X 897 y(\201)S 854 x(deleg_sta)S 2 x(te)S 183 x
(BOOLEAN)S -2 x(,)S 3899 X 897 y(\201)S 854 x(mutual_st)S 2 x(ate)S
183 x(BOOLEAN,)S 3899 X 896 y(\201)S 854 x(replay_de)S 2 x(t_state)S
184 x(BOOLEAN)S -2 x(,)S 3899 X 897 y(\201)S 854 x(sequence_st)S 2 x
(ate)S 183 x(BOOLEAN,)S 3899 X 897 y(\201)S 854 x(conf_avai)S 2 x(l)S
182 x(BOOLEAN,)S 3899 X 896 y(\201)S 854 x(integ_avai)S 2 x(l)S 183 x
(BOOLEAN)S -2 x(,)S 3899 X 897 y(\201)S 854 x(lifet)S 2 x(ime_rec)S
184 x(INTEGER,)S 182 x(\202)S 183 x(in)S 183 x(seconds,)S 183 x(or)S
184 x(reserved)S 184 x(value)S 184 x(for)S 183 x(INDEFINITE)S 3899 X
896 y(\201)S 854 x(delegate)S 2 x(d_cred_handle)S 184 x(OCTET)S 182 x
(STRING,)S 3899 X 897 y(\201)S 854 x(output_token)S 184 x(OCTET)S 182 x
(STRING)S 182 x(\202NULL)S 181 x(or)S 184 x(token)S 183 x(to)S 183 x
(pass)S 183 x(to)S 183 x(context)S 184 x(initiat)S 2 x(or)S 3899 15832 XY
(This)S 191 x(call)S 192 x(may)S 191 x(block)S 191 x(pending)S 191 x
(network)S 192 x(interac)S 2 x(tions)S 191 x(for)S 191 x(those)S 192 x
(mech_types)S 192 x(in)S 191 x(which)S 191 x(a)S 191 x(director)S 2 x
(y)S 191 x(service)S 192 x(or)S 3899 X 648 y(other)S 209 x(network)S
208 x(entity)S 209 x(must)S 208 x(be)S 208 x(consulted)S 209 x(on)S
208 x(behalf)S 209 x(of)S 208 x(a)S 208 x(context)S 209 x(acceptor)S
209 x(in)S 208 x(order)S 209 x(to)S 208 x(validat)S 2 x(e)S 208 x(a)S
208 x(received)S 3899 X 647 y(input_token.)S 3899 18123 XY(Return)S
184 x(major_s)S 2 x(tatus)S 183 x(codes:)S 3899 X 897 y(\201)S 854 x
(GSS_COMPLE)S -2 x(TE)S 173 x(indica)S 2 x(tes)S 174 x(that)S 174 x
(context-)S 2 x(level)S 175 x(data)S 174 x(structur)S 2 x(es)S 174 x
(were)S 174 x(successf)S 2 x(ully)S 174 x(initial)S 2 x(ized,)S 176 x
(and)S 174 x(that)S 4945 X 648 y(per)S -10 x(-message)S 184 x(process)S
2 x(ing)S 182 x(can)S 184 x(now)S 182 x(be)S 183 x(perform)S 2 x(ed)S
183 x(in)S 183 x(conjunction)S 184 x(with)S 183 x(this)S 183 x(context.)S
3899 X 896 y(\201)S 854 x(GSS_CONT)S -2 x(INUE_NEEDE)S -2 x(D)S 142 x
(indicates)S 143 x(that)S 143 x(control)S 143 x(informat)S 2 x(ion)S
142 x(in)S 142 x(the)S 142 x(returne)S 2 x(d)S 141 x(output_token)S
143 x(must)S 142 x(be)S 4945 X 648 y(sent)S 162 x(to)S 161 x(the)S 162 x
(initiat)S 2 x(or)S -22 x(,)S 166 x(and)S 161 x(that)S 162 x(a)S 161 x
(response)S 163 x(must)S 161 x(be)S 162 x(receive)S 2 x(d)S 161 x(and)S
161 x(passed)S 162 x(as)S 162 x(the)S 161 x(input_token)S 162 x(ar)S
-9 x(gument)S 162 x(to)S 4945 X 647 y(a)S 176 x(continuati)S 2 x(on)S
175 x(call)S 177 x(to)S 176 x(GSS_Accept_sec_conte)S 2 x(xt)S(\()S 83 x
(\))S(,)S 178 x(before)S 177 x(per)S -10 x(-messa)S 2 x(ge)S 176 x(processing)S
177 x(can)S 176 x(be)S 176 x(perfor)S 2 x(med)S 4945 X 648 y(in)S 183 x
(conjunction)S 184 x(with)S 183 x(this)S 183 x(context.)S 3899 X 897 y
(\201)S 854 x(GSS_D)S -2 x(EFECTIVE_T)S -10 x(OKEN)S 172 x(indicat)S
2 x(es)S 174 x(that)S 175 x(consistency)S 175 x(checks)S 175 x(perform)S
2 x(ed)S 174 x(on)S 174 x(the)S 174 x(input_token)S 175 x(failed,)S
4945 X 647 y(preventi)S 2 x(ng)S 182 x(furthe)S 2 x(r)S 183 x(processing)S
184 x(from)S 184 x(being)S 183 x(perfor)S 2 x(med)S 183 x(based)S 183 x
(on)S 183 x(that)S 183 x(token.)S 3899 X 897 y(\201)S 854 x(GSS_D)S
-2 x(EFECTIVE_CREDENTIAL)S 226 x(indicate)S 2 x(s)S 227 x(that)S 227 x
(consiste)S 2 x(ncy)S 227 x(checks)S 227 x(perfor)S 2 x(med)S 227 x
(on)S 227 x(the)S 227 x(credent)S 2 x(ial)S 4945 X 647 y(structur)S
2 x(e)S 195 x(ref)S 2 x(erenced)S 196 x(by)S 195 x(accept)S 2 x(or_cred_handl)S
2 x(e)S 195 x(faile)S 2 x(d,)S 198 x(preventi)S 2 x(ng)S 195 x(further)S
197 x(processing)S 196 x(from)S 197 x(being)S 195 x(per-)S 4945 X 648 y
(formed)S 184 x(using)S 183 x(that)S 184 x(credenti)S 2 x(al)S 183 x
(structur)S 2 x(e.)S 3899 X 897 y(\201)S 854 x(GSS_BAD_S)S -2 x(IG)S
202 x(indicat)S 2 x(es)S 202 x(that)S 202 x(the)S 203 x(receive)S 2 x
(d)S 201 x(input_token)S 203 x(contains)S 203 x(an)S 202 x(incorr)S
2 x(ect)S 202 x(signatur)S 2 x(e,)S 206 x(so)S 202 x(context)S 4945 X
647 y(setup)S 183 x(cannot)S 184 x(be)S 183 x(accomplis)S 2 x(hed.)S
3899 X 897 y(\201)S 854 x(GSS_D)S -2 x(UPLICA)S -61 x(TE_T)S -10 x(OKEN)S
222 x(indicate)S 2 x(s)S 223 x(that)S 225 x(the)S 224 x(signature)S
225 x(on)S 223 x(the)S 224 x(recei)S 2 x(ved)S 223 x(input_toke)S 2 x
(n)S 223 x(was)S 223 x(corr)S 2 x(ect,)S 4945 X 647 y(but)S 155 x(that)S
157 x(the)S 155 x(input_toke)S 2 x(n)S 155 x(was)S 155 x(recogniz)S
2 x(ed)S 155 x(as)S 156 x(a)S 155 x(duplica)S 2 x(te)S 155 x(of)S 156 x
(an)S 156 x(input_token)S 156 x(alrea)S 2 x(dy)S 155 x(processed.)S
236 x(No)S 155 x(new)S 4945 X 648 y(context)S 184 x(is)S 183 x(establi)S
2 x(shed.)S 3899 X 897 y(\201)S 854 x(GSS_O)S -2 x(LD_T)S -10 x(OKEN)S
212 x(indicate)S 2 x(s)S 213 x(that)S 215 x(the)S 214 x(signature)S
215 x(on)S 213 x(the)S 214 x(rece)S 2 x(ived)S 214 x(input_token)S 214 x
(was)S 214 x(correct)S 2 x(,)S 221 x(but)S 214 x(that)S 4945 X 647 y
(the)S 183 x(input_token)S 184 x(is)S 183 x(too)S 183 x(old)S 183 x
(to)S 183 x(be)S 183 x(checked)S 184 x(for)S 184 x(duplication)S 184 x
(against)S 184 x(previousl)S 2 x(y-processe)S 2 x(d)S 182 x(input_tokens.)S
4945 X 648 y(No)S 182 x(new)S 183 x(context)S 184 x(is)S 183 x(establishe)S
2 x(d.)S 3899 X 896 y(\201)S 854 x(GSS_N)S -2 x(O_CRED)S 150 x(indicates)S
151 x(that)S 150 x(no)S 149 x(context)S 151 x(was)S 149 x(establi)S
2 x(shed,)S 156 x(either)S 151 x(because)S 151 x(the)S 149 x(input)S
150 x(cred_ha)S 2 x(ndle)S 149 x(was)S 4945 X 648 y(invalid,)S 231 x
(because)S 221 x(the)S 220 x(ref)S 2 x(erenced)S 221 x(crede)S 2 x(ntials)S
221 x(are)S 221 x(valid)S 221 x(for)S 221 x(context)S 221 x(initi)S
2 x(ator)S 221 x(use)S 220 x(only)S -35 x(,)S 229 x(or)S 221 x(because)S
221 x(the)S 4945 X 647 y(caller)S 185 x(lacks)S 183 x(authori)S 2 x
(zation)S 183 x(to)S 183 x(acce)S 2 x(ss)S 182 x(the)S 184 x(refer)S
2 x(enced)S 183 x(credent)S 2 x(ials.)S 3899 37373 XY F36(16)S 498 x
(1)S -28 x(1\203June\2031991)S
%%EndCustomColor: 0
16 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 17 17
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 17844 2106 XY F40(Generic)S 150 x(Security)S 151 x(Service)S 150 x
(API:)S 149 x(Internet-)S 2 x(Draft)S 14568 X 548 y(Comm)S -2 x(on)S
150 x(Authentication)S 149 x(T)S -33 x(echnology)S 149 x(WG:)S 150 x
(John)S 150 x(Linn)S 148 x(\(DEC\))S 3899 3976 XY F74(\201)S 854 x(GSS_CREDENT)S
-2 x(IALS_EXPIRED)S 140 x(indicate)S 2 x(s)S 140 x(that)S 142 x(the)S
141 x(credenti)S 2 x(als)S 141 x(provided)S 141 x(through)S 141 x(the)S
142 x(input)S 141 x(acceptor_)S 4945 X 648 y(cred_handle)S 184 x(ar)S
-9 x(gument)S 184 x(are)S 183 x(no)S 183 x(longer)S 184 x(valid,)S 183 x
(so)S 183 x(context)S 184 x(establis)S 2 x(hment)S 183 x(cannot)S 184 x
(be)S 183 x(completed.)S 3899 X 897 y(\201)S 854 x(GSS_BAD_BINDING)S
-2 x(S)S 220 x(indicates)S 221 x(that)S 221 x(a)S 219 x(mism)S 2 x(atch)S
220 x(between)S 220 x(the)S 220 x(call)S 2 x(er)S -10 x(-provided)S
220 x(chan_bindi)S 2 x(ngs)S 219 x(and)S 4945 X 647 y(those)S 166 x
(extract)S 2 x(ed)S 165 x(from)S 166 x(the)S 165 x(input_token)S 166 x
(was)S 165 x(detect)S 2 x(ed,)S 168 x(signifyi)S 2 x(ng)S 165 x(a)S
165 x(securit)S 2 x(y-releva)S 2 x(nt)S 165 x(event)S 166 x(and)S 165 x
(prevent-)S 4945 X 648 y(ing)S 183 x(context)S 184 x(establis)S 2 x
(hment.)S 3899 X 896 y(\201)S 854 x(GSS_N)S -2 x(O_CONTEXT)S 208 x(indicate)S
2 x(s)S 209 x(that)S 210 x(no)S 209 x(valid)S 210 x(context)S 210 x
(was)S 209 x(recogni)S 2 x(zed)S 209 x(for)S 210 x(the)S 210 x(input)S
210 x(context_handle)S 4945 X 648 y(provided;)S 215 x(this)S 204 x(major)S
205 x(status)S 205 x(will)S 204 x(be)S 203 x(retur)S 2 x(ned)S 203 x
(only)S 204 x(for)S 204 x(success)S 2 x(or)S 203 x(call)S 2 x(s)S 203 x
(following)S 205 x(GSS_)S -2 x(CONTINUE_)S 4945 X 648 y(NEEDED)S 181 x
(status)S 184 x(returns.)S 3899 X 896 y(\201)S 854 x(GSS_F)S -42 x(AILURE)S
212 x(indica)S 2 x(tes)S 213 x(that)S 214 x(context)S 214 x(setup)S
213 x(could)S 214 x(not)S 213 x(be)S 213 x(accomplishe)S 2 x(d)S 212 x
(for)S 214 x(reasons)S 214 x(unspeci\211ed)S 214 x(at)S 4945 X 648 y
(the)S 183 x(GSS-API)S 182 x(level,)S 184 x(and)S 183 x(that)S 183 x
(no)S 183 x(interf)S 2 x(ace-de\211ned)S 184 x(recover)S 2 x(y)S 182 x
(action)S 184 x(is)S 183 x(availa)S 2 x(ble.)S 3899 11648 XY(Used)S
180 x(by)S 180 x(context)S 181 x(tar)S -9 x(get.)S 243 x(Using)S 180 x
(inform)S 2 x(ation)S 180 x(in)S 181 x(the)S 180 x(crede)S 2 x(ntials)S
181 x(structur)S 2 x(e)S 180 x(refe)S 2 x(renced)S 181 x(by)S 180 x
(the)S 180 x(input)S 181 x(acceptor_)S 3899 X 647 y(cred_handle)S 2 x
(,)S 208 x(verify)S 204 x(the)S 203 x(incomi)S 2 x(ng)S 202 x(input_token)S
204 x(and)S 203 x(\(assum)S 2 x(ing)S 203 x(success\))S 204 x(ret)S
2 x(urn)S 203 x(the)S 203 x(authenti)S 2 x(cated)S 204 x(srcname)S 3899 X
648 y(and)S 269 x(the)S 269 x(mech_type)S 270 x(used.)S 501 x(The)S
269 x(acceptor_c)S 2 x(red_handle)S 270 x(must)S 269 x(corres)S 2 x
(pond)S 268 x(to)S 269 x(the)S 269 x(same)S 269 x(valid)S 270 x(credenti)S
2 x(als)S 3899 X 647 y(structur)S 2 x(e)S 146 x(on)S 146 x(the)S 147 x
(initia)S 2 x(l)S 146 x(call)S 147 x(to)S 147 x(GSS_A)S -2 x(ccept_s)S
2 x(ec_context)S(\()S 85 x(\))S 146 x(and)S 147 x(on)S 146 x(any)S 146 x
(successor)S 148 x(calls)S 147 x(resul)S 2 x(ting)S 146 x(from)S 148 x
(GSS)S -2 x(_)S 3899 X 648 y(CONTINUE_N)S -2 x(EEDED)S 192 x(status)S
195 x(returns;)S 200 x(dif)S -9 x(ferent)S 195 x(protocol)S 194 x(sequences)S
195 x(modeled)S 194 x(by)S 193 x(the)S 194 x(GSS_)S -2 x(CONTINUE_)S
3899 X 648 y(NEEDE)S -2 x(D)S 207 x(mechanism)S 208 x(will)S 208 x(require)S
208 x(access)S 208 x(to)S 207 x(crede)S 2 x(ntials)S 208 x(at)S 207 x
(dif)S -9 x(ferent)S 208 x(points)S 208 x(in)S 207 x(the)S 207 x(context)S
208 x(establis)S 2 x(hment)S 3899 X 647 y(sequence.)S 3899 16529 XY
(The)S 216 x(input_context_handl)S 2 x(e)S 216 x(ar)S -10 x(gument)S
217 x(is)S 216 x(0,)S 224 x(specifyi)S 2 x(ng)S 215 x("not)S 216 x(yet)S
216 x(assigned",)S 224 x(on)S 216 x(the)S 216 x(\211rst)S 216 x(GSS_Accept_sec_)S
3899 X 648 y(context)S(\()S 85 x(\))S 143 x(call)S 145 x(relat)S 2 x
(ing)S 143 x(to)S 144 x(a)S 143 x(given)S 144 x(context.)S 232 x(That)S
144 x(call)S 144 x(retur)S 2 x(ns)S 143 x(an)S 144 x(output_context_ha)S
2 x(ndle)S 143 x(for)S 145 x(future)S 145 x(refere)S 2 x(nces)S 3899 X
648 y(to)S 162 x(this)S 164 x(context;)S 170 x(when)S 162 x(continuat)S
2 x(ion)S 162 x(atte)S 2 x(mpts)S 163 x(to)S 162 x(GSS_Accept_sec_context)S
2 x(\()S 83 x(\))S 163 x(are)S 163 x(needed)S 163 x(to)S 163 x(perfor)S
2 x(m)S 162 x(context)S 3899 X 647 y(establi)S 2 x(shment,)S 183 x(that)S
184 x(handle)S 183 x(value)S 184 x(will)S 183 x(be)S 183 x(entere)S
2 x(d)S 182 x(into)S 183 x(the)S 184 x(input_context_ha)S 2 x(ndle)S
183 x(ar)S -9 x(gument.)S 3899 19468 XY(The)S 216 x(chan_bindings)S
217 x(ar)S -10 x(gument)S 217 x(is)S 216 x(used)S 216 x(by)S 216 x(the)S
216 x(call)S 2 x(er)S 216 x(to)S 216 x(provide)S 217 x(inform)S 2 x
(ation)S 216 x(binding)S 216 x(the)S 217 x(securit)S 2 x(y)S 215 x(context)S
3899 X 648 y(to)S 164 x(securit)S 2 x(y-relat)S 2 x(ed)S 164 x(charact)S
2 x(eristic)S 2 x(s)S 163 x(\(e.g.,)S 169 x(addresses,)S 169 x(cryptographi)S
2 x(c)S 164 x(keys\))S 164 x(of)S 164 x(the)S 164 x(underlying)S 165 x
(communica)S 2 x(tions)S 3899 X 647 y(channel.)S 245 x(See)S 182 x(Section)S
184 x(1.1.6)S 182 x(of)S 183 x(this)S 184 x(document)S 184 x(for)S 183 x
(more)S 184 x(discussion)S 184 x(of)S 183 x(this)S 183 x(ar)S -9 x(gument')S
-29 x(s)S 183 x(usage.)S 3899 21760 XY(The)S 241 x(returned)S 242 x
(state)S 242 x(result)S 2 x(s)S 240 x(\(dele)S 2 x(g_state,)S 256 x
(mutual_s)S 2 x(tate,)S 256 x(replay_det)S 2 x(_state,)S 256 x(and)S
241 x(sequence_s)S 2 x(tate\))S 242 x(re\212ect)S 242 x(the)S 3899 X
647 y(same)S 184 x(context)S 183 x(state)S 184 x(values)S 184 x(as)S
183 x(retur)S 2 x(ned)S 183 x(to)S 182 x(GSS_Init_sec_cont)S 2 x(ext)S
(\()S 84 x(\))S(')S -29 x(s)S 182 x(call)S 2 x(er)S 183 x(at)S 183 x
(the)S 184 x(initiator)S 184 x(system)S 2 x(.)S 3899 23404 XY(The)S
182 x(conf_avai)S 2 x(l)S 182 x(retur)S 2 x(n)S 182 x(value)S 183 x
(indicate)S 2 x(s)S 182 x(whether)S 183 x(the)S 183 x(context)S 183 x
(supports)S 183 x(per)S -10 x(-mess)S 2 x(age)S 182 x(con\211dential)S
2 x(ity)S 183 x(services,)S 3899 X 647 y(and)S 145 x(so)S 145 x(inform)S
2 x(s)S 145 x(the)S 145 x(calle)S 2 x(r)S 145 x(whether)S 146 x(or)S
145 x(not)S 146 x(a)S 145 x(request)S 146 x(for)S 146 x(encrypti)S 2 x
(on)S 144 x(through)S 146 x(the)S 146 x(conf_req_\212ag)S 146 x(input)S
145 x(to)S 146 x(GSS)S -2 x(_)S 3899 X 648 y(Seal)S(\()S 84 x(\))S 216 x
(can)S 217 x(be)S 216 x(honored.)S 343 x(In)S 217 x(similar)S 218 x
(fashion,)S 225 x(the)S 216 x(integ_ava)S 2 x(il)S 216 x(retur)S 2 x
(n)S 216 x(value)S 216 x(indicat)S 2 x(es)S 216 x(whether)S 217 x(per)S
-10 x(-message)S 3899 X 647 y(integri)S 2 x(ty)S 183 x(services)S 184 x
(are)S 184 x(availabl)S 2 x(e)S 183 x(\(through)S 183 x(either)S 185 x
(GSS_S)S -2 x(ign)S(\()S 84 x(\))S 183 x(or)S 183 x(GSS_Seal)S(\()S
83 x(\))S(\))S 184 x(on)S 182 x(the)S 183 x(esta)S 2 x(blished)S 183 x
(context.)S 3899 26343 XY(The)S 180 x(lifeti)S 2 x(me_rec)S 181 x(return)S
181 x(value)S 181 x(indicates)S 181 x(the)S 181 x(length)S 180 x(of)S
180 x(time)S 181 x(for)S 181 x(which)S 179 x(the)S 181 x(context)S 181 x
(will)S 180 x(be)S 180 x(valid,)S 181 x(expressed)S 3899 X 647 y(as)S
182 x(an)S 183 x(of)S -10 x(fset)S 184 x(from)S 183 x(the)S 183 x(present.)S
245 x(The)S 182 x(values)S 183 x(of)S 182 x(deleg_st)S 2 x(ate,)S 183 x
(mutual_sta)S 2 x(te,)S 182 x(repl)S 2 x(ay_det_state)S 2 x(,)S 182 x
(sequence_st)S 2 x(ate,)S 3899 X 648 y(conf_avail)S 2 x(,)S 208 x(integ_avail)S
2 x(,)S 207 x(and)S 204 x(lifeti)S 2 x(me_rec)S 204 x(are)S 204 x(unde\211ned)S
203 x(unless)S 203 x(the)S 204 x(accompanying)S 204 x(major)S 2 x(_status)S
204 x(indicates)S 3899 X 647 y(COMPLETE.)S 3899 29282 XY(The)S 205 x
(delegated_c)S 2 x(red_handle)S 206 x(result)S 206 x(is)S 205 x(signi\211cant)S
206 x(only)S 205 x(when)S 205 x(deleg_sta)S 2 x(te)S 205 x(is)S 205 x
(TRUE,)S 205 x(and)S 205 x(provides)S 205 x(a)S 205 x(means)S 3899 X
647 y(for)S 168 x(the)S 168 x(tar)S -9 x(get)S 168 x(to)S 167 x(refe)S
2 x(rence)S 168 x(the)S 168 x(delegate)S 2 x(d)S 167 x(credenti)S 2 x
(als.)S 239 x(The)S 167 x(output_token)S 168 x(result)S 2 x(,)S 170 x
(when)S 167 x(non-NULL,)S 166 x(provides)S 3899 X 648 y(a)S 158 x(context-)S
2 x(level)S 159 x(token)S 159 x(to)S 158 x(be)S 158 x(ret)S 2 x(urned)S
158 x(to)S 159 x(the)S 158 x(context)S 160 x(initiat)S 2 x(or)S 158 x
(to)S 158 x(continue)S 160 x(a)S 158 x(multi-)S 2 x(step)S 159 x(context)S
159 x(establis)S 2 x(hment)S 3899 X 647 y(sequence.)S 282 x(As)S 195 x
(noted)S 195 x(with)S 196 x(GSS_Init_sec_context)S 2 x(\()S 83 x(\))S
(,)S 199 x(any)S 195 x(retur)S 2 x(ned)S 195 x(token)S 196 x(should)S
195 x(be)S 195 x(tra)S 2 x(nsferre)S 2 x(d)S 195 x(to)S 195 x(the)S
196 x(con-)S 3899 X 648 y(text')S -29 x(s)S 214 x(peer)S 215 x(\(in)S
215 x(this)S 215 x(case,)S 223 x(the)S 214 x(context)S 215 x(initi)S
2 x(ator\),)S 223 x(independent)S 215 x(of)S 215 x(the)S 214 x(value)S
215 x(of)S 215 x(the)S 214 x(accompanyi)S 2 x(ng)S 214 x(returned)S
3899 X 647 y(major_st)S 2 x(atus.)S 3899 33516 XY(Note:)S 236 x(A)S
167 x(tar)S -9 x(get)S 168 x(must)S 168 x(be)S 167 x(able)S 168 x(to)S
167 x(disti)S 2 x(nguish)S 167 x(a)S 167 x(context)S 2 x(-level)S 168 x
(input_token,)S 172 x(which)S 167 x(is)S 167 x(passed)S 168 x(to)S 168 x
(GSS_A)S -2 x(ccept_)S 3899 X 647 y(sec_context)S 2 x(\()S 83 x(\))S
(,)S 149 x(from)S 140 x(the)S 140 x(per)S -10 x(-messa)S 2 x(ge)S 139 x
(data)S 141 x(elements)S 141 x(passed)S 140 x(to)S 140 x(GSS_V)S -63 x
(eri)S 2 x(fy)S(\()S 83 x(\))S 140 x(or)S 140 x(GSS_Unseal)S(\()S 83 x
(\))S(.)S 230 x(These)S 140 x(data)S 3899 X 648 y(element)S 2 x(s)S
161 x(may)S 162 x(arri)S 2 x(ve)S 161 x(in)S 162 x(a)S 161 x(single)S
163 x(applicat)S 2 x(ion)S 161 x(message)S 2 x(,)S 165 x(and)S 162 x
(GSS_A)S -2 x(ccept_s)S 2 x(ec_context)S(\()S 85 x(\))S 162 x(must)S
162 x(be)S 161 x(perfor)S 2 x(med)S 3899 X 647 y(before)S 184 x(per)S
-10 x(-message)S 184 x(process)S 2 x(ing)S 183 x(can)S 183 x(be)S 183 x
(perform)S 2 x(ed)S 182 x(succes)S 2 x(sfully)S -35 x(.)S 22808 37373 XY
F36(1)S -27 x(1\203June\2031991)S 499 x(17)S
%%EndCustomColor: 0
17 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 18 18
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 3899 2106 XY F40(Generic)S 150 x(Security)S 150 x(Service)S 151 x
(API:)S 149 x(Internet-Dra)S 2 x(ft)S 3899 X 548 y(Common)S 148 x(Authentication)S
150 x(T)S -34 x(echnology)S 150 x(WG:)S 150 x(John)S 149 x(Linn)S 149 x
(\(DEC\))S 3899 4013 XY F32(2.2.3)S 547 x(GSS)S 2 x(_Delete_)S -2 x
(sec_co)S -2 x(ntext)S 183 x(call)S 3899 X 896 y F74(Input:)S 3899 X
897 y(\201)S 854 x(context_handl)S 2 x(e)S 183 x(INTEGER)S 3899 6902 XY
(Outputs:)S 3899 X 896 y(\201)S 854 x(major_st)S 2 x(atus)S 183 x(INTEGER,)S
3899 X 897 y(\201)S 854 x(minor_sta)S 2 x(tus)S 183 x(INTEGER,)S 3899 X
897 y(\201)S 854 x(output_context)S 2 x(_token)S 183 x(OCTET)S 182 x
(STRING)S 3899 10688 XY(Return)S 184 x(major_s)S 2 x(tatus)S 183 x(codes:)S
3899 X 896 y(\201)S 854 x(GSS_COMPLE)S -2 x(TE)S 167 x(indicat)S 2 x
(es)S 168 x(that)S 168 x(the)S 168 x(context)S 168 x(was)S 168 x(recognized,)S
172 x(that)S 168 x(releva)S 2 x(nt)S 167 x(context-)S 2 x(speci\211c)S
168 x(inform)S 2 x(a-)S 4945 X 648 y(tion)S 213 x(was)S 213 x(\212ushed,)S
220 x(and)S 213 x(that)S 214 x(the)S 213 x(returne)S 2 x(d)S 212 x(output_conte)S
2 x(xt_token)S 213 x(is)S 213 x(ready)S 214 x(for)S 214 x(transfer)S
215 x(to)S 213 x(the)S 213 x(context')S -29 x(s)S 4945 X 647 y(peer)S
-29 x(.)S 3899 X 897 y(\201)S 854 x(GSS_N)S -2 x(O_CONTEXT)S 208 x(indicate)S
2 x(s)S 209 x(that)S 210 x(no)S 209 x(valid)S 210 x(context)S 210 x
(was)S 209 x(recogni)S 2 x(zed)S 209 x(for)S 210 x(the)S 210 x(input)S
210 x(context_handle)S 4945 X 648 y(provide,)S 184 x(so)S 182 x(no)S
183 x(deletion)S 184 x(was)S 183 x(perform)S 2 x(ed.)S 3899 X 896 y
(\201)S 854 x(GSS_F)S -42 x(AILURE)S 253 x(indicates)S 254 x(that)S
254 x(the)S 254 x(context)S 254 x(is)S 253 x(recogniz)S 2 x(ed,)S 270 x
(but)S 253 x(that)S 254 x(the)S 254 x(GSS_D)S -2 x(elete)S 2 x(_sec_context)S
2 x(\()S 83 x(\))S 4945 X 648 y(operati)S 2 x(on)S 182 x(could)S 183 x
(not)S 183 x(be)S 183 x(perfor)S 2 x(med)S 183 x(for)S 184 x(reasons)S
184 x(unspeci\211ed)S 183 x(at)S 183 x(the)S 184 x(GSS-AP)S -2 x(I)S
183 x(level)S 2 x(.)S 3899 17064 XY(This)S 204 x(call)S 206 x(may)S
204 x(block)S 205 x(pending)S 205 x(network)S 205 x(interac)S 2 x(tions)S
204 x(for)S 205 x(mech_t)S 2 x(ypes)S 204 x(in)S 205 x(which)S 204 x
(active)S 206 x(noti\211cation)S 205 x(must)S 205 x(be)S 3899 X 647 y
(made)S 183 x(to)S 183 x(a)S 183 x(centr)S 2 x(al)S 183 x(server)S 184 x
(when)S 183 x(a)S 183 x(security)S 184 x(context)S 184 x(is)S 183 x
(to)S 183 x(be)S 183 x(deleted.)S 3899 18707 XY(This)S 201 x(call)S
202 x(can)S 202 x(be)S 201 x(made)S 202 x(by)S 201 x(eithe)S 2 x(r)S
201 x(peer)S 202 x(in)S 202 x(a)S 201 x(securit)S 2 x(y)S 201 x(context,)S
207 x(to)S 201 x(\212ush)S 201 x(context-s)S 2 x(peci\211c)S 201 x(infor)S
2 x(mation)S 202 x(and)S 201 x(to)S 3899 X 648 y(return)S 221 x(an)S
220 x(output_context)S 2 x(_token)S 220 x(which)S 220 x(can)S 220 x
(be)S 220 x(passed)S 221 x(to)S 220 x(the)S 220 x(context')S -29 x(s)S
220 x(peer)S 221 x(informi)S 2 x(ng)S 219 x(it)S 221 x(that)S 220 x
(the)S 221 x(peer)S 21 x(')S -30 x(s)S 3899 X 648 y(corres)S 2 x(ponding)S
152 x(context)S 154 x(informat)S 2 x(ion)S 152 x(can)S 153 x(also)S
153 x(be)S 153 x(\212ushed.)S 234 x(\(Once)S 153 x(a)S 152 x(context)S
154 x(is)S 153 x(establishe)S 2 x(d,)S 158 x(the)S 153 x(peers)S 154 x
(involved)S 3899 X 647 y(are)S 153 x(expecte)S 2 x(d)S 152 x(to)S 152 x
(retai)S 2 x(n)S 152 x(cached)S 153 x(crede)S 2 x(ntial)S 153 x(and)S
152 x(context-)S 2 x(relat)S 2 x(ed)S 152 x(inform)S 2 x(ation)S 153 x
(until)S 153 x(the)S 152 x(infor)S 2 x(mation')S -29 x(s)S 153 x(expirati)S
2 x(on)S 3899 X 648 y(time)S 218 x(is)S 218 x(reac)S 2 x(hed)S 217 x
(or)S 218 x(until)S 218 x(a)S 218 x(GSS_D)S -2 x(elet)S 2 x(e_sec_context)S
2 x(\()S 83 x(\))S 218 x(call)S 219 x(is)S 217 x(made.\))S 349 x(Attempts)S
219 x(to)S 218 x(perform)S 219 x(per)S -10 x(-message)S 3899 X 647 y
(processing)S 184 x(on)S 183 x(a)S 183 x(deleted)S 184 x(context)S 184 x
(will)S 183 x(result)S 184 x(in)S 183 x(error)S 184 x(retur)S 2 x(ns.)S
3899 23340 XY F32(2.2.4)S 547 x(GSS)S 2 x(_Process)S -2 x(_context_token)S
181 x(call)S 3899 X 897 y F74(Inputs:)S 3899 X 896 y(\201)S 854 x(context_handl)S
2 x(e)S 183 x(INTEGER,)S 3899 X 897 y(\201)S 854 x(input_context)S 2 x
(_token)S 183 x(OCTET)S 182 x(STRING)S 3899 27126 XY(Outputs:)S 3899 X
897 y(\201)S 854 x(major_st)S 2 x(atus)S 183 x(INTEGER,)S 3899 X 896 y
(\201)S 854 x(minor_sta)S 2 x(tus)S 183 x(INTEGER,)S 3899 30015 XY(Return)S
184 x(major_s)S 2 x(tatus)S 183 x(codes:)S 3899 X 897 y(\201)S 854 x
(GSS_COMPLE)S -2 x(TE)S 161 x(indicates)S 162 x(that)S 162 x(the)S 161 x
(input_conte)S 2 x(xt_token)S 161 x(was)S 161 x(successf)S 2 x(ully)S
161 x(processed)S 162 x(in)S 161 x(conjuncti)S 2 x(on)S 4945 X 647 y
(with)S 183 x(the)S 183 x(context)S 184 x(refer)S 2 x(enced)S 183 x
(by)S 183 x(context_handl)S 2 x(e.)S 3899 X 897 y(\201)S 854 x(GSS_D)S
-2 x(EFECTIVE_T)S -10 x(OKEN)S 201 x(indicat)S 2 x(es)S 203 x(that)S
203 x(consiste)S 2 x(ncy)S 203 x(checks)S 203 x(perfor)S 2 x(med)S 203 x
(on)S 203 x(the)S 203 x(receive)S 2 x(d)S 202 x(context_)S 4945 X 648 y
(token)S 183 x(fail)S 2 x(ed,)S 182 x(prevent)S 2 x(ing)S 183 x(further)S
184 x(process)S 2 x(ing)S 182 x(from)S 184 x(being)S 184 x(performe)S
2 x(d)S 182 x(with)S 183 x(that)S 184 x(token.)S 3899 X 896 y(\201)S
854 x(GSS_N)S -2 x(O_CONTEXT)S 208 x(indicate)S 2 x(s)S 209 x(that)S
210 x(no)S 209 x(valid)S 210 x(context)S 210 x(was)S 209 x(recogni)S
2 x(zed)S 209 x(for)S 210 x(the)S 210 x(input)S 210 x(context_handle)S
4945 X 648 y(provided.)S 3899 37373 XY F36(18)S 498 x(1)S -28 x(1\203June\2031991)S
%%EndCustomColor: 0
18 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 19 19
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 17844 2106 XY F40(Generic)S 150 x(Security)S 151 x(Service)S 150 x
(API:)S 149 x(Internet-)S 2 x(Draft)S 14568 X 548 y(Comm)S -2 x(on)S
150 x(Authentication)S 149 x(T)S -33 x(echnology)S 149 x(WG:)S 150 x
(John)S 150 x(Linn)S 148 x(\(DEC\))S 3899 3976 XY F74(\201)S 854 x(GSS_F)S
-42 x(AILURE)S 178 x(indicat)S 2 x(es)S 178 x(that)S 180 x(the)S 179 x
(context)S 179 x(is)S 179 x(recogniz)S 2 x(ed,)S 179 x(but)S 179 x(that)S
179 x(the)S 179 x(GSS_Process_context_toke)S 2 x(n)S(\()S 83 x(\))S
4945 X 648 y(operati)S 2 x(on)S 182 x(could)S 183 x(not)S 183 x(be)S
183 x(perfor)S 2 x(med)S 183 x(for)S 184 x(reasons)S 184 x(unspeci\211ed)S
183 x(at)S 183 x(the)S 184 x(GSS-AP)S -2 x(I)S 183 x(level)S 2 x(.)S
3899 5720 XY(This)S 216 x(call)S 217 x(is)S 217 x(used)S 216 x(to)S
216 x(process)S 217 x(context_t)S 2 x(okens)S 216 x(recei)S 2 x(ved)S
216 x(from)S 217 x(a)S 216 x(peer)S 217 x(once)S 216 x(a)S 217 x(context)S
217 x(has)S 216 x(been)S 216 x(establ)S 2 x(ished,)S 3899 X 647 y(with)S
236 x(corr)S 2 x(esponding)S 236 x(impac)S 2 x(t)S 236 x(on)S 236 x
(context-)S 2 x(level)S 237 x(state)S 238 x(inform)S 2 x(ation.)S 405 x
(One)S 236 x(use)S 236 x(for)S 238 x(this)S 237 x(facili)S 2 x(ty)S
236 x(is)S 237 x(processi)S 2 x(ng)S 3899 X 648 y(of)S 210 x(the)S 210 x
(context_tokens)S 211 x(generate)S 2 x(d)S 209 x(by)S 209 x(GSS_Delete_sec_cont)S
2 x(ext)S(\()S 84 x(\))S(;)S 223 x(GSS_Process_context_t)S 2 x(oken)S
(\()S 83 x(\))S 210 x(will)S 210 x(not)S 3899 X 648 y(block)S 163 x
(pending)S 164 x(network)S 164 x(interac)S 2 x(tions)S 164 x(for)S 163 x
(that)S 164 x(purpose.)S 238 x(Another)S 164 x(use)S 163 x(is)S 164 x
(to)S 163 x(proces)S 2 x(s)S 163 x(tokens)S 163 x(indica)S 2 x(ting)S
163 x(remot)S 2 x(e-)S 3899 X 647 y(peer)S 183 x(context)S 184 x(establi)S
2 x(shment)S 183 x(fail)S 2 x(ures)S 183 x(afte)S 2 x(r)S 182 x(the)S
184 x(point)S 183 x(where)S 183 x(the)S 183 x(local)S 184 x(GSS-AP)S
-2 x(I)S 183 x(imple)S 2 x(mentation)S 184 x(has)S 183 x(alrea)S 2 x
(dy)S 3899 X 648 y(indicate)S 2 x(d)S 182 x(GSS_COMPLET)S -2 x(E)S 183 x
(status.)S 3899 10353 XY F32(2.2.5)S 547 x(GSS)S 2 x(_Contex)S -2 x
(t_time)S 184 x(call)S 3899 X 896 y F74(Input:)S 3899 X 897 y(\201)S
854 x(context_handl)S 2 x(e)S 183 x(INTEGER,)S 3899 13242 XY(Outputs:)S
3899 X 896 y(\201)S 854 x(major_st)S 2 x(atus)S 183 x(INTEGER,)S 3899 X
897 y(\201)S 854 x(minor_sta)S 2 x(tus)S 183 x(INTEGER,)S 3899 X 897 y
(\201)S 854 x(lifet)S 2 x(ime_rec)S 184 x(INTEGER)S 182 x(\202)S 183 x
(in)S 183 x(seconds,)S 183 x(or)S 184 x(reserved)S 184 x(value)S 184 x
(for)S 183 x(INDEFINITE)S 3899 17027 XY(Return)S 184 x(major_s)S 2 x
(tatus)S 183 x(codes:)S 3899 X 897 y(\201)S 854 x(GSS_COMPLE)S -2 x
(TE)S 136 x(indicat)S 2 x(es)S 137 x(that)S 137 x(the)S 137 x(refe)S
2 x(renced)S 137 x(context)S 138 x(is)S 137 x(valid,)S 146 x(and)S 137 x
(will)S 137 x(remai)S 2 x(n)S 136 x(valid)S 137 x(for)S 138 x(the)S
137 x(amount)S 4945 X 648 y(of)S 183 x(time)S 184 x(indicate)S 2 x(d)S
182 x(in)S 183 x(life)S 2 x(time_re)S 2 x(c.)S 3899 X 896 y(\201)S 854 x
(GSS_CONT)S -2 x(EXT_EXPIRED)S 149 x(indicates)S 151 x(that)S 151 x
(data)S 151 x(items)S 151 x(relate)S 2 x(d)S 149 x(to)S 150 x(the)S
151 x(refer)S 2 x(enced)S 150 x(context)S 151 x(have)S 150 x(expired.)S
3899 X 897 y(\201)S 854 x(GSS_CREDENT)S -2 x(IALS_EXPIRED)S 238 x(indica)S
2 x(tes)S 239 x(that)S 240 x(the)S 240 x(context)S 240 x(is)S 240 x
(recogniz)S 2 x(ed,)S 253 x(but)S 239 x(that)S 240 x(its)S 240 x(associ)S
2 x(ated)S 4945 X 648 y(credent)S 2 x(ials)S 183 x(have)S 183 x(expire)S
2 x(d.)S 3899 X 896 y(\201)S 854 x(GSS_N)S -2 x(O_CONTEXT)S 208 x(indicate)S
2 x(s)S 209 x(that)S 210 x(no)S 209 x(valid)S 210 x(context)S 210 x
(was)S 209 x(recogni)S 2 x(zed)S 209 x(for)S 210 x(the)S 210 x(input)S
210 x(context_handle)S 4945 X 648 y(provided.)S 3899 X 896 y(\201)S
854 x(GSS_F)S -42 x(AILURE)S 162 x(indicate)S 2 x(s)S 162 x(that)S 163 x
(the)S 162 x(reques)S 2 x(ted)S 162 x(operat)S 2 x(ion)S 162 x(faile)S
2 x(d)S 162 x(for)S 163 x(reasons)S 163 x(unspeci\211ed)S 163 x(at)S
163 x(the)S 162 x(GSS-API)S 4945 X 648 y(level.)S 3899 25197 XY(This)S
188 x(call)S 189 x(is)S 188 x(used)S 189 x(to)S 188 x(determi)S 2 x
(ne)S 188 x(the)S 188 x(amount)S 189 x(of)S 188 x(time)S 190 x(for)S
188 x(which)S 188 x(a)S 188 x(curr)S 2 x(ently)S 188 x(establ)S 2 x
(ished)S 188 x(context)S 189 x(will)S 189 x(remain)S 3899 X 647 y(valid.)S
3899 27339 XY F32(2.3)S 547 x(Per-message)S 182 x(calls)S 3899 28335 XY
F74(This)S 251 x(group)S 251 x(of)S 251 x(calls)S 252 x(is)S 251 x(used)S
251 x(to)S 251 x(perf)S 2 x(orm)S 251 x(per)S -10 x(-message)S 252 x
(protec)S 2 x(tion)S 251 x(processi)S 2 x(ng)S 250 x(on)S 251 x(an)S
251 x(establi)S 2 x(shed)S 251 x(security)S 3899 X 648 y(context.)S
422 x(None)S 242 x(of)S 242 x(these)S 243 x(calls)S 243 x(block)S 243 x
(pending)S 242 x(network)S 242 x(inter)S 2 x(actions.)S 422 x(These)S
242 x(call)S 2 x(s)S 242 x(may)S 242 x(be)S 242 x(invoked)S 242 x(by)S
242 x(a)S 3899 X 647 y(context')S -29 x(s)S 210 x(initiat)S 2 x(or)S
209 x(or)S 210 x(by)S 209 x(the)S 210 x(context')S -28 x(s)S 209 x(tar)S
-9 x(get.)S 324 x(The)S 209 x(four)S 211 x(members)S 211 x(of)S 209 x
(this)S 210 x(group)S 210 x(should)S 210 x(be)S 209 x(consider)S 2 x
(ed)S 209 x(as)S 3899 X 648 y(two)S 211 x(pairs;)S 228 x(the)S 211 x
(output)S 212 x(from)S 213 x(GSS_Sign)S(\()S 82 x(\))S 212 x(is)S 212 x
(properl)S 2 x(y)S 211 x(input)S 212 x(to)S 212 x(GSS_V)S -63 x(erif)S
2 x(y)S(\()S 83 x(\))S(,)S 219 x(and)S 212 x(the)S 212 x(output)S 212 x
(from)S 213 x(GSS)S -2 x(_)S 3899 X 647 y(Seal)S(\()S 84 x(\))S 183 x
(is)S 183 x(properl)S 2 x(y)S 182 x(input)S 183 x(to)S 183 x(GSS_Unseal)S
(\()S 83 x(\))S(.)S 3899 31922 XY(GSS_S)S -2 x(ign)S(\()S 84 x(\))S
251 x(and)S 251 x(GSS_V)S -62 x(erify)S(\()S 85 x(\))S 250 x(support)S
252 x(data)S 251 x(origin)S 252 x(authentica)S 2 x(tion)S 251 x(and)S
250 x(data)S 252 x(integrit)S 2 x(y)S 250 x(servic)S 2 x(es.)S 447 x
(When)S 3899 X 647 y(GSS_S)S -2 x(ign)S(\()S 84 x(\))S 181 x(is)S 181 x
(invoked)S 181 x(on)S 181 x(an)S 181 x(input)S 181 x(message)S 2 x(,)S
181 x(it)S 181 x(yields)S 181 x(a)S 181 x(per)S -10 x(-messa)S 2 x(ge)S
181 x(token)S 181 x(containing)S 182 x(data)S 181 x(item)S 2 x(s)S 180 x
(which)S 3899 X 648 y(allow)S 140 x(underlyi)S 2 x(ng)S 139 x(mechani)S
2 x(sms)S 140 x(to)S 140 x(provide)S 141 x(the)S 140 x(speci\211ed)S
141 x(securi)S 2 x(ty)S 140 x(services)S 2 x(.)S 229 x(The)S 140 x(original)S
141 x(message)S 2 x(,)S 148 x(along)S 140 x(with)S 3899 X 647 y(the)S
169 x(generat)S 2 x(ed)S 169 x(per)S -11 x(-mes)S 2 x(sage)S 169 x(token,)S
172 x(is)S 169 x(passed)S 169 x(to)S 169 x(the)S 170 x(remote)S 170 x
(peer;)S 174 x(these)S 170 x(two)S 169 x(data)S 169 x(eleme)S 2 x(nts)S
169 x(are)S 169 x(process)S 2 x(ed)S 169 x(by)S 3899 X 648 y(GSS_V)S
-62 x(erify)S(\()S 85 x(\))S(,)S 183 x(which)S 183 x(validates)S 184 x
(the)S 183 x(messa)S 2 x(ge)S 182 x(in)S 183 x(conjuncti)S 2 x(on)S
182 x(with)S 183 x(the)S 184 x(separate)S 184 x(token.)S 230 x 37373 Y
F36(1)S -27 x(1\203June\2031991)S 499 x(19)S
%%EndCustomColor: 0
19 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 20 20
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 3899 2106 XY F40(Generic)S 150 x(Security)S 150 x(Service)S 151 x
(API:)S 149 x(Internet-Dra)S 2 x(ft)S 3899 X 548 y(Common)S 148 x(Authentication)S
150 x(T)S -34 x(echnology)S 150 x(WG:)S 150 x(John)S 149 x(Linn)S 149 x
(\(DEC\))S 3899 3976 XY F74(GSS_S)S -2 x(eal)S(\()S 85 x(\))S 252 x
(and)S 251 x(GSS_Unseal)S(\()S 83 x(\))S 252 x(support)S 252 x(calle)S
2 x(r)S -11 x(-reques)S 2 x(ted)S 251 x(con\211dentia)S 2 x(lity)S 252 x
(in)S 251 x(additi)S 2 x(on)S 251 x(to)S 251 x(the)S 252 x(data)S 252 x
(origin)S 3899 X 648 y(authentic)S 2 x(ation)S 149 x(and)S 150 x(data)S
149 x(integr)S 2 x(ity)S 149 x(servi)S 2 x(ces)S 149 x(of)S -9 x(fered)S
150 x(by)S 149 x(GSS_Sign)S(\()S 82 x(\))S 150 x(and)S 149 x(GSS_V)S
-62 x(erify)S(\()S 85 x(\))S(.)S 232 x(GSS_Seal)S(\()S 83 x(\))S 150 x
(outputs)S 3899 X 648 y(a)S 125 x(single)S 127 x(data)S 126 x(element)S
2 x(,)S 136 x(encapsul)S 2 x(ating)S 126 x(optionally-)S 2 x(enciphered)S
127 x(user)S 126 x(data)S 126 x(as)S 125 x(well)S 126 x(as)S 126 x(associat)S
2 x(ed)S 125 x(token)S 126 x(data)S 126 x(items.)S 3899 X 647 y(The)S
169 x(data)S 171 x(element)S 171 x(output)S 170 x(from)S 171 x(GSS)S
-2 x(_Seal)S(\()S 85 x(\))S 169 x(is)S 170 x(passed)S 171 x(to)S 169 x
(the)S 170 x(remot)S 2 x(e)S 169 x(peer)S 171 x(and)S 170 x(processed)S
171 x(by)S 169 x(GSS_U)S -2 x(nseal)S 2 x(\()S 83 x(\))S 3899 X 648 y
(at)S 168 x(that)S 168 x(system.)S 239 x(GSS_Unseal)S(\()S 83 x(\))S
168 x(combines)S 168 x(decipher)S 2 x(ment)S 168 x(\(as)S 168 x(require)S
2 x(d\))S 167 x(with)S 168 x(validation)S 168 x(of)S 168 x(data)S 168 x
(items)S 168 x(rel)S 2 x(ated)S 3899 X 647 y(to)S 183 x(authentic)S
2 x(ation)S 183 x(and)S 183 x(integri)S 2 x(ty)S -36 x(.)S 3899 8609 XY
F32(2.3.1)S 547 x(GSS)S 2 x(_Sign)S 182 x(call)S 3899 X 897 y F74(Inputs:)S
3899 X 896 y(\201)S 854 x(context_handl)S 2 x(e)S 183 x(INTEGER,)S 3899 X
897 y(\201)S 854 x(qop_req)S 183 x(INTEGER,\2020)S 182 x(speci\211es)S
184 x(default)S 184 x(QOP)S 3899 X 897 y(\201)S 854 x(message)S 184 x
(OCTET)S 182 x(STRING)S 3899 13292 XY(Outputs:)S 3899 X 896 y(\201)S
854 x(major_st)S 2 x(atus)S 183 x(INTEGER,)S 3899 X 897 y(\201)S 854 x
(minor_sta)S 2 x(tus)S 183 x(INTEGER,)S 3899 X 896 y(\201)S 854 x(per_msg_toke)S
2 x(n)S 182 x(OCTET)S 182 x(STRING)S 3899 17077 XY(Return)S 184 x(major_s)S
2 x(tatus)S 183 x(codes:)S 3899 X 897 y(\201)S 854 x(GSS_COMPLE)S -2 x
(TE)S 198 x(indica)S 2 x(tes)S 199 x(that)S 199 x(a)S 199 x(signatur)S
2 x(e,)S 203 x(suitable)S 200 x(for)S 199 x(an)S 199 x(establ)S 2 x
(ished)S 199 x(securit)S 2 x(y)S 198 x(context,)S 204 x(was)S 199 x
(suc-)S 4945 X 648 y(cessful)S 2 x(ly)S 152 x(applie)S 2 x(d)S 152 x
(and)S 153 x(that)S 153 x(the)S 153 x(message)S 154 x(and)S 153 x(corresponding)S
154 x(per_msg_token)S 154 x(are)S 153 x(ready)S 154 x(for)S 153 x(transm)S
2 x(ission.)S 3899 X 896 y(\201)S 854 x(GSS_CONT)S -2 x(EXT_EXPIRED)S
206 x(indicat)S 2 x(es)S 207 x(that)S 208 x(context)S 2 x(-relat)S 2 x
(ed)S 207 x(data)S 208 x(items)S 209 x(have)S 207 x(expire)S 2 x(d,)S
213 x(so)S 207 x(that)S 208 x(the)S 208 x(re-)S 4945 X 648 y(quested)S
184 x(operation)S 184 x(cannot)S 183 x(be)S 183 x(perfor)S 2 x(med.)S
3899 X 896 y(\201)S 854 x(GSS_CREDENT)S -2 x(IALS_EXPIRED)S 238 x(indica)S
2 x(tes)S 239 x(that)S 240 x(the)S 240 x(context)S 240 x(is)S 240 x
(recogniz)S 2 x(ed,)S 253 x(but)S 239 x(that)S 240 x(its)S 240 x(associ)S
2 x(ated)S 4945 X 648 y(credent)S 2 x(ials)S 183 x(have)S 183 x(expire)S
2 x(d,)S 182 x(so)S 183 x(that)S 184 x(the)S 183 x(requeste)S 2 x(d)S
182 x(operat)S 2 x(ion)S 183 x(cannot)S 183 x(be)S 183 x(perfor)S 2 x
(med.)S 3899 X 897 y(\201)S 854 x(GSS_N)S -2 x(O_CONTEXT)S 208 x(indicate)S
2 x(s)S 209 x(that)S 210 x(no)S 209 x(valid)S 210 x(context)S 210 x
(was)S 209 x(recogni)S 2 x(zed)S 209 x(for)S 210 x(the)S 210 x(input)S
210 x(context_handle)S 4945 X 647 y(provided.)S 3899 X 897 y(\201)S
854 x(GSS_F)S -42 x(AILURE)S 190 x(indicat)S 2 x(es)S 190 x(that)S 192 x
(the)S 191 x(context)S 191 x(is)S 191 x(recogniz)S 2 x(ed,)S 192 x(but)S
191 x(that)S 191 x(the)S 191 x(request)S 2 x(ed)S 190 x(operat)S 2 x
(ion)S 190 x(could)S 191 x(not)S 4945 X 647 y(be)S 183 x(perform)S 2 x
(ed)S 183 x(for)S 183 x(reasons)S 184 x(unspeci\211ed)S 184 x(at)S 183 x
(the)S 183 x(GSS-API)S 182 x(level.)S 3899 25894 XY(Using)S 192 x(the)S
193 x(securit)S 2 x(y)S 192 x(context)S 193 x(refe)S 2 x(renced)S 193 x
(by)S 192 x(context_ha)S 2 x(ndle,)S 195 x(apply)S 192 x(a)S 193 x(signature)S
194 x(to)S 192 x(the)S 193 x(input)S 193 x(message)S 193 x(\(al)S 2 x
(ong)S 3899 X 648 y(with)S 159 x(times)S 2 x(tamps)S 160 x(and/or)S
160 x(other)S 160 x(data)S 160 x(included)S 160 x(in)S 159 x(support)S
160 x(of)S 160 x(mech_type-s)S 2 x(peci\211c)S 159 x(mecha)S 2 x(nisms\))S
160 x(and)S 159 x(retur)S 2 x(n)S 159 x(the)S 3899 X 647 y(result)S
186 x(in)S 185 x(per_msg_toke)S 2 x(n.)S 249 x(The)S 185 x(qop_req)S
185 x(paramet)S 2 x(er)S 185 x(allows)S 185 x(qualit)S 2 x(y-of-prot)S
2 x(ection)S 185 x(contr)S 2 x(ol.)S 249 x(The)S 185 x(caller)S 186 x
(passes)S 3899 X 648 y(the)S 183 x(message)S 184 x(and)S 183 x(the)S
183 x(per_msg_t)S 2 x(oken)S 183 x(to)S 183 x(the)S 183 x(tar)S -9 x
(get.)S 3899 28833 XY(The)S 134 x(GSS_Sign)S(\()S 82 x(\))S 135 x(function)S
135 x(complet)S 2 x(es)S 134 x(befor)S 2 x(e)S 134 x(the)S 135 x(message)S
135 x(and)S 135 x(per_msg_token)S 135 x(is)S 135 x(sent)S 135 x(to)S
134 x(the)S 135 x(peer;)S 151 x(succes)S 2 x(sful)S 3899 X 648 y(applicat)S
2 x(ion)S 261 x(of)S 262 x(GSS_)S -2 x(Sign)S(\()S 84 x(\))S 261 x(does)S
262 x(not)S 261 x(guarant)S 2 x(ee)S 261 x(that)S 262 x(a)S 262 x(corresponding)S
263 x(GSS)S -2 x(_V)S -61 x(erif)S 2 x(y)S(\()S 83 x(\))S 262 x(has)S
261 x(been)S 262 x(\(or)S 262 x(can)S 3899 X 647 y(necessar)S 2 x(ily)S
183 x(be\))S 183 x(perf)S 2 x(ormed)S 183 x(success)S 2 x(fully)S 183 x
(when)S 183 x(the)S 183 x(message)S 184 x(arri)S 2 x(ves)S 183 x(at)S
183 x(the)S 183 x(destina)S 2 x(tion.)S 3899 31523 XY F32(2.3.2)S 547 x
(GSS)S 2 x(_V)S -30 x(erify)S 183 x(call)S 3899 X 897 y F74(Inputs:)S
3899 X 896 y(\201)S 854 x(context_handl)S 2 x(e)S 183 x(INTEGER,)S 3899 X
897 y(\201)S 854 x(message)S 184 x(OCTET)S 182 x(STRING,)S 3899 37373 XY
F36(20)S 498 x(1)S -28 x(1\203June\2031991)S
%%EndCustomColor: 0
20 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 21 21
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 17844 2106 XY F40(Generic)S 150 x(Security)S 151 x(Service)S 150 x
(API:)S 149 x(Internet-)S 2 x(Draft)S 14568 X 548 y(Comm)S -2 x(on)S
150 x(Authentication)S 149 x(T)S -33 x(echnology)S 149 x(WG:)S 150 x
(John)S 150 x(Linn)S 148 x(\(DEC\))S 3899 3976 XY F74(\201)S 854 x(per_msg_toke)S
2 x(n)S 182 x(OCTET)S 182 x(STRING)S 3899 5072 XY(Outputs:)S 3899 X
897 y(\201)S 854 x(qop_state)S 184 x(INTEGER,)S 3899 X 897 y(\201)S
854 x(major_st)S 2 x(atus)S 183 x(INTEGER,)S 3899 X 896 y(\201)S 854 x
(minor_sta)S 2 x(tus)S 183 x(INTEGER,)S 3899 8858 XY(Return)S 184 x
(major_s)S 2 x(tatus)S 183 x(codes:)S 3899 X 897 y(\201)S 854 x(GSS_COMPLE)S
-2 x(TE)S 183 x(indicates)S 184 x(that)S 184 x(the)S 183 x(message)S
184 x(was)S 183 x(successful)S 2 x(ly)S 183 x(veri\211ed.)S 3899 X 896 y
(\201)S 854 x(GSS_D)S -2 x(EFECTIVE_T)S -10 x(OKEN)S 171 x(indicates)S
174 x(that)S 173 x(consistenc)S 2 x(y)S 172 x(checks)S 173 x(perfor)S
2 x(med)S 172 x(on)S 172 x(the)S 173 x(rece)S 2 x(ived)S 172 x(per_ms)S
2 x(g_)S 4945 X 648 y(token)S 183 x(fail)S 2 x(ed,)S 182 x(prevent)S
2 x(ing)S 183 x(further)S 184 x(process)S 2 x(ing)S 182 x(from)S 184 x
(being)S 184 x(performe)S 2 x(d)S 182 x(with)S 183 x(that)S 184 x(token.)S
3899 X 897 y(\201)S 854 x(GSS_BAD_S)S -2 x(IG)S 218 x(indicate)S 2 x
(s)S 217 x(that)S 218 x(the)S 219 x(received)S 219 x(per_msg_toke)S
2 x(n)S 217 x(contains)S 219 x(an)S 217 x(incorr)S 2 x(ect)S 218 x(signatur)S
2 x(e)S 218 x(for)S 218 x(the)S 4945 X 647 y(message.)S 3899 X 897 y
(\201)S 854 x(GSS_D)S -2 x(UPLICA)S -61 x(TE_T)S -10 x(OKEN)S -2 x(,)S
297 x(GSS_OLD)S -2 x(_T)S -10 x(OKEN,)S 296 x(and)S 297 x(GSS_U)S -2 x
(NSEQ_T)S -11 x(OKEN)S 295 x(values)S 298 x(appear)S 298 x(in)S 4945 X
647 y(conjunction)S 272 x(with)S 272 x(the)S 271 x(optional)S 272 x
(per)S -10 x(-messa)S 2 x(ge)S 271 x(replay)S 272 x(detec)S 2 x(tion)S
271 x(featur)S 2 x(es)S 271 x(descr)S 2 x(ibed)S 271 x(in)S 271 x(Section)S
272 x(1.2.3;)S 4945 X 648 y(their)S 184 x(semanti)S 2 x(cs)S 183 x(are)S
183 x(descr)S 2 x(ibed)S 183 x(in)S 183 x(that)S 183 x(secti)S 2 x(on.)S
3899 X 897 y(\201)S 854 x(GSS_CONT)S -2 x(EXT_EXPIRED)S 206 x(indicat)S
2 x(es)S 207 x(that)S 208 x(context)S 2 x(-relat)S 2 x(ed)S 207 x(data)S
208 x(items)S 209 x(have)S 207 x(expire)S 2 x(d,)S 213 x(so)S 207 x
(that)S 208 x(the)S 208 x(re-)S 4945 X 647 y(quested)S 184 x(operation)S
184 x(cannot)S 183 x(be)S 183 x(perfor)S 2 x(med.)S 3899 X 897 y(\201)S
854 x(GSS_CREDENT)S -2 x(IALS_EXPIRED)S 238 x(indica)S 2 x(tes)S 239 x
(that)S 240 x(the)S 240 x(context)S 240 x(is)S 240 x(recogniz)S 2 x
(ed,)S 253 x(but)S 239 x(that)S 240 x(its)S 240 x(associ)S 2 x(ated)S
4945 X 647 y(credent)S 2 x(ials)S 183 x(have)S 183 x(expire)S 2 x(d,)S
182 x(so)S 183 x(that)S 184 x(the)S 183 x(requeste)S 2 x(d)S 182 x(operat)S
2 x(ion)S 183 x(cannot)S 183 x(be)S 183 x(perfor)S 2 x(med.)S 3899 X
897 y(\201)S 854 x(GSS_N)S -2 x(O_CONTEXT)S 208 x(indicate)S 2 x(s)S
209 x(that)S 210 x(no)S 209 x(valid)S 210 x(context)S 210 x(was)S 209 x
(recogni)S 2 x(zed)S 209 x(for)S 210 x(the)S 210 x(input)S 210 x(context_handle)S
4945 X 648 y(provided.)S 3899 X 896 y(\201)S 854 x(GSS_F)S -42 x(AILURE)S
181 x(indica)S 2 x(tes)S 182 x(that)S 183 x(the)S 182 x(context)S 183 x
(is)S 182 x(recogniz)S 2 x(ed,)S 182 x(but)S 182 x(that)S 182 x(the)S
183 x(GSS_V)S -63 x(eri)S 2 x(fy)S(\()S 83 x(\))S 183 x(operation)S
183 x(could)S 4945 X 648 y(not)S 183 x(be)S 183 x(perform)S 2 x(ed)S
183 x(for)S 183 x(reasons)S 184 x(unspeci\211ed)S 184 x(at)S 183 x(the)S
183 x(GSS-API)S 182 x(level.)S 3899 22308 XY(Using)S 153 x(the)S 153 x
(securi)S 2 x(ty)S 153 x(context)S 154 x(refer)S 2 x(enced)S 153 x(by)S
153 x(context_handl)S 2 x(e,)S 159 x(verify)S 154 x(that)S 154 x(the)S
153 x(input)S 154 x(per_msg_token)S 154 x(contains)S 154 x(an)S 3899 X
647 y(appropria)S 2 x(te)S 150 x(signature)S 151 x(for)S 151 x(the)S
150 x(input)S 150 x(message,)S 157 x(and)S 150 x(apply)S 150 x(any)S
150 x(active)S 151 x(repla)S 2 x(y)S 149 x(detect)S 2 x(ion)S 149 x
(or)S 150 x(sequenci)S 2 x(ng)S 149 x(feat)S 2 x(ures.)S 3899 X 648 y
(Return)S 155 x(an)S 153 x(indicati)S 2 x(on)S 153 x(of)S 153 x(the)S
154 x(quality-)S 2 x(of-prote)S 2 x(ction)S 154 x(applied)S 154 x(to)S
153 x(the)S 154 x(processe)S 2 x(d)S 153 x(message)S 154 x(in)S 154 x
(the)S 154 x(qop_state)S 154 x(result.)S 3899 24998 XY F32(2.3.3)S 547 x
(GSS)S 2 x(_Seal)S 182 x(call)S 3899 X 896 y F74(Inputs:)S 3899 X 897 y
(\201)S 854 x(context_handl)S 2 x(e)S 183 x(INTEGER,)S 3899 X 897 y
(\201)S 854 x(conf_req_\212ag)S 184 x(BOOLEAN)S -2 x(,)S 3899 X 896 y
(\201)S 854 x(qop_req)S 183 x(INTEGER,\2020)S 182 x(speci\211es)S 184 x
(default)S 184 x(QOP)S 3899 X 897 y(\201)S 854 x(input_messa)S 2 x(ge)S
183 x(OCTET)S 182 x(STRING)S 3899 30577 XY(Outputs:)S 3899 X 896 y(\201)S
854 x(major_st)S 2 x(atus)S 183 x(INTEGER,)S 3899 X 897 y(\201)S 854 x
(minor_sta)S 2 x(tus)S 183 x(INTEGER,)S 3899 X 897 y(\201)S 854 x(conf_stat)S
2 x(e)S 183 x(BOOLEAN)S -2 x(,)S 3899 X 896 y(\201)S 854 x(output_messa)S
2 x(ge)S 183 x(OCTET)S 182 x(STRING)S 22808 37373 XY F36(1)S -27 x(1\203June\2031991)S
499 x(21)S
%%EndCustomColor: 0
21 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 22 22
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 3899 2106 XY F40(Generic)S 150 x(Security)S 150 x(Service)S 151 x
(API:)S 149 x(Internet-Dra)S 2 x(ft)S 3899 X 548 y(Common)S 148 x(Authentication)S
150 x(T)S -34 x(echnology)S 150 x(WG:)S 150 x(John)S 149 x(Linn)S 149 x
(\(DEC\))S 3899 3976 XY F74(Return)S 184 x(major_s)S 2 x(tatus)S 183 x
(codes:)S 3899 X 897 y(\201)S 854 x(GSS_COMPLE)S -2 x(TE)S 159 x(indicat)S
2 x(es)S 159 x(that)S 160 x(the)S 160 x(input_messa)S 2 x(ge)S 159 x
(was)S 159 x(succes)S 2 x(sfully)S 160 x(processe)S 2 x(d)S 159 x(and)S
159 x(that)S 160 x(the)S 160 x(output_)S 4945 X 648 y(message)S 184 x
(is)S 183 x(ready)S 184 x(for)S 183 x(trans)S 2 x(mission.)S 3899 X
896 y(\201)S 854 x(GSS_CONT)S -2 x(EXT_EXPIRED)S 206 x(indicat)S 2 x
(es)S 207 x(that)S 208 x(context)S 2 x(-relat)S 2 x(ed)S 207 x(data)S
208 x(items)S 209 x(have)S 207 x(expire)S 2 x(d,)S 213 x(so)S 207 x
(that)S 208 x(the)S 208 x(re-)S 4945 X 648 y(quested)S 184 x(operation)S
184 x(cannot)S 183 x(be)S 183 x(perfor)S 2 x(med.)S 3899 X 896 y(\201)S
854 x(GSS_CREDENT)S -2 x(IALS_EXPIRED)S 238 x(indica)S 2 x(tes)S 239 x
(that)S 240 x(the)S 240 x(context)S 240 x(is)S 240 x(recogniz)S 2 x
(ed,)S 253 x(but)S 239 x(that)S 240 x(its)S 240 x(associ)S 2 x(ated)S
4945 X 648 y(credent)S 2 x(ials)S 183 x(have)S 183 x(expire)S 2 x(d,)S
182 x(so)S 183 x(that)S 184 x(the)S 183 x(requeste)S 2 x(d)S 182 x(operat)S
2 x(ion)S 183 x(cannot)S 183 x(be)S 183 x(perfor)S 2 x(med.)S 3899 X
897 y(\201)S 854 x(GSS_N)S -2 x(O_CONTEXT)S 208 x(indicate)S 2 x(s)S
209 x(that)S 210 x(no)S 209 x(valid)S 210 x(context)S 210 x(was)S 209 x
(recogni)S 2 x(zed)S 209 x(for)S 210 x(the)S 210 x(input)S 210 x(context_handle)S
4945 X 647 y(provided.)S 3899 X 897 y(\201)S 854 x(GSS_F)S -42 x(AILURE)S
216 x(indicat)S 2 x(es)S 217 x(that)S 217 x(the)S 217 x(context)S 218 x
(is)S 217 x(recognize)S 2 x(d,)S 225 x(but)S 216 x(that)S 218 x(the)S
217 x(GSS_S)S -2 x(eal)S(\()S 85 x(\))S 217 x(operation)S 218 x(could)S
4945 X 647 y(not)S 183 x(be)S 183 x(perform)S 2 x(ed)S 183 x(for)S 183 x
(reasons)S 184 x(unspeci\211ed)S 184 x(at)S 183 x(the)S 183 x(GSS-API)S
182 x(level.)S 3899 12793 XY(Performs)S 206 x(the)S 206 x(data)S 206 x
(origin)S 206 x(authentica)S 2 x(tion)S 205 x(and)S 205 x(data)S 206 x
(integri)S 2 x(ty)S 205 x(functions)S 206 x(of)S 205 x(GSS_Sign)S(\()S
83 x(\))S(.)S 310 x(If)S 206 x(the)S 205 x(input)S 206 x(conf_)S 3899 X
648 y(req_\212ag)S 168 x(is)S 168 x(TRUE,)S 167 x(requests)S 169 x(that)S
168 x(con\211dentia)S 2 x(lity)S 168 x(be)S 168 x(applied)S 168 x(to)S
168 x(the)S 168 x(input_messa)S 2 x(ge.)S 238 x(Con\211dentia)S 2 x
(lity)S 168 x(may)S 168 x(not)S 3899 X 648 y(be)S 171 x(supporte)S 2 x
(d)S 171 x(in)S 172 x(all)S 172 x(mech_types)S 173 x(or)S 171 x(by)S
172 x(all)S 172 x(implem)S 2 x(entations;)S 177 x(the)S 172 x(returned)S
173 x(conf_state)S 173 x(\212ag)S 171 x(indicat)S 2 x(es)S 172 x(whether)S
3899 X 647 y(con\211dentiali)S 2 x(ty)S 174 x(was)S 175 x(provided)S
175 x(for)S 175 x(the)S 175 x(input_messa)S 2 x(ge.)S 241 x(The)S 174 x
(qop_req)S 175 x(parame)S 2 x(ter)S 175 x(allows)S 175 x(quality-)S
2 x(of-prote)S 2 x(ction)S 3899 X 648 y(control.)S 3899 16380 XY(In)S
240 x(all)S 240 x(cases,)S 255 x(the)S 239 x(GSS_Seal)S(\()S 83 x(\))S
240 x(call)S 241 x(yields)S 240 x(a)S 240 x(single)S 240 x(output_mess)S
2 x(age)S 239 x(data)S 241 x(element)S 241 x(containing)S 241 x(\(optionally)S
3899 X 647 y(enciphere)S 2 x(d\))S 183 x(user)S 183 x(data)S 184 x(as)S
183 x(well)S 183 x(as)S 183 x(control)S 184 x(inform)S 2 x(ation.)S
3899 18422 XY F32(2.3.4)S 547 x(GSS)S 2 x(_Uns)S -2 x(eal)S 183 x(call)S
3899 X 897 y F74(Inputs:)S 3899 X 897 y(\201)S 854 x(context_handl)S
2 x(e)S 183 x(INTEGER,)S 3899 X 896 y(\201)S 854 x(input_messa)S 2 x
(ge)S 183 x(OCTET)S 182 x(STRING)S 3899 22208 XY(Outputs:)S 3899 X 897 y
(\201)S 854 x(conf_stat)S 2 x(e)S 183 x(BOOLEAN)S -2 x(,)S 3899 X 896 y
(\201)S 854 x(qop_state)S 184 x(INTEGER,)S 3899 X 897 y(\201)S 854 x
(major_st)S 2 x(atus)S 183 x(INTEGER,)S 3899 X 897 y(\201)S 854 x(minor_sta)S
2 x(tus)S 183 x(INTEGER,)S 3899 X 896 y(\201)S 854 x(output_messa)S
2 x(ge)S 183 x(OCTET)S 182 x(STRING)S 3899 27787 XY(Return)S 184 x(major_s)S
2 x(tatus)S 183 x(codes:)S 3899 X 897 y(\201)S 854 x(GSS_COMPLE)S -2 x
(TE)S 137 x(indicate)S 2 x(s)S 137 x(that)S 138 x(the)S 138 x(input_message)S
139 x(was)S 137 x(successful)S 2 x(ly)S 137 x(processe)S 2 x(d)S 137 x
(and)S 137 x(that)S 138 x(the)S 138 x(resulti)S 2 x(ng)S 4945 X 647 y
(output_messa)S 2 x(ge)S 183 x(is)S 183 x(available)S 2 x(.)S 3899 X
897 y(\201)S 854 x(GSS_D)S -2 x(EFECTIVE_T)S -10 x(OKEN)S 272 x(indicate)S
2 x(s)S 273 x(that)S 275 x(consistenc)S 2 x(y)S 273 x(checks)S 275 x
(performe)S 2 x(d)S 273 x(on)S 274 x(the)S 274 x(per_msg_token)S 4945 X
648 y(extrac)S 2 x(ted)S 183 x(from)S 184 x(the)S 183 x(input_messa)S
2 x(ge)S 183 x(failed,)S 184 x(preventing)S 184 x(furthe)S 2 x(r)S 183 x
(processing)S 184 x(from)S 184 x(being)S 183 x(perfor)S 2 x(med.)S 3899 X
896 y(\201)S 854 x(GSS_BAD_S)S -2 x(IG)S 183 x(indicate)S 2 x(s)S 183 x
(that)S 183 x(an)S 183 x(incorre)S 2 x(ct)S 183 x(signatur)S 2 x(e)S
182 x(was)S 183 x(detect)S 2 x(ed)S 183 x(for)S 183 x(the)S 183 x(messa)S
2 x(ge.)S 3899 X 897 y(\201)S 854 x(GSS_D)S -2 x(UPLICA)S -61 x(TE_T)S
-10 x(OKEN)S -2 x(,)S 297 x(GSS_OLD)S -2 x(_T)S -10 x(OKEN,)S 296 x
(and)S 297 x(GSS_U)S -2 x(NSEQ_T)S -11 x(OKEN)S 295 x(values)S 298 x
(appear)S 298 x(in)S 4945 X 647 y(conjunction)S 272 x(with)S 272 x(the)S
271 x(optional)S 272 x(per)S -10 x(-messa)S 2 x(ge)S 271 x(replay)S
272 x(detec)S 2 x(tion)S 271 x(featur)S 2 x(es)S 271 x(descr)S 2 x(ibed)S
271 x(in)S 271 x(Section)S 272 x(1.2.3;)S 4945 X 648 y(their)S 184 x
(semanti)S 2 x(cs)S 183 x(are)S 183 x(descr)S 2 x(ibed)S 183 x(in)S
183 x(that)S 183 x(secti)S 2 x(on.)S 3899 X 897 y(\201)S 854 x(GSS_CONT)S
-2 x(EXT_EXPIRED)S 206 x(indicat)S 2 x(es)S 207 x(that)S 208 x(context)S
2 x(-relat)S 2 x(ed)S 207 x(data)S 208 x(items)S 209 x(have)S 207 x
(expire)S 2 x(d,)S 213 x(so)S 207 x(that)S 208 x(the)S 208 x(re-)S 4945 X
647 y(quested)S 184 x(operation)S 184 x(cannot)S 183 x(be)S 183 x(perfor)S
2 x(med.)S 3899 37373 XY F36(22)S 498 x(1)S -28 x(1\203June\2031991)S
%%EndCustomColor: 0
22 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 23 23
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 17844 2106 XY F40(Generic)S 150 x(Security)S 151 x(Service)S 150 x
(API:)S 149 x(Internet-)S 2 x(Draft)S 14568 X 548 y(Comm)S -2 x(on)S
150 x(Authentication)S 149 x(T)S -33 x(echnology)S 149 x(WG:)S 150 x
(John)S 150 x(Linn)S 148 x(\(DEC\))S 3899 3976 XY F74(\201)S 854 x(GSS_CREDENT)S
-2 x(IALS_EXPIRED)S 238 x(indica)S 2 x(tes)S 239 x(that)S 240 x(the)S
240 x(context)S 240 x(is)S 240 x(recogniz)S 2 x(ed,)S 253 x(but)S 239 x
(that)S 240 x(its)S 240 x(associ)S 2 x(ated)S 4945 X 648 y(credent)S
2 x(ials)S 183 x(have)S 183 x(expire)S 2 x(d,)S 182 x(so)S 183 x(that)S
184 x(the)S 183 x(requeste)S 2 x(d)S 182 x(operat)S 2 x(ion)S 183 x
(cannot)S 183 x(be)S 183 x(perfor)S 2 x(med.)S 3899 X 897 y(\201)S 854 x
(GSS_N)S -2 x(O_CONTEXT)S 208 x(indicate)S 2 x(s)S 209 x(that)S 210 x
(no)S 209 x(valid)S 210 x(context)S 210 x(was)S 209 x(recogni)S 2 x
(zed)S 209 x(for)S 210 x(the)S 210 x(input)S 210 x(context_handle)S
4945 X 647 y(provided.)S 3899 X 897 y(\201)S 854 x(GSS_F)S -42 x(AILURE)S
169 x(indicates)S 170 x(that)S 170 x(the)S 169 x(context)S 170 x(is)S
170 x(recognized,)S 173 x(but)S 169 x(that)S 170 x(the)S 169 x(GSS_Unseal)S
(\()S 83 x(\))S 170 x(operation)S 170 x(could)S 4945 X 647 y(not)S 183 x
(be)S 183 x(perform)S 2 x(ed)S 183 x(for)S 183 x(reasons)S 184 x(unspeci\211ed)S
184 x(at)S 183 x(the)S 183 x(GSS-API)S 182 x(level.)S 3899 8808 XY(Processes)S
268 x(a)S 267 x(data)S 267 x(element)S 268 x(generat)S 2 x(ed)S 266 x
(\(and)S 268 x(optionally)S 268 x(enciphered\))S 268 x(by)S 267 x(GSS_S)S
-2 x(eal)S(\()S 85 x(\))S(,)S 288 x(provided)S 267 x(as)S 267 x(input_)S
3899 X 648 y(message.)S 483 x(The)S 261 x(ret)S 2 x(urned)S 262 x(conf_sta)S
2 x(te)S 262 x(value)S 263 x(indicate)S 2 x(s)S 262 x(whether)S 262 x
(con\211dential)S 2 x(ity)S 262 x(was)S 262 x(applied)S 263 x(to)S 262 x
(the)S 263 x(input_)S 3899 X 647 y(message.)S 277 x(If)S 195 x(conf_stat)S
2 x(e)S 193 x(is)S 194 x(TRUE,)S 193 x(GSS_Unseal)S(\()S 84 x(\))S 193 x
(deciphe)S 2 x(rs)S 194 x(the)S 194 x(input_messa)S 2 x(ge.)S 276 x
(Returns)S 195 x(an)S 194 x(indicati)S 2 x(on)S 193 x(of)S 3899 X 648 y
(the)S 174 x(quality-)S 2 x(of-prot)S 2 x(ection)S 175 x(applied)S 174 x
(to)S 175 x(the)S 174 x(processe)S 2 x(d)S 173 x(message)S 176 x(in)S
174 x(the)S 174 x(qop_state)S 175 x(result)S 2 x(.)S 240 x(GSS_Seal)S
(\()S 83 x(\))S 174 x(perf)S 2 x(orms)S 3899 X 648 y(the)S 235 x(data)S
236 x(integrit)S 2 x(y)S 234 x(and)S 235 x(data)S 235 x(origi)S 2 x
(n)S 234 x(authenti)S 2 x(cation)S 235 x(checking)S 236 x(functions)S
236 x(of)S 235 x(GSS_V)S -62 x(erify)S(\()S 85 x(\))S 235 x(on)S 234 x
(the)S 236 x(plaintext)S 3899 X 647 y(data.)S 244 x(Plaintext)S 184 x
(data)S 184 x(is)S 183 x(retur)S 2 x(ned)S 182 x(in)S 183 x(output_me)S
2 x(ssage.)S 3899 13541 XY F32(2.4)S 547 x(Support)S 183 x(calls)S 3899 14537 XY
F74(This)S 224 x(group)S 223 x(of)S 224 x(calls)S 225 x(provides)S 224 x
(support)S 225 x(functions)S 224 x(useful)S 225 x(to)S 224 x(GSS-AP)S
-2 x(I)S 224 x(calle)S 2 x(rs,)S 234 x(independent)S 224 x(of)S 224 x
(the)S 224 x(state)S 225 x(of)S 3899 X 647 y(establi)S 2 x(shed)S 206 x
(contexts.)S 314 x(Their)S 207 x(charact)S 2 x(erizat)S 2 x(ion)S 206 x
(with)S 206 x(regard)S 207 x(to)S 206 x(blocking)S 207 x(or)S 206 x
(non-blocki)S 2 x(ng)S 205 x(stat)S 2 x(us)S 205 x(in)S 207 x(terms)S
207 x(of)S 3899 X 648 y(network)S 183 x(inter)S 2 x(actions)S 184 x
(is)S 183 x(unspeci\211ed.)S 3899 17227 XY F32(2.4.1)S 547 x(GSS)S 2 x
(_Display)S -2 x(_status)S 182 x(call)S 3899 X 896 y F74(Inputs:)S 3899 X
897 y(\201)S 854 x(status_val)S 2 x(ue)S 183 x(INTEGER,\202GS)S -2 x
(S-API)S 183 x(major_st)S 2 x(atus)S 183 x(or)S 183 x(minor_st)S 2 x
(atus)S 183 x(retur)S 2 x(n)S 182 x(value)S 3899 X 897 y(\201)S 854 x
(status_type)S 184 x(INTEGER,\2021)S 182 x(if)S 184 x(major_st)S 2 x
(atus,)S 183 x(2)S 183 x(if)S 183 x(minor_st)S 2 x(atus)S 3899 X 896 y
(\201)S 854 x(mech_type)S 184 x(OBJECT)S 183 x(IDENTIFIER\202mech_type)S
184 x(to)S 183 x(be)S 183 x(used)S 183 x(for)S 184 x(minor_stat)S 2 x
(us)S 182 x(trans)S 2 x(lation)S 3899 21909 XY(Outputs:)S 3899 X 897 y
(\201)S 854 x(major_st)S 2 x(atus)S 183 x(INTEGER,)S 3899 X 896 y(\201)S
854 x(minor_sta)S 2 x(tus)S 183 x(INTEGER,)S 3899 X 897 y(\201)S 854 x
(status_st)S 2 x(ring_set)S 184 x(SET)S 182 x(OF)S 182 x(OCTET)S 182 x
(STRING)S 3899 25695 XY(Return)S 184 x(major_s)S 2 x(tatus)S 183 x(codes:)S
3899 X 897 y(\201)S 854 x(GSS_COMPLE)S -2 x(TE)S 184 x(indicat)S 2 x
(es)S 184 x(that)S 185 x(a)S 185 x(valid)S 185 x(printa)S 2 x(ble)S
184 x(status)S 186 x(represe)S 2 x(ntation)S 185 x(\(possibly)S 186 x
(represe)S 2 x(nting)S 184 x(more)S 4945 X 647 y(than)S 174 x(one)S
174 x(status)S 174 x(event)S 174 x(encoded)S 174 x(within)S 174 x(the)S
174 x(status)S 2 x(_value\))S 174 x(is)S 174 x(availa)S 2 x(ble)S 174 x
(in)S 173 x(the)S 174 x(retur)S 2 x(ned)S 173 x(status)S 2 x(_string_set.)S
3899 X 897 y(\201)S 854 x(GSS_BAD_ME)S -2 x(CH)S 255 x(indicate)S 2 x
(s)S 254 x(that)S 255 x(trans)S 2 x(lation)S 255 x(in)S 255 x(accordanc)S
2 x(e)S 254 x(with)S 255 x(an)S 254 x(unsupported)S 256 x(mech_type)S
255 x(was)S 4945 X 647 y(requeste)S 2 x(d,)S 182 x(so)S 183 x(transl)S
2 x(ation)S 183 x(could)S 183 x(not)S 183 x(be)S 183 x(perfor)S 2 x
(med.)S 3899 X 897 y(\201)S 854 x(GSS_BAD_S)S -2 x(T)S -44 x(A)S -61 x
(TUS)S 188 x(indicates)S 190 x(that)S 190 x(the)S 189 x(input)S 189 x
(status_va)S 2 x(lue)S 189 x(was)S 188 x(invali)S 2 x(d,)S 190 x(or)S
189 x(that)S 189 x(the)S 190 x(input)S 189 x(status_type)S 4945 X 648 y
(carri)S 2 x(ed)S 183 x(a)S 183 x(value)S 183 x(other)S 184 x(than)S
183 x(1)S 183 x(or)S 183 x(2,)S 182 x(so)S 183 x(transl)S 2 x(ation)S
183 x(could)S 183 x(not)S 183 x(be)S 183 x(perfor)S 2 x(med.)S 3899 X
896 y(\201)S 854 x(GSS_F)S -42 x(AILURE)S 134 x(indicate)S 2 x(s)S 134 x
(that)S 135 x(the)S 135 x(requeste)S 2 x(d)S 134 x(operati)S 2 x(on)S
134 x(could)S 135 x(not)S 134 x(be)S 135 x(performe)S 2 x(d)S 134 x
(for)S 135 x(reasons)S 136 x(unspeci\211ed)S 4945 X 648 y(at)S 183 x
(the)S 183 x(GSS-API)S 182 x(level.)S 3899 32968 XY(Provides)S 190 x
(a)S 189 x(means)S 190 x(for)S 190 x(caller)S 2 x(s)S 189 x(to)S 189 x
(tra)S 2 x(nslate)S 190 x(GSS-API-returned)S 190 x(major)S 191 x(and)S
189 x(minor)S 190 x(status)S 190 x(codes)S 190 x(into)S 190 x(printable)S
3899 X 647 y(string)S 184 x(represe)S 2 x(ntations.)S 22808 37373 XY
F36(1)S -27 x(1\203June\2031991)S 499 x(23)S
%%EndCustomColor: 0
23 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 24 24
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 3899 2106 XY F40(Generic)S 150 x(Security)S 150 x(Service)S 151 x
(API:)S 149 x(Internet-Dra)S 2 x(ft)S 3899 X 548 y(Common)S 148 x(Authentication)S
150 x(T)S -34 x(echnology)S 150 x(WG:)S 150 x(John)S 149 x(Linn)S 149 x
(\(DEC\))S 3899 4013 XY F32(2.4.2)S 547 x(GSS)S 2 x(_Indicate_me)S -2 x
(chs)S 182 x(call)S 3899 X 896 y F74(Input:)S 3899 X 897 y(\201)S 854 x
(\(none\))S 3899 6902 XY(Outputs:)S 3899 X 896 y(\201)S 854 x(major_st)S
2 x(atus)S 183 x(INTEGER,)S 3899 X 897 y(\201)S 854 x(minor_sta)S 2 x
(tus)S 183 x(INTEGER,)S 3899 X 897 y(\201)S 854 x(mech_set)S 184 x(SET)S
182 x(OF)S 182 x(OBJECT)S 183 x(IDENTIFIER)S 3899 10688 XY(Return)S
184 x(major_s)S 2 x(tatus)S 183 x(codes:)S 3899 X 896 y(\201)S 854 x
(GSS_COMPLE)S -2 x(TE)S 183 x(indicates)S 184 x(that)S 184 x(a)S 183 x
(set)S 183 x(of)S 183 x(availa)S 2 x(ble)S 183 x(mechanism)S 2 x(s)S
183 x(has)S 183 x(been)S 183 x(returne)S 2 x(d)S 182 x(in)S 183 x(mech_set)S
2 x(.)S 3899 X 897 y(\201)S 854 x(GSS_F)S -42 x(AILURE)S 134 x(indicate)S
2 x(s)S 134 x(that)S 135 x(the)S 135 x(requeste)S 2 x(d)S 134 x(operati)S
2 x(on)S 134 x(could)S 135 x(not)S 134 x(be)S 135 x(performe)S 2 x(d)S
134 x(for)S 135 x(reasons)S 136 x(unspeci\211ed)S 4945 X 647 y(at)S
183 x(the)S 183 x(GSS-API)S 182 x(level.)S 3899 14224 XY(Allows)S 253 x
(caller)S 2 x(s)S 252 x(to)S 253 x(deter)S 2 x(mine)S 253 x(the)S 253 x
(set)S 254 x(of)S 253 x(mechanis)S 2 x(m)S 253 x(types)S 253 x(availabl)S
2 x(e)S 253 x(on)S 252 x(the)S 254 x(local)S 253 x(system)S 2 x(.)S
453 x(This)S 253 x(call)S 254 x(is)S 3899 X 648 y(intended)S 197 x(for)S
196 x(support)S 197 x(of)S 196 x(speciali)S 2 x(zed)S 196 x(caller)S
2 x(s)S 195 x(who)S 196 x(need)S 196 x(to)S 196 x(request)S 197 x(non-default)S
197 x(mech_type)S 197 x(sets)S 197 x(from)S 197 x(GSS)S -2 x(_)S 3899 X
647 y(Acquire_cr)S 2 x(ed)S(\()S 83 x(\))S(,)S 183 x(and)S 183 x(should)S
183 x(not)S 183 x(be)S 183 x(needed)S 184 x(by)S 182 x(other)S 184 x
(caller)S 2 x(s.)S 3899 16914 XY F32(2.4.3)S 547 x(GSS)S 2 x(_Compa)S
-2 x(re_name)S 182 x(call)S 3899 X 897 y F74(Inputs:)S 3899 X 896 y
(\201)S 854 x(name1)S 183 x(INTERNAL)S 182 x(NAME,)S 3899 X 897 y(\201)S
854 x(name2)S 183 x(INTERNAL)S 182 x(NAME,)S 3899 X 897 y(\201)S 854 x
(name2_type)S 184 x(OBJECT)S 183 x(IDENTIFIER)S 3899 21597 XY(Outputs:)S
3899 X 896 y(\201)S 854 x(major_st)S 2 x(atus)S 183 x(INTEGER,)S 3899 X
897 y(\201)S 854 x(minor_sta)S 2 x(tus)S 183 x(INTEGER,)S 3899 X 897 y
(\201)S 854 x(name_equal)S 184 x(BOOLEAN)S 3899 25382 XY(Return)S 184 x
(major_s)S 2 x(tatus)S 183 x(codes:)S 3899 X 897 y(\201)S 854 x(GSS_COMPLE)S
-2 x(TE)S 141 x(indica)S 2 x(tes)S 142 x(that)S 142 x(name1)S 143 x
(and)S 142 x(name2)S 142 x(were)S 142 x(compar)S 2 x(able,)S 150 x(and)S
142 x(that)S 143 x(the)S 142 x(name_equal)S 143 x(result)S 4945 X 648 y
(indicate)S 2 x(s)S 183 x(whether)S 183 x(name1)S 184 x(and)S 182 x
(name2)S 184 x(were)S 183 x(equal)S 184 x(or)S 183 x(unequal.)S 3899 X
896 y(\201)S 854 x(GSS_BAD_N)S -2 x(AMETYPE)S 221 x(indicates)S 224 x
(that)S 223 x(one)S 222 x(or)S 222 x(both)S 223 x(of)S 222 x(name1)S
223 x(and)S 222 x(name2)S 223 x(contai)S 2 x(ned)S 222 x(internal)S
224 x(type)S 4945 X 648 y(speci\211ers)S 182 x(uninterpre)S 2 x(table)S
181 x(by)S 180 x(the)S 181 x(supporting)S 181 x(GSS-API)S 179 x(implem)S
2 x(entation,)S 182 x(or)S 180 x(that)S 181 x(the)S 181 x(two)S 180 x
(names')S 182 x(types)S 4945 X 647 y(are)S 184 x(dif)S -9 x(ferent)S
184 x(and)S 183 x(incompara)S 2 x(ble,)S 183 x(so)S 183 x(the)S 183 x
(equalit)S 2 x(y)S 182 x(compari)S 2 x(son)S 182 x(could)S 184 x(not)S
183 x(be)S 182 x(comple)S 2 x(ted.)S 3899 X 897 y(\201)S 854 x(GSS_BAD_N)S
-2 x(AME)S 240 x(indicat)S 2 x(es)S 241 x(that)S 241 x(one)S 241 x(or)S
241 x(both)S 240 x(of)S 241 x(the)S 241 x(input)S 241 x(names)S 242 x
(was)S 240 x(ill-)S 2 x(formed)S 242 x(in)S 241 x(terms)S 242 x(of)S
241 x(its)S 4945 X 648 y(interna)S 2 x(l)S 183 x(type)S 183 x(speci\211er)S
-21 x(,)S 183 x(so)S 183 x(the)S 183 x(equality)S 184 x(compari)S 2 x
(son)S 182 x(could)S 184 x(not)S 183 x(be)S 182 x(comple)S 2 x(ted.)S
3899 X 896 y(\201)S 854 x(GSS_F)S -42 x(AILURE)S 134 x(indicate)S 2 x
(s)S 134 x(that)S 135 x(the)S 135 x(requeste)S 2 x(d)S 134 x(operati)S
2 x(on)S 134 x(could)S 135 x(not)S 134 x(be)S 135 x(performe)S 2 x(d)S
134 x(for)S 135 x(reasons)S 136 x(unspeci\211ed)S 4945 X 648 y(at)S
183 x(the)S 183 x(GSS-API)S 182 x(level.)S 3899 33303 XY(Allows)S 183 x
(caller)S 2 x(s)S 182 x(to)S 183 x(compar)S 2 x(e)S 182 x(two)S 183 x
(interna)S 2 x(l)S 183 x(name)S 183 x(repre)S 2 x(sentations)S 184 x
(for)S 184 x(equality)S -34 x(.)S 3899 37373 XY F36(24)S 498 x(1)S -28 x
(1\203June\2031991)S
%%EndCustomColor: 0
24 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 25 25
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 17844 2106 XY F40(Generic)S 150 x(Security)S 151 x(Service)S 150 x
(API:)S 149 x(Internet-)S 2 x(Draft)S 14568 X 548 y(Comm)S -2 x(on)S
150 x(Authentication)S 149 x(T)S -33 x(echnology)S 149 x(WG:)S 150 x
(John)S 150 x(Linn)S 148 x(\(DEC\))S 3899 4013 XY F32(2.4.4)S 547 x
(GSS)S 2 x(_Display)S -2 x(_name)S 182 x(call)S 3899 X 896 y F74(Inputs:)S
3899 X 897 y(\201)S 854 x(name)S 183 x(INTERNAL)S 182 x(NAME)S 3899 6902 XY
(Outputs:)S 3899 X 896 y(\201)S 854 x(major_st)S 2 x(atus)S 183 x(INTEGER,)S
3899 X 897 y(\201)S 854 x(minor_sta)S 2 x(tus)S 183 x(INTEGER,)S 3899 X
897 y(\201)S 854 x(name_str)S 2 x(ing)S 183 x(OCTET)S 182 x(STRING,)S
3899 X 896 y(\201)S 854 x(name_type)S 184 x(OBJECT)S 183 x(IDENTIFIER)S
3899 11584 XY(Return)S 184 x(major_s)S 2 x(tatus)S 183 x(codes:)S 3899 X
897 y(\201)S 854 x(GSS_COMPLE)S -2 x(TE)S 207 x(indicate)S 2 x(s)S 207 x
(that)S 207 x(a)S 208 x(valid)S 207 x(printa)S 2 x(ble)S 207 x(name)S
208 x(represe)S 2 x(ntation)S 208 x(is)S 207 x(availa)S 2 x(ble)S 207 x
(in)S 207 x(the)S 208 x(returned)S 4945 X 647 y(name_str)S 2 x(ing.)S
3899 X 897 y(\201)S 854 x(GSS_BAD_N)S -2 x(AMETYPE)S 246 x(indicate)S
2 x(s)S 247 x(that)S 249 x(the)S 248 x(provided)S 248 x(name)S 249 x
(was)S 247 x(of)S 248 x(a)S 248 x(type)S 248 x(uninterpre)S 2 x(table)S
248 x(by)S 248 x(the)S 4945 X 648 y(supporting)S 184 x(GSS-AP)S -2 x
(I)S 183 x(imple)S 2 x(mentati)S 2 x(on,)S 182 x(so)S 183 x(no)S 182 x
(print)S 2 x(able)S 183 x(repre)S 2 x(sentation)S 184 x(could)S 183 x
(be)S 183 x(generat)S 2 x(ed.)S 3899 X 896 y(\201)S 854 x(GSS_BAD_N)S
-2 x(AME)S 257 x(indicat)S 2 x(es)S 258 x(that)S 258 x(the)S 258 x(contents)S
259 x(of)S 258 x(the)S 258 x(provided)S 259 x(name)S 258 x(were)S 258 x
(inconsis)S 2 x(tent)S 258 x(with)S 258 x(the)S 4945 X 648 y(interna)S
2 x(lly-indic)S 2 x(ated)S 183 x(name)S 184 x(type,)S 183 x(so)S 183 x
(no)S 182 x(printa)S 2 x(ble)S 183 x(represe)S 2 x(ntation)S 184 x(could)S
183 x(be)S 183 x(generated.)S 3899 X 896 y(\201)S 854 x(GSS_F)S -42 x
(AILURE)S 134 x(indicate)S 2 x(s)S 134 x(that)S 135 x(the)S 135 x(requeste)S
2 x(d)S 134 x(operati)S 2 x(on)S 134 x(could)S 135 x(not)S 134 x(be)S
135 x(performe)S 2 x(d)S 134 x(for)S 135 x(reasons)S 136 x(unspeci\211ed)S
4945 X 648 y(at)S 183 x(the)S 183 x(GSS-API)S 182 x(level.)S 3899 18857 XY
(Allows)S 128 x(calle)S 2 x(rs)S 129 x(to)S 128 x(transl)S 2 x(ate)S
129 x(an)S 128 x(inter)S 2 x(nal)S 128 x(name)S 130 x(represent)S 2 x
(ation)S 129 x(into)S 129 x(a)S 128 x(printa)S 2 x(ble)S 128 x(form)S
130 x(with)S 128 x(associ)S 2 x(ated)S 129 x(namespace)S 3899 X 648 y
(type)S 183 x(descri)S 2 x(ptor)S -30 x(.)S 244 x(The)S 182 x(syntax)S
184 x(of)S 183 x(the)S 183 x(printabl)S 2 x(e)S 183 x(form)S 184 x(is)S
183 x(a)S 183 x(local)S 183 x(matt)S 2 x(er)S -30 x(.)S 3899 20899 XY
F32(2.4.5)S 547 x(GSS)S 2 x(_Import_name)S 182 x(call)S 3899 X 897 y
F74(Inputs:)S 3899 X 897 y(\201)S 854 x(input_name_st)S 2 x(ring)S 183 x
(OCTET)S 182 x(STRING,)S 3899 X 896 y(\201)S 854 x(input_name_t)S 2 x
(ype)S 183 x(OBJECT)S 182 x(IDENTIFIER)S 3899 24685 XY(Outputs:)S 3899 X
897 y(\201)S 854 x(major_st)S 2 x(atus)S 183 x(INTEGER,)S 3899 X 896 y
(\201)S 854 x(minor_sta)S 2 x(tus)S 183 x(INTEGER,)S 3899 X 897 y(\201)S
854 x(output_name)S 184 x(INTERNAL)S 182 x(NAME)S 3899 28471 XY(Return)S
184 x(major_s)S 2 x(tatus)S 183 x(codes:)S 3899 X 897 y(\201)S 854 x
(GSS_COMPLE)S -2 x(TE)S 146 x(indicate)S 2 x(s)S 146 x(that)S 146 x
(a)S 147 x(valid)S 146 x(name)S 147 x(repre)S 2 x(sentation)S 147 x
(is)S 147 x(output)S 146 x(in)S 146 x(output_name)S 148 x(and)S 146 x
(described)S 4945 X 647 y(by)S 183 x(the)S 183 x(type)S 183 x(value)S
183 x(in)S 183 x(output_nam)S 2 x(e_type.)S 3899 X 897 y(\201)S 854 x
(GSS_BAD_N)S -2 x(AMETYPE)S 219 x(indicat)S 2 x(es)S 221 x(that)S 221 x
(the)S 221 x(input_nam)S 2 x(e_type)S 221 x(is)S 221 x(unsupported)S
222 x(by)S 220 x(the)S 222 x(GSS-AP)S -2 x(I)S 221 x(im-)S 4945 X 647 y
(plementa)S 2 x(tion,)S 183 x(so)S 183 x(the)S 183 x(import)S 184 x
(operati)S 2 x(on)S 182 x(could)S 183 x(not)S 183 x(be)S 183 x(complet)S
2 x(ed.)S 3899 X 897 y(\201)S 854 x(GSS_BAD_N)S -2 x(AME)S 140 x(indica)S
2 x(tes)S 141 x(that)S 142 x(the)S 141 x(provided)S 142 x(input_name_st)S
2 x(ring)S 141 x(is)S 141 x(ill-)S 2 x(formed)S 142 x(in)S 141 x(terms)S
142 x(of)S 142 x(the)S 141 x(input_)S 4945 X 648 y(name_type,)S 184 x
(so)S 183 x(the)S 183 x(import)S 184 x(operati)S 2 x(on)S 182 x(could)S
183 x(not)S 183 x(be)S 183 x(complet)S 2 x(ed.)S 3899 X 896 y(\201)S
854 x(GSS_F)S -42 x(AILURE)S 134 x(indicate)S 2 x(s)S 134 x(that)S 135 x
(the)S 135 x(requeste)S 2 x(d)S 134 x(operati)S 2 x(on)S 134 x(could)S
135 x(not)S 134 x(be)S 135 x(performe)S 2 x(d)S 134 x(for)S 135 x(reasons)S
136 x(unspeci\211ed)S 4945 X 648 y(at)S 183 x(the)S 183 x(GSS-API)S
182 x(level.)S 22808 37373 XY F36(1)S -27 x(1\203June\2031991)S 499 x
(25)S
%%EndCustomColor: 0
25 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 26 26
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 3899 2106 XY F40(Generic)S 150 x(Security)S 150 x(Service)S 151 x
(API:)S 149 x(Internet-Dra)S 2 x(ft)S 3899 X 548 y(Common)S 148 x(Authentication)S
150 x(T)S -34 x(echnology)S 150 x(WG:)S 150 x(John)S 149 x(Linn)S 149 x
(\(DEC\))S 3899 3976 XY F74(Allows)S 144 x(caller)S 2 x(s)S 144 x(to)S
144 x(provide)S 145 x(a)S 144 x(printa)S 2 x(ble)S 144 x(name)S 145 x
(repre)S 2 x(sentation,)S 153 x(designate)S 146 x(the)S 144 x(type)S
145 x(of)S 144 x(namespac)S 2 x(e)S 144 x(in)S 144 x(conjuncti)S 2 x
(on)S 3899 X 648 y(with)S 176 x(which)S 176 x(it)S 176 x(should)S 176 x
(be)S 177 x(parsed,)S 178 x(and)S 176 x(convert)S 177 x(that)S 177 x
(printable)S 177 x(repr)S 2 x(esentation)S 177 x(to)S 176 x(an)S 176 x
(inter)S 2 x(nal)S 176 x(form)S 177 x(suitable)S 178 x(for)S 3899 X
648 y(input)S 183 x(to)S 183 x(other)S 184 x(GSS-AP)S -2 x(I)S 184 x
(routines.)S 245 x(The)S 182 x(syntax)S 184 x(of)S 183 x(the)S 183 x
(input_name)S 184 x(is)S 183 x(a)S 183 x(local)S 184 x(matter)S -28 x
(.)S 3899 6666 XY F32(2.4.6)S 547 x(GSS)S 2 x(_Relea)S -2 x(se_name)S
181 x(call)S 3899 X 897 y F74(Inputs:)S 3899 X 897 y(\201)S 854 x(name)S
183 x(INTERNAL)S 182 x(NAME)S 3899 9556 XY(Outputs:)S 3899 X 896 y(\201)S
854 x(major_st)S 2 x(atus)S 183 x(INTEGER,)S 3899 X 897 y(\201)S 854 x
(minor_sta)S 2 x(tus)S 183 x(INTEGER)S 3899 12445 XY(Return)S 184 x
(major_s)S 2 x(tatus)S 183 x(codes:)S 3899 X 896 y(\201)S 854 x(GSS_COMPLE)S
-2 x(TE)S 227 x(indicat)S 2 x(es)S 227 x(that)S 228 x(the)S 228 x(storage)S
229 x(associate)S 2 x(d)S 227 x(with)S 227 x(the)S 228 x(input)S 228 x
(name)S 228 x(was)S 227 x(successful)S 2 x(ly)S 227 x(re-)S 4945 X 648 y
(leased.)S 3899 X 897 y(\201)S 854 x(GSS_BAD_N)S -2 x(AME)S 182 x(indica)S
2 x(tes)S 183 x(that)S 184 x(the)S 183 x(input)S 183 x(name)S 183 x
(ar)S -9 x(gument)S 184 x(did)S 183 x(not)S 183 x(contain)S 183 x(a)S
183 x(valid)S 184 x(name.)S 3899 X 896 y(\201)S 854 x(GSS_F)S -42 x
(AILURE)S 134 x(indicate)S 2 x(s)S 134 x(that)S 135 x(the)S 135 x(requeste)S
2 x(d)S 134 x(operati)S 2 x(on)S 134 x(could)S 135 x(not)S 134 x(be)S
135 x(performe)S 2 x(d)S 134 x(for)S 135 x(reasons)S 136 x(unspeci\211ed)S
4945 X 648 y(at)S 183 x(the)S 183 x(GSS-API)S 182 x(level.)S 3899 17526 XY
(Allows)S 183 x(caller)S 2 x(s)S 182 x(to)S 183 x(rele)S 2 x(ase)S 183 x
(the)S 183 x(storage)S 184 x(associ)S 2 x(ated)S 183 x(with)S 183 x
(an)S 183 x(interna)S 2 x(l)S 182 x(name)S 184 x(repres)S 2 x(entation.)S
3899 18920 XY F32(2.4.7)S 547 x(GSS)S 2 x(_Relea)S -2 x(se_buffer)S
182 x(call)S 3899 X 897 y F74(Inputs:)S 3899 X 897 y(\201)S 854 x(buf)S
-9 x(fer)S 183 x(OCTET)S 182 x(STRING)S 3899 21810 XY(Outputs:)S 3899 X
896 y(\201)S 854 x(major_st)S 2 x(atus)S 183 x(INTEGER,)S 3899 X 897 y
(\201)S 854 x(minor_sta)S 2 x(tus)S 183 x(INTEGER)S 3899 24699 XY(Return)S
184 x(major_s)S 2 x(tatus)S 183 x(codes:)S 3899 X 896 y(\201)S 854 x
(GSS_COMPLE)S -2 x(TE)S 215 x(indicat)S 2 x(es)S 215 x(that)S 217 x
(the)S 216 x(storage)S 216 x(associ)S 2 x(ated)S 216 x(with)S 215 x
(the)S 216 x(input)S 216 x(buf)S -9 x(fer)S 216 x(was)S 216 x(successful)S
2 x(ly)S 215 x(re-)S 4945 X 648 y(leased.)S 3899 X 897 y(\201)S 854 x
(GSS_F)S -42 x(AILURE)S 134 x(indicate)S 2 x(s)S 134 x(that)S 135 x
(the)S 135 x(requeste)S 2 x(d)S 134 x(operati)S 2 x(on)S 134 x(could)S
135 x(not)S 134 x(be)S 135 x(performe)S 2 x(d)S 134 x(for)S 135 x(reasons)S
136 x(unspeci\211ed)S 4945 X 647 y(at)S 183 x(the)S 183 x(GSS-API)S
182 x(level.)S 3899 28883 XY(Allows)S 222 x(call)S 2 x(ers)S 223 x(to)S
223 x(release)S 224 x(the)S 223 x(storage)S 224 x(associa)S 2 x(ted)S
223 x(with)S 222 x(an)S 223 x(OCTET)S 222 x(STRING)S 222 x(buf)S -9 x
(fer)S 223 x(alloca)S 2 x(ted)S 223 x(by)S 222 x(another)S 3899 X 648 y
(GSS-API)S 182 x(call.)S 3899 30925 XY F32(2.4.8)S 547 x(GSS)S 2 x(_Relea)S
-2 x(se_oid_s)S -2 x(et)S 183 x(call)S 3899 X 897 y F74(Inputs:)S 3899 X
897 y(\201)S 854 x(buf)S -9 x(fer)S 183 x(SET)S 182 x(OF)S 182 x(OBJECT)S
183 x(IDENTIFIER)S 3899 33815 XY(Outputs:)S 3899 X 896 y(\201)S 854 x
(major_st)S 2 x(atus)S 183 x(INTEGER,)S 3899 37373 XY F36(26)S 498 x
(1)S -28 x(1\203June\2031991)S
%%EndCustomColor: 0
26 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 27 27
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 17844 2106 XY F40(Generic)S 150 x(Security)S 151 x(Service)S 150 x
(API:)S 149 x(Internet-)S 2 x(Draft)S 14568 X 548 y(Comm)S -2 x(on)S
150 x(Authentication)S 149 x(T)S -33 x(echnology)S 149 x(WG:)S 150 x
(John)S 150 x(Linn)S 148 x(\(DEC\))S 3899 3976 XY F74(\201)S 854 x(minor_sta)S
2 x(tus)S 183 x(INTEGER)S 3899 5072 XY(Return)S 184 x(major_s)S 2 x
(tatus)S 183 x(codes:)S 3899 X 897 y(\201)S 854 x(GSS_COMPLE)S -2 x
(TE)S 273 x(indicates)S 274 x(that)S 274 x(the)S 273 x(storage)S 274 x
(associ)S 2 x(ated)S 273 x(with)S 273 x(the)S 273 x(input)S 274 x(object)S
274 x(identi\211er)S 274 x(set)S 273 x(was)S 4945 X 648 y(successf)S
2 x(ully)S 183 x(relea)S 2 x(sed.)S 3899 X 896 y(\201)S 854 x(GSS_F)S
-42 x(AILURE)S 134 x(indicate)S 2 x(s)S 134 x(that)S 135 x(the)S 135 x
(requeste)S 2 x(d)S 134 x(operati)S 2 x(on)S 134 x(could)S 135 x(not)S
134 x(be)S 135 x(performe)S 2 x(d)S 134 x(for)S 135 x(reasons)S 136 x
(unspeci\211ed)S 4945 X 648 y(at)S 183 x(the)S 183 x(GSS-API)S 182 x
(level.)S 3899 9257 XY(Allows)S 195 x(caller)S 2 x(s)S 195 x(to)S 195 x
(release)S 196 x(the)S 196 x(storage)S 196 x(associat)S 2 x(ed)S 195 x
(with)S 195 x(an)S 195 x(object)S 196 x(identi\211er)S 196 x(set)S 196 x
(object)S 196 x(allocate)S 2 x(d)S 194 x(by)S 195 x(another)S 3899 X
647 y(GSS-API)S 182 x(call.)S 3899 11399 XY F28(3)S 598 x(Example)S
201 x(Scenarios)S 3899 12395 XY F74(These)S 257 x(discussi)S 2 x(ons)S
256 x(are)S 258 x(intended)S 258 x(as)S 258 x(examples)S 258 x(for)S
258 x(clari\211ca)S 2 x(tion,)S 276 x(demonstrat)S 2 x(ing)S 257 x(how)S
256 x(GSS-API)S 256 x(functions)S 3899 X 647 y(can)S 228 x(be)S 227 x
(used)S 228 x(and)S 227 x(imple)S 2 x(mented)S 228 x(by)S 227 x(candidat)S
2 x(e)S 227 x(underlying)S 229 x(mechanism)S 2 x(s.)S 377 x(They)S 227 x
(should)S 228 x(not)S 228 x(be)S 227 x(regar)S 2 x(ded)S 227 x(as)S
3899 X 648 y(constric)S 2 x(tive)S 179 x(to)S 178 x(impleme)S 2 x(ntations)S
179 x(or)S 179 x(as)S 178 x(de\211ning)S 178 x(the)S 179 x(only)S 178 x
(means)S 179 x(through)S 179 x(which)S 178 x(GSS-API)S 177 x(functi)S
2 x(ons)S 178 x(can)S 178 x(be)S 3899 X 648 y(reali)S 2 x(zed)S 164 x
(with)S 165 x(a)S 164 x(parti)S 2 x(cular)S 165 x(underlying)S 166 x
(technology)S -35 x(,)S 168 x(and)S 164 x(do)S 164 x(not)S 165 x(demonstra)S
2 x(te)S 164 x(all)S 165 x(GSS-API)S 164 x(featur)S 2 x(es)S 164 x(with)S
165 x(each)S 3899 X 647 y(technology)S -35 x(.)S 3899 16480 XY F32(3.1)S
547 x(Client-Or)S 2 x(iented)S 182 x(Scenario)S 3899 17476 XY F74(Figure)S
164 x(2)S 164 x(illust)S 2 x(rates)S 165 x(the)S 165 x(data\212ows)S
164 x(involved)S 164 x(in)S 165 x(use)S 164 x(of)S 164 x(the)S 165 x
(GSS-AP)S -2 x(I)S 165 x(by)S 164 x(a)S 164 x(client)S 165 x(and)S 164 x
(server)S 166 x(in)S 164 x(a)S 164 x(mechani)S 2 x(sm-)S 3899 X 647 y
(independent)S 190 x(fashion,)S 192 x(establi)S 2 x(shing)S 189 x(a)S
189 x(secur)S 2 x(ity)S 189 x(context)S 190 x(and)S 190 x(transfe)S
2 x(rring)S 190 x(a)S 189 x(protect)S 2 x(ed)S 189 x(message.)S 264 x
(The)S 189 x(example)S 3899 X 648 y(assumes)S 204 x(that)S 203 x(crede)S
2 x(ntial)S 203 x(acquisi)S 2 x(tion)S 203 x(has)S 203 x(already)S 204 x
(been)S 203 x(complet)S 2 x(ed.)S 303 x(Only)S 203 x(a)S 202 x(subset)S
204 x(of)S 203 x(paramet)S 2 x(er)S 203 x(and)S 203 x(result)S 3899 X
648 y(values)S 184 x(are)S 183 x(illust)S 2 x(rated,)S 184 x(for)S 183 x
(reasons)S 184 x(of)S 183 x(clar)S 2 x(ity)S 183 x(in)S 183 x(exposition.)S
3899 20415 XY(The)S 124 x(client)S 125 x(call)S 2 x(s)S 124 x(GSS_Init_sec_context)S
2 x(\()S 83 x(\))S 125 x(to)S 124 x(establi)S 2 x(sh)S 124 x(a)S 124 x
(securit)S 2 x(y)S 124 x(context)S 125 x(to)S 124 x(the)S 125 x(server)S
125 x(identi)S 2 x(\211ed)S 123 x(by)S 124 x(tar)S -8 x(gname,)S 3899 X
647 y(and)S 175 x(elect)S 2 x(s)S 175 x(to)S 175 x(set)S 175 x(the)S
176 x(mutual_re)S 2 x(q_\212ag)S 174 x(so)S 175 x(that)S 176 x(mutual)S
176 x(authent)S 2 x(ication)S 176 x(is)S 175 x(perfor)S 2 x(med)S 175 x
(in)S 176 x(the)S 175 x(course)S 176 x(of)S 175 x(context)S 3899 X 648 y
(establi)S 2 x(shment.)S 242 x(GSS_Init_sec_conte)S 2 x(xt)S(\()S 83 x
(\))S 178 x(returns)S 178 x(an)S 178 x(output_token)S 178 x(to)S 177 x
(be)S 177 x(passed)S 178 x(to)S 177 x(the)S 178 x(server)S -21 x(,)S
178 x(and)S 178 x(indicates)S 3899 X 648 y(GSS_CON)S -2 x(TINUE_NEEDE)S
-2 x(D)S 253 x(status)S 254 x(pending)S 253 x(comple)S 2 x(tion)S 253 x
(of)S 254 x(the)S 253 x(mutual)S 254 x(authenti)S 2 x(cation)S 254 x
(sequence.)S 456 x(Had)S 3899 X 647 y(mutual_r)S 2 x(eq_\212ag)S 266 x
(not)S 267 x(been)S 266 x(set,)S 288 x(the)S 267 x(initia)S 2 x(l)S
266 x(call)S 268 x(to)S 266 x(GSS_Init_sec_cont)S 2 x(ext)S(\()S 84 x
(\))S 267 x(would)S 266 x(have)S 267 x(returned)S 268 x(GSS)S -2 x(_)S
3899 X 648 y(COMPLETE)S 182 x(status.)S 244 x(The)S 183 x(client)S 184 x
(sends)S 183 x(the)S 184 x(output_token)S 183 x(to)S 183 x(the)S 184 x
(server)S -29 x(.)S 3899 24649 XY(The)S 166 x(server)S 167 x(passes)S
167 x(the)S 167 x(receive)S 2 x(d)S 165 x(token)S 167 x(as)S 166 x(the)S
167 x(input_token)S 166 x(param)S 2 x(eter)S 167 x(to)S 166 x(GSS_Accept_sec_context)S
2 x(\()S 83 x(\))S(.)S 239 x(GSS)S -2 x(_)S 3899 X 647 y(Accept_sec_c)S
2 x(ontext)S 156 x(indica)S 2 x(tes)S 156 x(GSS_COMPLET)S -2 x(E)S 156 x
(status,)S 162 x(provides)S 157 x(the)S 157 x(client')S -28 x(s)S 156 x
(authentic)S 2 x(ated)S 156 x(identi)S 2 x(ty)S 156 x(in)S 156 x(the)S
3899 X 648 y(srcname)S 209 x(result)S 2 x(,)S 213 x(and)S 208 x(provides)S
209 x(an)S 208 x(output_token)S 208 x(to)S 208 x(be)S 208 x(passed)S
208 x(to)S 208 x(the)S 208 x(client)S 2 x(.)S 318 x(The)S 208 x(server)S
209 x(sends)S 208 x(the)S 208 x(output_)S 3899 X 648 y(token)S 183 x
(to)S 183 x(the)S 183 x(client)S 2 x(.)S 3899 27588 XY(The)S 193 x(client)S
194 x(passes)S 194 x(the)S 193 x(recei)S 2 x(ved)S 193 x(token)S 193 x
(as)S 193 x(the)S 193 x(input_token)S 194 x(parame)S 2 x(ter)S 193 x
(to)S 193 x(a)S 193 x(succes)S 2 x(sor)S 193 x(call)S 194 x(to)S 193 x
(GSS_Init_sec_)S 3899 X 647 y(context)S(\()S 85 x(\))S(,)S 238 x(which)S
227 x(processe)S 2 x(s)S 227 x(data)S 227 x(include)S 2 x(d)S 227 x
(in)S 227 x(the)S 227 x(token)S 228 x(in)S 227 x(order)S 228 x(to)S
227 x(achieve)S 229 x(mutual)S 228 x(authentica)S 2 x(tion)S 227 x(from)S
3899 X 648 y(the)S 186 x(client')S -28 x(s)S 185 x(viewpoint.)S 253 x
(This)S 185 x(call)S 187 x(to)S 186 x(GSS_Init_sec_context)S 2 x(\()S
83 x(\))S 186 x(retur)S 2 x(ns)S 185 x(GSS_COMPLE)S -2 x(TE)S 185 x
(status)S 2 x(,)S 186 x(indicati)S 2 x(ng)S 3899 X 648 y(successf)S
2 x(ul)S 183 x(mutual)S 183 x(authent)S 2 x(ication)S 184 x(and)S 183 x
(completed)S 184 x(context)S 184 x(establis)S 2 x(hment.)S 3899 30527 XY
(The)S 242 x(client)S 243 x(generate)S 2 x(s)S 241 x(a)S 242 x(data)S
243 x(message)S 243 x(and)S 242 x(passes)S 242 x(it)S 242 x(to)S 242 x
(GSS_Seal)S(\()S 83 x(\))S(.)S 421 x(GSS_Seal)S(\()S 83 x(\))S 242 x
(perfor)S 2 x(ms)S 242 x(data)S 242 x(origin)S 3899 X 647 y(authentic)S
2 x(ation,)S 193 x(data)S 192 x(integri)S 2 x(ty)S -36 x(,)S 193 x(and)S
191 x(\(optiona)S 2 x(l\))S 191 x(con\211dential)S 2 x(ity)S 191 x(processi)S
2 x(ng)S 191 x(on)S 190 x(the)S 192 x(message)S 192 x(and)S 191 x(encapsula)S
2 x(tes)S 3899 X 648 y(the)S 144 x(result)S 144 x(into)S 144 x(output_messa)S
2 x(ge,)S 151 x(indicati)S 2 x(ng)S 143 x(GSS_COMPL)S -2 x(ETE)S 143 x
(status.)S 231 x(The)S 144 x(client)S 144 x(sends)S 144 x(the)S 144 x
(output_message)S 3899 X 648 y(to)S 183 x(the)S 183 x(server)S -28 x
(.)S 22808 37373 XY F36(1)S -27 x(1\203June\2031991)S 499 x(27)S
%%EndCustomColor: 0
27 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 28 28
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 3899 2106 XY F40(Generic)S 150 x(Security)S 150 x(Service)S 151 x
(API:)S 149 x(Internet-Dra)S 2 x(ft)S 3899 X 548 y(Common)S 148 x(Authentication)S
150 x(T)S -34 x(echnology)S 150 x(WG:)S 150 x(John)S 149 x(Linn)S 149 x
(\(DEC\))S 3899 4013 XY F32(Figure)S 182 x(2:)S 498 x(Example)S 183 x
(Client)S 182 x(Scenario)S
3899 4731 XY
3899 26250 SPB
%%BeginDocument (api_client_examp.ps)
%!PS-Adobe-2.0 EPSF-1.2
%%Creator: DDIF WRITE_PS V02-001, Digital Equipment Corporation
%%CreationDate: 11-Sep-1990 10:49:57
%%DDIF$: V1.0
%%DDIF$ProductIdentifier: Write$
%%DDIF$ProductName: DECwrite V1.0
%%DDIF$Date: 19900911104953
%%BoundingBox: (at end)
%%Pages: (at end)
%%DocumentFonts: (at end)
%%DocumentNeededFonts: (at end)
%%EndComments
%%BeginProcSet: DEC_DDIF_WRITE_PS 1 1

/DEC_DDIF_WRITE_PS_dict 100 dict def DEC_DDIF_WRITE_PS_dict begin/version 1 def/revision 1 def/B{currentdict{dup type/arraytype eq{
bind def}{pop pop}ifelse}forall}def/I{0 setlinewidth 0 setlinecap 0 setlinejoin[]0 setdash 0 setgray 10 setmiterlimit}def mark
/ISOLatin1Encoding 0 1 44{StandardEncoding exch get}for/minus 46 1 143{StandardEncoding exch get}for/dotlessi 193 1 207{
StandardEncoding exch get}for/space/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine
/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered
/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde
/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute
/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex
/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute
/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis/ISOLatin1Encoding where not{
256 array astore def}if cleartomark/F{currentdict 6 index known{pop pop pop pop pop pop}{FontDirectory 2 index known{pop findfont}{2
 index findfont dup maxlength dict begin{1 index/FID ne{def}{pop pop}ifelse}forall dup type/nulltype eq{pop}{/Encoding exch def}
ifelse dup/FontName exch def currentdict definefont end}ifelse exch pop exch dup type/arraytype eq{makefont}{scalefont}ifelse 1
 index exch def cvx[exch/setfont load]cvx bind def}ifelse}def/P{/px exch def/pa 8 array def 0 1 7{/py exch def/pw 4 string def 0 1 3
{pw exch px py 1 getinterval putinterval}for pa py pw put}for}def/p{save exch/pi exch def clip newpath{clippath pathbbox}stopped not
{/ph exch def/pw exch def/py exch def/px exch def/px px 30.72 div floor 30.72 mul def/py py 30.72 div floor 30.72 mul def px py
 translate/pw pw px sub 30.72 div floor 1 add cvi def/ph ph py sub 30.72 div floor 1 add cvi def pw 30.72 mul ph 30.72 mul scale/pw
 pw 32 mul def/ph ph 32 mul def/px 0 def/py 0 def pw ph pi[pw 0 0 ph 0 0]{pa py get/px px 32 add def px pw ge{/px 0 def/py py 1 add
 8 mod def}if}pi type/booleantype eq{imagemask}{image}ifelse}if restore}def/SN{transform floor .5 add exch floor .5 add exch
 itransform}def end
%%EndProcSet
%%EndProlog
%%BeginSetup

DEC_DDIF_WRITE_PS_dict begin/world-save save def B I
%%EndSetup
%%Page: ? 1
%%PageBoundingBox: 0 0 612 792
%%PageFonts: Times-Bold
%%+ Times-Roman
%%IncludeFont: Times-Bold

/f2/F2 12/Times-Bold/DDIF$F2 ISOLatin1Encoding F
%%IncludeFont: Times-Roman

/f3/F3 12/Times-Roman/DDIF$F3 ISOLatin1Encoding F/page-save save def gsave newpath 0 792 SN moveto 0 0 SN lineto 612 0 SN lineto 612
 792 SN lineto closepath clip f2 0 416.88 moveto(Client)show 72 416.88 moveto(Client GSSAPI)show 400.71 416.88 moveto(Server)show
 288 416.88 moveto(Server GSSAPI)show f3 119.77 371.88 moveto(GSS_Init_sec_context\(\))show 35.69 353.88 moveto
(output_token, GSS_CONTINUE_NEEDED)show 333 326.88 moveto(input_token)show 211.5 308.88 moveto(GSS_Accept_sec_context\(\))show 198
 294.5 moveto(output_token, srcname,GSS_COMPLETE)show 35.69 236.88 moveto(GSS_COMPLETE)show 31.19 173.88 moveto
(output_message,GSS_COMPLETE)show 31.5 215.26 moveto(input_message)show 324.73 159.5 moveto(input_message)show 225 119.88 moveto
(output_message, GSS_COMPLETE)show 9 402.5 moveto(targname,mutual_req_flag)show 189 326.88 moveto(token)show 189 272.88 moveto
(token)show 184.39 155.88 moveto(message)show 198 74.88 moveto(output_context_token, GSS_COMPLETE)show 171 47.88 moveto
(context_token)show 119.77 254.87 moveto(GSS_Init_sec_context\(\))show 124.38 195.5 moveto(GSS_Seal\(\))show 234 137.88 moveto
(GSS_Unseal\(\))show 171 92.88 moveto(GSS_Delete_sec_context\(\))show 31.19 2.88 moveto(GSS_COMPLETE)show 36.39 51.5 moveto
(input_context_token)show 119.77 20.87 moveto(GSS_Process_context_token\(\))show newpath 117 369 SN moveto 18 369 SN lineto 27 378
 SN lineto 27 360 SN lineto 18 369 SN lineto 1 setlinewidth[]0 setdash stroke newpath 117 252 SN moveto 18 252 SN lineto 27 261 SN
 lineto 27 243 SN lineto 18 252 SN lineto stroke newpath 117 189 SN moveto 18 189 SN lineto 27 198 SN lineto 27 180 SN lineto 18 189
 SN lineto stroke newpath 117 18 SN moveto 18 18 SN lineto 27 27 SN lineto 27 9 SN lineto 18 18 SN lineto stroke newpath 414 324 SN
 moveto 315 324 SN lineto 324 333 SN lineto 324 315 SN lineto 315 324 SN lineto stroke newpath 414 153 SN moveto 306 153 SN lineto
 315.82 162 SN lineto 315.82 144 SN lineto 306 153 SN lineto stroke newpath 414 108 SN moveto 315 108 SN lineto 324 117 SN lineto
 324 99 SN lineto 315 108 SN lineto stroke newpath 18 387 SN moveto 117 387 SN lineto 108 378 SN lineto 108 396 SN lineto 117 387 SN
 lineto stroke newpath 18 270 SN moveto 117 270 SN lineto 108 261 SN lineto 108 279 SN lineto 117 270 SN lineto stroke newpath 18
 207 SN moveto 117 207 SN lineto 108 198 SN lineto 108 216 SN lineto 117 207 SN lineto stroke newpath 18 36 SN moveto 117 36 SN
 lineto 108 27 SN lineto 108 45 SN lineto 117 36 SN lineto stroke newpath 315 306 SN moveto 414 306 SN lineto 405 297 SN lineto 405
 315 SN lineto 414 306 SN lineto stroke newpath 305.99 135 SN moveto 414 135 SN lineto 404.17 126 SN lineto 404.17 144 SN lineto 414
 135 SN lineto stroke newpath 315 90 SN moveto 414 90 SN lineto 405 81 SN lineto 405 99 SN lineto 414 90 SN lineto stroke newpath 18
 342 SN moveto 414 342 SN lineto 405 333 SN lineto 405 351 SN lineto 414 342 SN lineto stroke newpath 18 171 SN moveto 414 171 SN
 lineto 405 162 SN lineto 405 180 SN lineto 414 171 SN lineto stroke newpath 414 288 SN moveto 18 288 SN lineto 27 297 SN lineto 27
 279 SN lineto 18 288 SN lineto stroke newpath 414 63 SN moveto 18 63 SN lineto 27 72 SN lineto 27 54 SN lineto 18 63 SN lineto
 stroke grestore page-save restore showpage
%%Trailer

world-save restore end
%%BoundingBox: 0 0 612 792
%%Pages: 1
%%DocumentFonts: Times-Bold
%%+ Times-Roman
%%DocumentNeededFonts: Times-Bold
%%+ Times-Roman
% End-of-file

%%EndDocument
SPE
3899 27822 XY F74(The)S 212 x(serve)S 2 x(r)S 213 x(passes)S 213 x(the)S
213 x(rece)S 2 x(ived)S 213 x(message)S 214 x(to)S 213 x(GSS_)S -2 x
(Unseal)S(\()S 85 x(\))S(.)S 333 x(GSS_Unseal)S 212 x(invert)S 2 x(s)S
212 x(the)S 214 x(encapsulati)S 2 x(on)S 212 x(per-)S 3899 X 647 y(formed)S
189 x(by)S 187 x(GSS_Seal)S(\()S 83 x(\))S(,)S 190 x(deciphers)S 189 x
(the)S 188 x(message)S 189 x(if)S 189 x(optional)S 188 x(con\211dential)S
2 x(ity)S 188 x(was)S 188 x(applied,)S 190 x(and)S 187 x(valida)S 2 x
(tes)S 188 x(the)S 3899 X 648 y(data)S 254 x(origin)S 254 x(authentica)S
2 x(tion)S 253 x(and)S 253 x(data)S 254 x(integri)S 2 x(ty)S 253 x(checking)S
254 x(quantitie)S 2 x(s.)S 454 x(GSS_Unseal)S(\()S 83 x(\))S 254 x(indicates)S
254 x(succes)S 2 x(sful)S 3899 X 648 y(validati)S 2 x(on)S 182 x(by)S
183 x(returni)S 2 x(ng)S 182 x(GSS_COMPLET)S -2 x(E)S 183 x(status)S
184 x(along)S 183 x(with)S 183 x(the)S 183 x(result)S 2 x(ant)S 183 x
(output_messa)S 2 x(ge.)S 3899 30761 XY(For)S 131 x(purposes)S 132 x
(of)S 131 x(this)S 132 x(example,)S 142 x(we)S 131 x(assume)S 132 x
(that)S 132 x(the)S 131 x(server)S 133 x(knows)S 130 x(by)S 131 x(out-of-)S
2 x(band)S 131 x(means)S 131 x(that)S 132 x(this)S 132 x(context)S 132 x
(will)S 3899 X 647 y(have)S 179 x(no)S 179 x(further)S 180 x(use)S 179 x
(aft)S 2 x(er)S 179 x(one)S 179 x(protect)S 2 x(ed)S 178 x(messa)S 2 x
(ge)S 179 x(is)S 179 x(transfe)S 2 x(rred)S 180 x(from)S 179 x(clie)S
2 x(nt)S 179 x(to)S 179 x(server)S -29 x(.)S 242 x(Given)S 179 x(this)S
180 x(premise,)S 3899 X 648 y(the)S 238 x(server)S 238 x(now)S 237 x
(calls)S 239 x(GSS_D)S -2 x(elet)S 2 x(e_sec_context)S 2 x(\()S 83 x
(\))S 238 x(to)S 237 x(\212ush)S 237 x(context-)S 2 x(level)S 238 x
(inform)S 2 x(ation.)S 408 x(GSS_D)S -2 x(elete)S 2 x(_sec_)S 3899 X
648 y(context)S 184 x(returns)S 184 x(a)S 183 x(context_toke)S 2 x(n)S
182 x(for)S 184 x(the)S 183 x(server)S 184 x(to)S 183 x(pass)S 183 x
(to)S 183 x(the)S 184 x(client.)S 3899 33700 XY(The)S 274 x(client)S
275 x(passes)S 275 x(the)S 274 x(retur)S 2 x(ned)S 274 x(context_token)S
275 x(to)S 274 x(GSS_Process_context_toke)S 2 x(n)S(\()S 83 x(\))S(,)S
297 x(which)S 274 x(retur)S 2 x(ns)S 274 x(GSS)S -2 x(_)S 3899 X 647 y
(COMPLETE)S 182 x(status)S 183 x(aft)S 2 x(er)S 183 x(deleting)S 184 x
(context-)S 2 x(level)S 184 x(informat)S 2 x(ion)S 183 x(at)S 183 x
(the)S 183 x(client)S 184 x(system.)S 3899 37373 XY F36(28)S 498 x(1)S
-28 x(1\203June\2031991)S
%%EndCustomColor: 0
28 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 29 29
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 17844 2106 XY F40(Generic)S 150 x(Security)S 151 x(Service)S 150 x
(API:)S 149 x(Internet-)S 2 x(Draft)S 14568 X 548 y(Comm)S -2 x(on)S
150 x(Authentication)S 149 x(T)S -33 x(echnology)S 149 x(WG:)S 150 x
(John)S 150 x(Linn)S 148 x(\(DEC\))S 3899 4013 XY F32(3.2)S 547 x(Mechanism-Speci\211c)S
182 x(Scenarios)S 3899 5009 XY F74(This)S 183 x(section)S 183 x(provides)S
184 x(illustr)S 2 x(ative)S 183 x(overvie)S 2 x(ws)S 182 x(of)S 183 x
(the)S 183 x(use)S 183 x(of)S 183 x(various)S 183 x(candidat)S 2 x(e)S
182 x(mecha)S 2 x(nism)S 183 x(types)S 183 x(to)S 183 x(support)S 3899 X
647 y(the)S 183 x(GSS-API.)S 3899 7051 XY F32(3.2.1)S 547 x(Kerberos)S
182 x(V5,)S 183 x(single-TGT)S 3899 X 897 y F74(OS-speci\211c)S 139 x
(login)S 140 x(functions)S 140 x(yield)S 140 x(a)S 139 x(TGT)S 137 x
(to)S 140 x(the)S 139 x(local)S 140 x(realm)S 140 x(Kerberos)S 140 x
(server)S 2 x(;)S 154 x(TGT)S 138 x(is)S 139 x(placed)S 140 x(in)S 139 x
(a)S 139 x(credenti)S 2 x(als)S 3899 X 647 y(structur)S 2 x(e)S 186 x
(for)S 187 x(the)S 187 x(client.)S 255 x(Clie)S 2 x(nt)S 186 x(calls)S
187 x(GSS_Acquire_cred)S(\()S 85 x(\))S 186 x(to)S 187 x(acquire)S 187 x
(a)S 187 x(cred_handle)S 188 x(in)S 186 x(order)S 187 x(to)S 187 x(refer)S
2 x(ence)S 3899 X 648 y(the)S 183 x(credent)S 2 x(ials)S 183 x(for)S
184 x(use)S 183 x(in)S 183 x(establi)S 2 x(shing)S 183 x(securit)S 2 x
(y)S 182 x(contexts.)S 3899 10239 XY(Client)S 195 x(call)S 2 x(s)S 193 x
(GSS_Init_sec_cont)S 2 x(ext)S(\()S 84 x(\))S(.)S 277 x(If)S 194 x(the)S
195 x(requested)S 195 x(servic)S 2 x(e)S 194 x(is)S 194 x(located)S
195 x(in)S 194 x(a)S 194 x(dif)S -9 x(ferent)S 195 x(real)S 2 x(m,)S
196 x(GSS_Init_)S 3899 X 648 y(sec_context)S 2 x(\()S 83 x(\))S 201 x
(gets)S 201 x(the)S 200 x(necessa)S 2 x(ry)S 200 x(TGT/key)S 200 x(pairs)S
201 x(needed)S 201 x(to)S 201 x(traver)S 2 x(se)S 200 x(the)S 201 x
(path)S 201 x(from)S 201 x(local)S 201 x(to)S 201 x(tar)S -9 x(get)S
200 x(rea)S 2 x(lm;)S 3899 X 647 y(these)S 193 x(data)S 193 x(are)S
193 x(placed)S 193 x(in)S 193 x(the)S 192 x(owner)S 21 x(')S -30 x(s)S
192 x(TGT)S 192 x(cache.)S 272 x(After)S 194 x(any)S 192 x(needed)S
193 x(remote)S 194 x(realm)S 193 x(resol)S 2 x(ution,)S 194 x(GSS_Init_)S
3899 X 648 y(sec_context)S 2 x(\()S 83 x(\))S 228 x(yields)S 228 x(a)S
228 x(service)S 229 x(ticket)S 229 x(to)S 227 x(the)S 228 x(requeste)S
2 x(d)S 227 x(service)S 229 x(with)S 227 x(a)S 228 x(corres)S 2 x(ponding)S
227 x(session)S 228 x(key;)S 250 x(these)S 3899 X 648 y(data)S 215 x
(are)S 215 x(stored)S 215 x(in)S 214 x(conjunction)S 215 x(with)S 214 x
(the)S 215 x(context.)S 338 x(GSS-API)S 213 x(code)S 215 x(sends)S 214 x
(KRB_TGS_REQ)S 214 x(request\()S 2 x(s\))S 214 x(and)S 3899 X 647 y
(recei)S 2 x(ves)S 183 x(KRB_TGS_REP)S 182 x(response\(s)S 2 x(\))S
183 x(\(in)S 183 x(the)S 183 x(succes)S 2 x(sful)S 183 x(case\))S 184 x
(or)S 183 x(KRB_ERR)S 2 x(OR.)S 3899 14473 XY(Assuming)S 223 x(success,)S
234 x(GSS_Init_sec_conte)S 2 x(xt)S(\()S 83 x(\))S 224 x(builds)S 223 x
(a)S 223 x(Kerberos-)S 2 x(formatt)S 2 x(ed)S 223 x(KRB_AP_REQ)S 222 x
(message)S 2 x(,)S 232 x(and)S 3899 X 648 y(returns)S 184 x(it)S 183 x
(in)S 183 x(output_toke)S 2 x(n.)S 243 x(The)S 183 x(client)S 184 x
(sends)S 183 x(the)S 183 x(output_token)S 184 x(to)S 183 x(the)S 183 x
(servic)S 2 x(e.)S 3899 16117 XY(The)S 160 x(service)S 161 x(passes)S
161 x(the)S 160 x(receive)S 2 x(d)S 159 x(token)S 160 x(as)S 160 x(the)S
161 x(input_token)S 160 x(ar)S -9 x(gument)S 161 x(to)S 160 x(GSS_A)S
-2 x(ccept_se)S 2 x(c_context)S(\()S 85 x(\))S(,)S 164 x(which)S 3899 X
648 y(veri\211es)S 140 x(the)S 140 x(authent)S 2 x(icator)S -21 x(,)S
148 x(provides)S 141 x(the)S 140 x(service)S 141 x(with)S 139 x(the)S
140 x(clie)S 2 x(nt')S -30 x(s)S 140 x(authentic)S 2 x(ated)S 140 x
(name,)S 149 x(and)S 139 x(retur)S 2 x(ns)S 139 x(an)S 140 x(output_)S
3899 X 647 y(context_handl)S 2 x(e.)S 3899 18409 XY(Both)S 128 x(parties)S
128 x(now)S 127 x(hold)S 127 x(the)S 127 x(session)S 128 x(key)S 127 x
(associ)S 2 x(ated)S 127 x(with)S 128 x(the)S 127 x(servic)S 2 x(e)S
127 x(ticket,)S 139 x(and)S 128 x(can)S 127 x(use)S 127 x(this)S 128 x
(key)S 127 x(in)S 127 x(subsequent)S 3899 X 647 y(GSS_S)S -2 x(ign)S
(\()S 84 x(\))S(,)S 183 x(GSS_V)S -62 x(erif)S 2 x(y)S(\()S 83 x(\))S
(,)S 183 x(GSS_Seal)S(\()S 83 x(\))S(,)S 183 x(and)S 183 x(GSS_Unseal)S
(\()S 83 x(\))S 183 x(operati)S 2 x(ons.)S 3899 20451 XY F32(3.2.2)S
547 x(Kerberos)S 182 x(V5,)S 183 x(double-TGT)S 3899 X 897 y F74(TGT)S
182 x(acquisiti)S 2 x(on)S 182 x(as)S 183 x(above.)S 3899 22344 XY(Note:)S
280 x(T)S -39 x(o)S 200 x(avoid)S 201 x(unnecess)S 2 x(ary)S 201 x(frequent)S
202 x(invocations)S 202 x(of)S 201 x(error)S 202 x(paths)S 201 x(when)S
200 x(imple)S 2 x(menting)S 201 x(the)S 201 x(GSS-API)S 200 x(atop)S
3899 X 647 y(Kerberos)S 129 x(V5,)S 139 x(it)S 129 x(seems)S 129 x(appropr)S
2 x(iate)S 129 x(to)S 129 x(represent)S 130 x("single-TGT)S 128 x(K-V5")S
128 x(and)S 128 x("double-TGT)S 128 x(K-V5")S 128 x(with)S 128 x(separ)S
2 x(ate)S 3899 X 648 y(mech_types,)S 184 x(and)S 183 x(this)S 183 x
(discussi)S 2 x(on)S 182 x(makes)S 184 x(that)S 184 x(assumption.)S
3899 24635 XY(Based)S 129 x(on)S 129 x(the)S 129 x(\(speci\211ed)S 129 x
(or)S 129 x(default)S 2 x(ed\))S 129 x(mech_type,)S 140 x(GSS_Init_sec_cont)S
2 x(ext)S(\()S 84 x(\))S 128 x(deter)S 2 x(mines)S 129 x(that)S 129 x
(the)S 129 x(double-TGT)S 3899 X 648 y(protocol)S 141 x(should)S 141 x
(be)S 141 x(employed)S 141 x(for)S 141 x(the)S 141 x(speci\211ed)S 141 x
(tar)S -8 x(get.)S 230 x(GSS_)S -2 x(Init)S 2 x(_sec_context)S(\()S
85 x(\))S 141 x(returns)S 142 x(GSS_)S -2 x(CONTINUE_)S 3899 X 647 y
(NEEDE)S -2 x(D)S 172 x(major_st)S 2 x(atus)S -180 y F86(9)S 26 x 180 y
F74(,)S 174 x(and)S 172 x(its)S 172 x(retur)S 2 x(ned)S 172 x(output_token)S
173 x(contains)S 173 x(a)S 172 x(request)S 173 x(to)S 172 x(the)S 173 x
(service)S 173 x(for)S 173 x(the)S 172 x(servic)S 2 x(e')S -30 x(s)S
3899 X 648 y(TGT)S -41 x(.)S 161 x(\(If)S 163 x(a)S 162 x(servi)S 2 x
(ce)S 162 x(TGT)S 161 x(with)S 162 x(suitably)S 163 x(long)S 162 x(remai)S
2 x(ning)S 162 x(lifet)S 2 x(ime)S 162 x(alre)S 2 x(ady)S 162 x(exists)S
163 x(in)S 162 x(a)S 162 x(cache,)S 167 x(it)S 162 x(may)S 162 x(be)S
162 x(usable,)S 3899 X 648 y(obviating)S 184 x(the)S 183 x(need)S 183 x
(for)S 184 x(this)S 183 x(step.\))S 245 x(The)S 182 x(clie)S 2 x(nt)S
183 x(passes)S 183 x(the)S 184 x(output_token)S 183 x(to)S 183 x(the)S
183 x(servi)S 2 x(ce.)S 3899 28222 XY(The)S 160 x(service)S 161 x(passes)S
161 x(the)S 160 x(receive)S 2 x(d)S 159 x(token)S 160 x(as)S 160 x(the)S
161 x(input_token)S 160 x(ar)S -9 x(gument)S 161 x(to)S 160 x(GSS_A)S
-2 x(ccept_se)S 2 x(c_context)S(\()S 85 x(\))S(,)S 164 x(which)S 3899 X
647 y(recognize)S 2 x(s)S 140 x(it)S 141 x(as)S 141 x(a)S 141 x(request)S
142 x(for)S 141 x(TGT)S -41 x(.)S 141 x(\(Note)S 141 x(that)S 141 x
(curre)S 2 x(nt)S 140 x(Kerberos)S 142 x(V5)S 140 x(de\211nes)S 141 x
(no)S 140 x(intra)S 2 x(-protocol)S 142 x(mechanism)S 142 x(to)S 3899 X
648 y(repres)S 2 x(ent)S 153 x(such)S 153 x(a)S 153 x(request.\))S 235 x
(GSS_A)S -2 x(ccept)S 2 x(_sec_context)S(\()S 85 x(\))S 153 x(retur)S
2 x(ns)S 152 x(GSS_CONTINU)S -2 x(E_NEEDED)S 151 x(major_st)S 2 x(atus)S
3899 X 648 y(and)S 183 x(provides)S 184 x(the)S 183 x(service)S 2 x
(')S -30 x(s)S 183 x(TGT)S 182 x(in)S 182 x(its)S 184 x(output_token.)S
245 x(The)S 182 x(servic)S 2 x(e)S 183 x(sends)S 183 x(the)S 183 x(output_token)S
184 x(to)S 183 x(the)S 183 x(client.)S 3899 31161 XY(The)S 224 x(clie)S
2 x(nt)S 224 x(passes)S 226 x(the)S 225 x(recei)S 2 x(ved)S 224 x(token)S
225 x(as)S 225 x(the)S 225 x(input_token)S 226 x(ar)S -9 x(gument)S
225 x(to)S 225 x(a)S 225 x(continuation)S 226 x(of)S 225 x(GSS_Init_sec_)S
3899 X 647 y(context)S(\()S 85 x(\))S(.)S 421 x(GSS_Init_sec_context)S
2 x(\()S 83 x(\))S 242 x(caches)S 243 x(the)S 243 x(receive)S 2 x(d)S
241 x(servi)S 2 x(ce)S 242 x(TGT)S 241 x(and)S 242 x(uses)S 242 x(it)S
242 x(as)S 243 x(part)S 242 x(of)S 243 x(a)S 242 x(service)S 3899 X
648 y(ticket)S 208 x(request)S 208 x(to)S 207 x(the)S 207 x(Kerberos)S
208 x(authentic)S 2 x(ation)S 207 x(server)S -20 x(,)S 212 x(storing)S
208 x(the)S 207 x(retur)S 2 x(ned)S 206 x(servi)S 2 x(ce)S 207 x(ticket)S
208 x(and)S 207 x(session)S 207 x(key)S 3899 X 648 y(in)S 183 x(conjunction)S
183 x(with)S 183 x(the)S 183 x(context.)S 245 x(GSS)S -2 x(_Init)S 2 x
(_sec_context)S(\()S 85 x(\))S 183 x(builds)S 183 x(a)S 182 x(Kerber)S
2 x(os-forma)S 2 x(tted)S 183 x(authentic)S 2 x(ator)S -21 x(,)S 182 x
(and)S 3899 X 647 y(returns)S 143 x(it)S 142 x(in)S 142 x(output_token)S
143 x(along)S 142 x(with)S 141 x(GSS_COMPLETE)S 140 x(return)S 143 x
(major_st)S 2 x(atus.)S 230 x(The)S 142 x(client)S 143 x(sends)S 142 x
(the)S 142 x(output_)S 3899 X 648 y(token)S 183 x(to)S 183 x(the)S 183 x
(servic)S 2 x(e.)S 3899 X 543 y 6996 24 R 4123 35290 XY F90(9)S 225 x
141 y F86(This)S 171 x(scenario)S 171 x(illustrates)S 170 x(a)S 170 x
(dif)S -7 x(ferent)S 170 x(use)S 171 x(for)S 171 x(the)S 171 x(GSS_CON)S
-2 x(TINUE_NEEDE)S 2 x(D)S 170 x(status)S 171 x(return)S 171 x(facili)S
-2 x(ty)S 171 x(than)S 172 x(that)S 170 x(described)S 171 x(in)S 171 x
(Section)S 171 x(3.1)S 171 x(for)S 4497 X 448 y(purposes)S 130 x(of)S
130 x(mutual)S 130 x(authentication;)S 130 x(note)S 130 x(that)S 130 x
(both)S 130 x(uses)S 130 x(can)S 130 x(coexist)S 130 x(as)S 130 x(successive)S
130 x(operations)S 130 x(within)S 129 x(a)S 130 x(single)S 130 x(context)S
130 x(establishment)S 130 x(operation.)S 22808 37554 XY F36(1)S -27 x
(1\203June\2031991)S 499 x(29)S
%%EndCustomColor: 0
29 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 30 30
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 3899 2106 XY F40(Generic)S 150 x(Security)S 150 x(Service)S 151 x
(API:)S 149 x(Internet-Dra)S 2 x(ft)S 3899 X 548 y(Common)S 148 x(Authentication)S
150 x(T)S -34 x(echnology)S 150 x(WG:)S 150 x(John)S 149 x(Linn)S 149 x
(\(DEC\))S 3899 3976 XY F74(Service)S 145 x(passes)S 145 x(the)S 145 x
(recei)S 2 x(ved)S 144 x(token)S 145 x(as)S 144 x(the)S 145 x(input_token)S
145 x(ar)S -9 x(gument)S 145 x(to)S 144 x(a)S 145 x(continuation)S 145 x
(call)S 146 x(to)S 144 x(GSS_Accept_sec_)S 3899 X 648 y(context)S(\()S
85 x(\))S(.)S 364 x(GSS_Accept_sec_conte)S 2 x(xt)S(\()S 83 x(\))S 224 x
(veri\211es)S 224 x(the)S 223 x(authent)S 2 x(icator)S -21 x(,)S 233 x
(provides)S 224 x(the)S 224 x(service)S 225 x(with)S 223 x(the)S 223 x
(clie)S 2 x(nt')S -30 x(s)S 3899 X 648 y(authentic)S 2 x(ated)S 183 x
(name,)S 184 x(and)S 183 x(returns)S 184 x(major_st)S 2 x(atus)S 183 x
(GSS_COMPLE)S -2 x(TE.)S 3899 6268 XY(GSS_S)S -2 x(ign)S(\()S 84 x(\))S
(,)S 183 x(GSS_V)S -62 x(erif)S 2 x(y)S(\()S 83 x(\))S(,)S 183 x(GSS_Seal)S
(\()S 83 x(\))S(,)S 183 x(and)S 183 x(GSS_Unseal)S(\()S 83 x(\))S 183 x
(as)S 183 x(above.)S 3899 7663 XY F32(3.2.3)S 547 x(X.509)S 183 x(Authentication)S
182 x(Framework)S 3899 X 896 y F74(This)S 160 x(example)S 161 x(illustr)S
2 x(ates)S 161 x(use)S 160 x(of)S 160 x(the)S 160 x(GSS-API)S 159 x
(in)S 160 x(conjuncti)S 2 x(on)S 159 x(with)S 160 x(public-ke)S 2 x
(y)S 159 x(mecha)S 2 x(nisms,)S 165 x(consistent)S 161 x(with)S 3899 X
648 y(the)S 183 x(X.509)S 182 x(Direct)S 2 x(ory)S 183 x(Authenticati)S
2 x(on)S 182 x(Framework.)S 3899 10203 XY(The)S 123 x(GSS_A)S -2 x(cquire_c)S
2 x(red)S(\()S 84 x(\))S 123 x(call)S 124 x(establi)S 2 x(shes)S 123 x
(a)S 123 x(credent)S 2 x(ials)S 123 x(struc)S 2 x(ture,)S 135 x(making)S
124 x(the)S 123 x(client)S 2 x(')S -30 x(s)S 123 x(private)S 124 x(key)S
123 x(access)S 2 x(ible)S 3899 X 648 y(for)S 183 x(use)S 183 x(on)S
183 x(behalf)S 184 x(of)S 183 x(the)S 183 x(clie)S 2 x(nt.)S 3899 11847 XY
(The)S 239 x(client)S 241 x(calls)S 240 x(GSS_Init_sec_cont)S 2 x(ext)S
(\()S 84 x(\))S(,)S 253 x(which)S 240 x(interr)S 2 x(ogates)S 240 x
(the)S 240 x(Directory)S 241 x(to)S 239 x(acquire)S 241 x(\(and)S 240 x
(validate)S 2 x(\))S 239 x(a)S 3899 X 647 y(chain)S 149 x(of)S 148 x
(public-key)S 149 x(cert)S 2 x(i\211cates,)S 156 x(thereby)S 149 x(collect)S
2 x(ing)S 148 x(the)S 148 x(public)S 149 x(key)S 148 x(of)S 148 x(the)S
149 x(service.)S 233 x(The)S 148 x(cert)S 2 x(i\211cate)S 149 x(validati)S
2 x(on)S 3899 X 648 y(operati)S 2 x(on)S 147 x(determi)S 2 x(nes)S 148 x
(that)S 148 x(suitable)S 149 x(signature)S 2 x(s)S 147 x(were)S 148 x
(applied)S 149 x(by)S 147 x(truste)S 2 x(d)S 147 x(authorit)S 2 x(ies)S
148 x(and)S 147 x(that)S 149 x(those)S 148 x(certi\211ca)S 2 x(tes)S
3899 X 648 y(have)S 259 x(not)S 260 x(expired.)S 474 x(GSS_Init_sec_context)S
2 x(\()S 83 x(\))S 260 x(generates)S 261 x(a)S 259 x(secret)S 261 x
(key)S 259 x(for)S 260 x(use)S 259 x(in)S 260 x(per)S -10 x(-message)S
261 x(protecti)S 2 x(on)S 3899 X 647 y(operati)S 2 x(ons)S 182 x(on)S
183 x(the)S 183 x(context,)S 184 x(and)S 183 x(enciphers)S 184 x(that)S
184 x(secret)S 184 x(key)S 183 x(under)S 183 x(the)S 184 x(service')S
-28 x(s)S 183 x(public)S 183 x(key)S -35 x(.)S 3899 15433 XY(The)S 205 x
(enciphere)S 2 x(d)S 204 x(secr)S 2 x(et)S 205 x(key)S -35 x(,)S 210 x
(along)S 205 x(with)S 205 x(an)S 205 x(authenti)S 2 x(cator)S 206 x
(quantity)S 206 x(signed)S 205 x(with)S 205 x(the)S 206 x(client')S
-28 x(s)S 205 x(private)S 206 x(key)S -35 x(,)S 210 x(is)S 3899 X 648 y
(included)S 171 x(in)S 170 x(the)S 171 x(output_token)S 171 x(from)S
171 x(GSS_Init_sec_context)S 2 x(\()S 83 x(\))S(.)S 240 x(The)S 170 x
(output_token)S 171 x(also)S 170 x(car)S 2 x(ries)S 171 x(a)S 170 x
(certi)S 2 x(\211cation)S 3899 X 648 y(path,)S 223 x(consisting)S 216 x
(of)S 214 x(a)S 215 x(certi)S 2 x(\211cate)S 215 x(chain)S 215 x(leading)S
216 x(from)S 215 x(the)S 215 x(servi)S 2 x(ce)S 215 x(to)S 214 x(the)S
215 x(client)S 2 x(;)S 230 x(a)S 215 x(variant)S 216 x(approach)S 216 x
(would)S 3899 X 647 y(defer)S 220 x(this)S 219 x(path)S 220 x(resolution)S
220 x(to)S 219 x(be)S 219 x(perform)S 2 x(ed)S 219 x(by)S 218 x(the)S
219 x(servi)S 2 x(ce)S 219 x(instead)S 220 x(of)S 219 x(being)S 219 x
(assert)S 2 x(ed)S 219 x(by)S 218 x(the)S 219 x(clie)S 2 x(nt.)S 351 x
(The)S 3899 X 648 y(client)S 184 x(applica)S 2 x(tion)S 183 x(sends)S
183 x(the)S 183 x(output_token)S 184 x(to)S 183 x(the)S 183 x(servic)S
2 x(e.)S 3899 19020 XY(The)S 159 x(service)S 160 x(passes)S 160 x(the)S
159 x(receive)S 2 x(d)S 158 x(token)S 159 x(as)S 159 x(the)S 160 x(input_token)S
159 x(ar)S -9 x(gument)S 160 x(to)S 159 x(GSS_)S -2 x(Accept_se)S 2 x
(c_context)S(\()S 85 x(\))S(.)S 236 x(GSS)S -2 x(_)S 3899 X 648 y(Accept_sec_c)S
2 x(ontext)S(\()S 84 x(\))S 274 x(valida)S 2 x(tes)S 274 x(the)S 275 x
(certi\211ca)S 2 x(tion)S 274 x(path,)S 298 x(and)S 274 x(as)S 274 x
(a)S 274 x(resul)S 2 x(t)S 274 x(determi)S 2 x(nes)S 274 x(a)S 274 x
(cert)S 2 x(i\211ed)S 274 x(binding)S 3899 X 647 y(between)S 158 x(the)S
159 x(client')S -29 x(s)S 158 x(distingui)S 2 x(shed)S 158 x(name)S
158 x(and)S 158 x(the)S 158 x(clie)S 2 x(nt')S -30 x(s)S 158 x(public)S
159 x(key)S -36 x(.)S 236 x(Given)S 157 x(that)S 159 x(public)S 159 x
(key)S -36 x(,)S 163 x(GSS_A)S -2 x(ccept_)S 3899 X 648 y(sec_context)S
2 x(\()S 83 x(\))S 160 x(can)S 161 x(process)S 161 x(the)S 160 x(input_token')S
-29 x(s)S 160 x(authent)S 2 x(icator)S 161 x(quantity)S 161 x(and)S
160 x(verify)S 161 x(that)S 161 x(the)S 160 x(client)S 2 x(')S -30 x
(s)S 160 x(private)S 161 x(key)S 3899 X 647 y(was)S 144 x(used)S 145 x
(to)S 145 x(sign)S 145 x(the)S 145 x(input_toke)S 2 x(n.)S 230 x(At)S
145 x(this)S 145 x(point,)S 153 x(the)S 145 x(client)S 146 x(is)S 145 x
(authenti)S 2 x(cated)S 145 x(to)S 145 x(the)S 145 x(servi)S 2 x(ce.)S
231 x(The)S 145 x(service)S 146 x(uses)S 3899 X 648 y(its)S 166 x(private)S
167 x(key)S 165 x(to)S 165 x(decipher)S 167 x(the)S 166 x(enciphered)S
167 x(secret)S 166 x(key)S 166 x(provided)S 166 x(to)S 165 x(it)S 166 x
(for)S 166 x(per)S -10 x(-message)S 167 x(protecti)S 2 x(on)S 165 x
(operations)S 3899 X 647 y(on)S 182 x(the)S 184 x(context.)S 3899 23902 XY
(The)S 149 x(client)S 150 x(call)S 2 x(s)S 149 x(GSS_S)S -2 x(ign)S
(\()S 84 x(\))S 150 x(or)S 149 x(GSS_Seal)S(\()S 83 x(\))S 150 x(on)S
148 x(a)S 150 x(data)S 150 x(message,)S 157 x(which)S 149 x(causes)S
150 x(per)S -10 x(-messa)S 2 x(ge)S 149 x(authentic)S 2 x(ation,)S 3899 X
647 y(integri)S 2 x(ty)S -36 x(,)S 253 x(and)S 240 x(\(optional\))S
241 x(con\211dentialit)S 2 x(y)S 239 x(facili)S 2 x(ties)S 240 x(to)S
239 x(be)S 239 x(applied)S 240 x(to)S 240 x(that)S 240 x(message.)S
414 x(The)S 239 x(service)S 240 x(uses)S 240 x(the)S 3899 X 648 y(context')S
-29 x(s)S 183 x(shared)S 184 x(secret)S 184 x(key)S 183 x(to)S 183 x
(perfor)S 2 x(m)S 183 x(correspondi)S 2 x(ng)S 182 x(GSS_V)S -62 x(erify)S
(\()S 85 x(\))S 183 x(and)S 183 x(GSS_U)S -2 x(nseal)S(\()S 85 x(\))S
183 x(calls.)S 3899 26691 XY F28(4)S 598 x(Related)S 200 x(Activitie)S
2 x(s)S 3899 27688 XY F74(In)S 183 x(order)S 184 x(to)S 183 x(impleme)S
2 x(nt)S 182 x(the)S 184 x(GSS-AP)S -2 x(I)S 184 x(atop)S 183 x(existing,)S
184 x(emer)S -9 x(ging,)S 183 x(and)S 183 x(future)S 184 x(securi)S
2 x(ty)S 183 x(mechanisms)S 2 x(:)S 3899 X 896 y(\201)S 854 x(object)S
218 x(identi\211ers)S 218 x(must)S 218 x(be)S 217 x(assigned)S 217 x
(to)S 217 x(candidat)S 2 x(e)S 217 x(GSS-AP)S -2 x(I)S 218 x(mechanisms)S
218 x(and)S 217 x(the)S 217 x(name)S 218 x(types)S 217 x(which)S 4945 X
648 y(they)S 183 x(support)S 3899 X 896 y(\201)S 854 x(concret)S 2 x
(e)S 181 x(data)S 183 x(element)S 183 x(form)S 2 x(ats)S 182 x(must)S
182 x(be)S 182 x(de\211ned)S 182 x(for)S 182 x(candida)S 2 x(te)S 182 x
(mechanism)S 2 x(s)S 181 x(\(enca)S 2 x(psulation)S 183 x(within)S 182 x
(the)S 4945 X 648 y(mechanis)S 2 x(m-independent)S 211 x(token)S 209 x
(forma)S 2 x(t)S 209 x(de\211nition)S 210 x(in)S 209 x(Appendix)S 209 x
(B)S 210 x(of)S 209 x(this)S 210 x(document)S 210 x(is)S 209 x(recom)S
2 x(mended)S 4945 X 648 y(to)S 183 x(mechanism)S 184 x(designer)S 2 x
(s\))S 3899 32519 XY(Calli)S 2 x(ng)S 161 x(applic)S 2 x(ations)S 162 x
(must)S 163 x(implem)S 2 x(ent)S 162 x(forma)S 2 x(tting)S 162 x(conventions)S
163 x(which)S 162 x(will)S 163 x(enable)S 163 x(them)S 163 x(to)S 162 x
(distinguish)S 163 x(GSS-)S 3899 X 648 y(API)S 182 x(tokens)S 184 x
(from)S 183 x(other)S 184 x(data)S 184 x(carrie)S 2 x(d)S 182 x(in)S
183 x(their)S 184 x(applic)S 2 x(ation)S 183 x(protocols)S 2 x(.)S 3899 34163 XY
(Concret)S 2 x(e)S 172 x(language)S 172 x(bindings)S 173 x(are)S 172 x
(requir)S 2 x(ed)S 172 x(for)S 172 x(the)S 172 x(program)S 2 x(ming)S
172 x(environment)S 2 x(s)S 171 x(in)S 172 x(which)S 172 x(the)S 172 x
(GSS-API)S 171 x(is)S 172 x(to)S 3899 X 648 y(be)S 183 x(employed;)S
184 x(such)S 183 x(bindings)S 183 x(for)S 184 x(the)S 183 x(C)S 183 x
(language)S 184 x(are)S 184 x(being)S 183 x(developed)S 183 x(as)S 184 x
(of)S 183 x(this)S 183 x(writing.)S 3899 37373 XY F36(30)S 498 x(1)S
-28 x(1\203June\2031991)S
%%EndCustomColor: 0
30 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 31 31
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 17844 2106 XY F40(Generic)S 150 x(Security)S 151 x(Service)S 150 x
(API:)S 149 x(Internet-)S 2 x(Draft)S 14568 X 548 y(Comm)S -2 x(on)S
150 x(Authentication)S 149 x(T)S -33 x(echnology)S 149 x(WG:)S 150 x
(John)S 150 x(Linn)S 148 x(\(DEC\))S 3899 4032 XY F28(5)S 598 x(Acknowled)S
2 x(gments)S 3899 5028 XY F74(This)S 212 x(proposal)S 213 x(is)S 212 x
(the)S 212 x(resul)S 2 x(t)S 212 x(of)S 212 x(a)S 212 x(collabora)S
2 x(tive)S 212 x(ef)S -9 x(fort.)S 332 x(Acknowledgments)S 213 x(are)S
213 x(due)S 212 x(to)S 212 x(Kannan)S 212 x(Alagappan,)S 3899 X 647 y
(Doug)S 220 x(Barl)S 2 x(ow)S -36 x(,)S 230 x(Bill)S 222 x(Brown,)S
231 x(Clif)S -9 x(f)S 222 x(Kahn,)S 230 x(Charli)S 2 x(e)S 221 x(Kaufman,)S
231 x(Butler)S 222 x(Lampson,)S 231 x(Richar)S 2 x(d)S 220 x(Pitkin,)S
231 x(Joe)S 221 x(T)S -38 x(ardo,)S 3899 X 648 y(and)S 182 x(John)S
183 x(W)S -22 x(ray)S 183 x(of)S 183 x(Digital)S 184 x(Equipment)S 183 x
(Corpora)S 2 x(tion,)S 183 x(and)S 182 x(John)S 183 x(Carr)S -21 x(,)S
183 x(John)S 182 x(Kohl,)S 182 x(Jon)S 183 x(Rochlis,)S 184 x(Jef)S
-9 x(f)S 183 x(Schiller)S -21 x(,)S 3899 X 648 y(and)S 191 x(T)S -39 x
(ed)S 192 x(T')S -30 x(so)S 191 x(of)S 191 x(MIT)S 191 x(and)S 191 x
(Project)S 193 x(Athena.)S 268 x(Joe)S 192 x(Pato)S 191 x(and)S 191 x
(Bill)S 192 x(Sommerf)S 2 x(eld)S 191 x(of)S 192 x(HP/Apollo,)S 192 x
(W)S -43 x(alt)S 192 x(T)S -20 x(uvell)S 192 x(of)S 3899 X 647 y(OSF)S
-45 x(,)S 223 x(and)S 222 x(Bill)S 224 x(Grif)S -9 x(\211th)S 223 x
(and)S 223 x(Mike)S 223 x(Merri)S 2 x(tt)S 223 x(of)S 223 x(A)S -61 x
(T&T)S -41 x(,)S 222 x(provided)S 224 x(inputs)S 223 x(which)S 223 x
(helped)S 223 x(to)S 223 x(focus)S 224 x(and)S 222 x(clar)S 2 x(ify)S
3899 X 648 y(direct)S 2 x(ions.)S 330 x(Precursor)S 213 x(work)S 212 x
(by)S 211 x(Ric)S 2 x(hard)S 212 x(Pitkin,)S 219 x(meeti)S 2 x(ngs)S
211 x(of)S 212 x(the)S 212 x(T)S -19 x(rusted)S 213 x(Systems)S 212 x
(Inter)S 2 x(operabili)S 2 x(ty)S 211 x(Group)S 3899 X 647 y(\(TSIG\),)S
183 x(helped)S 183 x(to)S 183 x(demonstr)S 2 x(ate)S 183 x(the)S 184 x
(value)S 183 x(of)S 183 x(a)S 183 x(generic)S 2 x(,)S 182 x(mecha)S
2 x(nism-indepe)S 2 x(ndent)S 183 x(securit)S 2 x(y)S 182 x(servic)S
2 x(e)S 183 x(API.)S 22808 37373 XY F36(1)S -27 x(1\203June\2031991)S
499 x(31)S
%%EndCustomColor: 0
31 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 33 32
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 13172 6495 XY F24(APPENDIX)S 697 x(A)S 8817 7989 XY(P)S -51 x(ACS)S
281 x(AND)S 280 x(AUTH)S -2 x(ORIZA)S -53 x(TION)S 281 x(SER)S -13 x
(VICES)S 3899 9981 XY F74(Consider)S 2 x(ation)S 197 x(has)S 197 x(been)S
197 x(given)S 197 x(to)S 197 x(modifying)S 198 x(the)S 197 x(GSS-API)S
196 x(service)S 198 x(interf)S 2 x(ace)S 197 x(to)S 197 x(recogniz)S
2 x(e)S 197 x(and)S 196 x(manipul)S 2 x(ate)S 3899 X 648 y(Privilege)S
243 x(Attribute)S 243 x(Certi\211ca)S 2 x(tes)S 242 x(\(P)S -51 x(ACs\))S
242 x(as)S 242 x(in)S 241 x(ECMA)S 242 x(138,)S 255 x(carr)S 2 x(ying)S
241 x(authori)S 2 x(zation)S 242 x(data)S 242 x(as)S 242 x(a)S 241 x
(side)S 242 x(ef)S -9 x(fect)S 3899 X 648 y(of)S 204 x(establi)S 2 x
(shing)S 204 x(a)S 204 x(security)S 205 x(context,)S 210 x(but)S 204 x
(no)S 203 x(such)S 204 x(modi\211cat)S 2 x(ions)S 204 x(have)S 204 x
(been)S 204 x(incorpora)S 2 x(ted)S 204 x(at)S 204 x(this)S 205 x(time.)S
307 x(This)S 3899 X 647 y(appendix)S 177 x(provides)S 178 x(rational)S
2 x(e)S 176 x(for)S 178 x(this)S 177 x(decision)S 178 x(and)S 176 x
(discusse)S 2 x(s)S 176 x(compat)S 2 x(ibility)S 178 x(alterna)S 2 x
(tives)S 177 x(between)S 177 x(P)S -50 x(ACs)S 176 x(and)S 3899 X 648 y
(the)S 183 x(GSS-API)S 182 x(which)S 183 x(do)S 182 x(not)S 183 x(requir)S
2 x(e)S 183 x(that)S 183 x(P)S -51 x(ACs)S 183 x(be)S 183 x(made)S 184 x
(visible)S 184 x(to)S 183 x(GSS-AP)S -2 x(I)S 184 x(caller)S 2 x(s.)S
3899 13568 XY(Existing)S 191 x(candidate)S 191 x(mechani)S 2 x(sm)S
190 x(types)S 190 x(such)S 191 x(as)S 190 x(Kerberos)S 191 x(and)S 190 x
(X.509)S 189 x(do)S 190 x(not)S 190 x(incorpor)S 2 x(ate)S 190 x(P)S
-51 x(AC)S 190 x(manipul)S 2 x(ation)S 3899 X 648 y(featur)S 2 x(es,)S
151 x(and)S 143 x(exclusi)S 2 x(on)S 143 x(of)S 143 x(such)S 143 x(mecha)S
2 x(nisms)S 143 x(from)S 145 x(the)S 143 x(set)S 144 x(of)S 144 x(candidates)S
144 x(equipped)S 144 x(to)S 144 x(fully)S 144 x(support)S 143 x(the)S
144 x(GSS-)S 3899 X 647 y(API)S 213 x(seems)S 215 x(inappropr)S 2 x
(iate.)S 338 x(Inclusi)S 2 x(on)S 213 x(\(and)S 215 x(GSS-API)S 213 x
(visibili)S 2 x(ty\))S 214 x(of)S 215 x(a)S 214 x(featur)S 2 x(e)S 214 x
(supported)S 215 x(by)S 213 x(only)S 214 x(a)S 215 x(limited)S 3899 X
648 y(number)S 158 x(of)S 158 x(mechanisms)S 159 x(could)S 157 x(encoura)S
2 x(ge)S 157 x(the)S 158 x(development)S 159 x(of)S 157 x(allege)S 2 x
(dly)S 157 x(portable)S 159 x(applicat)S 2 x(ions)S 157 x(which)S 158 x
(would)S 3899 X 647 y(in)S 183 x(fact)S 184 x(have)S 183 x(only)S 183 x
(limit)S 2 x(ed)S 182 x(portabi)S 2 x(lity)S -35 x(.)S 3899 17155 XY
(The)S 243 x(status)S 244 x(quo,)S 257 x(in)S 243 x(which)S 243 x(P)S
-51 x(ACs)S 243 x(are)S 244 x(not)S 243 x(visible)S 244 x(across)S 244 x
(the)S 244 x(GSS-AP)S -2 x(I)S 243 x(inter)S 2 x(face,)S 259 x(does)S
243 x(not)S 243 x(preclude)S 244 x(im-)S 3899 X 647 y(plementa)S 2 x
(tions)S 218 x(in)S 218 x(which)S 217 x(P)S -51 x(ACs)S 218 x(are)S
218 x(carr)S 2 x(ied)S 218 x(transpar)S 2 x(ently)S -35 x(,)S 226 x
(within)S 218 x(the)S 218 x(tokens)S 218 x(de\211ned)S 218 x(and)S 217 x
(used)S 218 x(for)S 218 x(cer)S 2 x(tain)S 3899 X 648 y(mech_types,)S
235 x(and)S 223 x(stored)S 224 x(within)S 224 x(peers')S 225 x(credenti)S
2 x(als)S 223 x(and)S 224 x(context-l)S 2 x(evel)S 224 x(data)S 224 x
(structur)S 2 x(es.)S 365 x(While)S 224 x(invisibl)S 2 x(e)S 223 x(to)S
3899 X 647 y(API)S 152 x(caller)S 2 x(s,)S 158 x(such)S 152 x(P)S -51 x
(ACs)S 153 x(could)S 152 x(be)S 152 x(used)S 153 x(by)S 152 x(operating)S
153 x(system)S 153 x(or)S 153 x(other)S 153 x(local)S 153 x(functions)S
153 x(as)S 153 x(inputs)S 152 x(in)S 153 x(the)S 152 x(course)S 3899 X
648 y(of)S 208 x(mediat)S 2 x(ing)S 208 x(access)S 209 x(request)S 2 x
(s)S 208 x(made)S 209 x(by)S 207 x(call)S 2 x(ers.)S 320 x(This)S 208 x
(course)S 209 x(of)S 208 x(action)S 209 x(allows)S 209 x(dynamic)S 209 x
(select)S 2 x(ion)S 208 x(of)S 208 x(P)S -51 x(AC)S 3899 X 647 y(contents,)S
184 x(if)S 183 x(such)S 183 x(selec)S 2 x(tion)S 183 x(is)S 183 x(administ)S
2 x(rativel)S 2 x(y-direct)S 2 x(ed)S 183 x(rather)S 184 x(than)S 183 x
(call)S 2 x(er)S -11 x(-dir)S 2 x(ected.)S 3899 21389 XY(In)S 209 x
(a)S 209 x(distribut)S 2 x(ed)S 209 x(computing)S 209 x(environme)S
2 x(nt,)S 215 x(authenti)S 2 x(cation)S 209 x(must)S 210 x(span)S 209 x
(dif)S -9 x(ferent)S 210 x(systems;)S 223 x(the)S 209 x(need)S 210 x
(for)S 209 x(such)S 3899 X 647 y(authentic)S 2 x(ation)S 195 x(provides)S
195 x(motiva)S 2 x(tion)S 195 x(for)S 195 x(GSS-AP)S -2 x(I)S 195 x
(de\211nition)S 195 x(and)S 195 x(usage.)S 279 x(Heteroge)S 2 x(neous)S
194 x(system)S 2 x(s)S 194 x(in)S 195 x(a)S 194 x(net-)S 3899 X 648 y
(work)S 205 x(can)S 206 x(inter)S 2 x(communicat)S 2 x(e,)S 211 x(with)S
206 x(globally)S 206 x(authent)S 2 x(icated)S 206 x(names)S 207 x(comprisi)S
2 x(ng)S 205 x(the)S 206 x(common)S 206 x(bond)S 206 x(between)S 3899 X
647 y(locally)S 202 x(de\211ned)S 201 x(acce)S 2 x(ss)S 201 x(control)S
202 x(policie)S 2 x(s.)S 298 x(Access)S 202 x(control)S 202 x(policie)S
2 x(s)S 201 x(to)S 201 x(which)S 201 x(authenti)S 2 x(cation)S 202 x
(provides)S 202 x(inputs)S 3899 X 648 y(are)S 201 x(often)S 201 x(local)S
2 x(,)S 204 x(or)S 201 x(speci\211c)S 201 x(to)S 201 x(particul)S 2 x
(ar)S 201 x(operating)S 201 x(system)S 2 x(s)S 200 x(or)S 201 x(environments)S
2 x(.)S 296 x(If)S 201 x(the)S 201 x(GSS-API)S 199 x(made)S 201 x(par-)S
3899 X 648 y(ticular)S 213 x(authoriz)S 2 x(ation)S 212 x(models)S 212 x
(visible)S 213 x(across)S 212 x(its)S 212 x(servic)S 2 x(e)S 211 x(inter)S
2 x(face,)S 219 x(its)S 212 x(scope)S 212 x(of)S 212 x(applicat)S 2 x
(ion)S 211 x(would)S 211 x(become)S 3899 X 647 y(less)S 210 x(general.)S
323 x(The)S 209 x(curre)S 2 x(nt)S 209 x(GSS-AP)S -2 x(I)S 210 x(paradigm)S
210 x(is)S 209 x(consiste)S 2 x(nt)S 209 x(with)S 209 x(the)S 209 x
(prece)S 2 x(dent)S 209 x(set)S 210 x(by)S 208 x(Kerberos,)S 217 x(neither)S
3899 X 648 y(de\211ning)S 163 x(the)S 163 x(interpr)S 2 x(etation)S
164 x(of)S 163 x(authori)S 2 x(zation-r)S 2 x(elated)S 164 x(data)S
164 x(nor)S 163 x(enforcing)S 164 x(access)S 164 x(control)S 2 x(s)S
162 x(based)S 164 x(on)S 162 x(such)S 164 x(data.)S 3899 26918 XY(The)S
234 x(GSS-API)S 233 x(is)S 235 x(a)S 234 x(general)S 236 x(interf)S
2 x(ace,)S 247 x(whose)S 235 x(caller)S 2 x(s)S 234 x(may)S 234 x(resi)S
2 x(de)S 234 x(inside)S 235 x(or)S 235 x(outside)S 235 x(any)S 234 x
(de\211ned)S 234 x(TCB)S 235 x(or)S 3899 X 648 y(NTCB)S 170 x(boundaries)S
2 x(.)S 239 x(Given)S 170 x(this)S 171 x(charact)S 2 x(eristi)S 2 x
(c,)S 172 x(it)S 171 x(appears)S 171 x(more)S 171 x(real)S 2 x(istic)S
171 x(to)S 170 x(provide)S 171 x(faci)S 2 x(lities)S 171 x(which)S 170 x
(provide)S 3899 X 647 y("value-added")S 207 x(security)S 207 x(servic)S
2 x(es)S 206 x(to)S 206 x(its)S 206 x(call)S 2 x(ers)S 206 x(than)S
206 x(to)S 207 x(of)S -10 x(fer)S 207 x(facil)S 2 x(ities)S 207 x(which)S
206 x(enforce)S 207 x(rest)S 2 x(rictions)S 207 x(on)S 206 x(those)S
3899 X 648 y(caller)S 2 x(s.)S 394 x(Authoriza)S 2 x(tion)S 233 x(decisions)S
234 x(must)S 234 x(often)S 234 x(be)S 233 x(mediat)S 2 x(ed)S 233 x
(below)S 233 x(the)S 234 x(GSS)S -2 x(-API)S 234 x(level)S 234 x(in)S
233 x(a)S 233 x(local)S 234 x(manner)S 3899 X 647 y(against)S 191 x
(\(or)S 190 x(in)S 190 x(spite)S 190 x(of\))S 191 x(applicati)S 2 x
(ons,)S 191 x(and)S 190 x(cannot)S 190 x(be)S 190 x(selecti)S 2 x(vely)S
190 x(invoked)S 190 x(or)S 190 x(omitted)S 191 x(at)S 190 x(those)S
190 x(applicat)S 2 x(ions')S 3899 X 648 y(discret)S 2 x(ion.)S 242 x
(Given)S 179 x(that)S 180 x(the)S 179 x(GSS-AP)S -2 x(I')S -29 x(s)S
179 x(placem)S 2 x(ent)S 179 x(prevents)S 180 x(it)S 179 x(from)S 180 x
(providing)S 180 x(a)S 179 x(comprehensi)S 2 x(ve)S 178 x(soluti)S 2 x
(on)S 178 x(to)S 3899 X 647 y(the)S 203 x(authori)S 2 x(zation)S 203 x
(issue,)S 209 x(the)S 203 x(value)S 204 x(of)S 203 x(a)S 203 x(parti)S
2 x(al)S 203 x(contribut)S 2 x(ion)S 203 x(speci\211c)S 203 x(to)S 203 x
(part)S 2 x(icular)S 204 x(authoriz)S 2 x(ation)S 203 x(models)S 204 x
(is)S 3899 X 648 y(debatable)S 2 x(.)S 18225 37373 XY F36(P)S -37 x
(ACs)S 165 x(and)S 167 x(Authorizatio)S 2 x(n)S 166 x(Services)S 499 x
(33)S
%%EndCustomColor: 0
32 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%PageCustomColors: 0
%
%%Page: 35 33
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY 
%%BeginCustomColor: 0 
0 SC 13172 6495 XY F24(APPENDIX)S 697 x(B)S 7839 7989 XY(MECHA)S -2 x
(NISM-INDEPEND)S -2 x(ENT)S 272 x(T)S -13 x(OKEN)S 271 x(FORMA)S -53 x
(T)S 3899 9981 XY F74(This)S 238 x(appendix)S 239 x(speci\211es)S 239 x
(a)S 238 x(mechanism)S 2 x(-independent)S 239 x(level)S 239 x(of)S 238 x
(encapsul)S 2 x(ating)S 238 x(repr)S 2 x(esentati)S 2 x(on)S 237 x(for)S
239 x(the)S 239 x(initial)S 3899 X 648 y(token)S 196 x(of)S 195 x(a)S
195 x(GSS-API)S 195 x(context)S 196 x(establi)S 2 x(shment)S 196 x(sequence,)S
199 x(incorpor)S 2 x(ating)S 196 x(an)S 195 x(identi\211er)S 197 x(of)S
195 x(the)S 196 x(mechanism)S 197 x(type)S 3899 X 648 y(to)S 184 x(be)S
183 x(used)S 184 x(on)S 183 x(that)S 185 x(context.)S 246 x(Use)S 184 x
(of)S 184 x(this)S 184 x(format)S 185 x(\(with)S 184 x(ASN.1-encoded)S
184 x(data)S 184 x(element)S 2 x(s)S 183 x(repre)S 2 x(sented)S 184 x
(in)S 184 x(BER,)S 3899 X 647 y(constrai)S 2 x(ned)S 174 x(in)S 173 x
(the)S 175 x(interest)S 2 x(s)S 173 x(of)S 175 x(parsing)S 174 x(simpli)S
2 x(city)S 174 x(to)S 174 x(the)S 174 x(Distinguishe)S 2 x(d)S 173 x
(Encoding)S 174 x(Rule)S 175 x(\(DER\))S 174 x(BER)S 175 x(subset)S
3899 X 648 y(de\211ned)S 209 x(in)S 210 x(X.509,)S 215 x(clause)S 210 x
(8.7\))S 210 x(is)S 209 x(rec)S 2 x(ommended)S 210 x(to)S 209 x(the)S
210 x(designers)S 211 x(of)S 209 x(GSS-API)S 208 x(imple)S 2 x(mentations)S
211 x(based)S 210 x(on)S 3899 X 647 y(various)S 215 x(mecha)S 2 x(nisms,)S
223 x(so)S 214 x(that)S 215 x(tokens)S 215 x(can)S 215 x(be)S 215 x
(interpr)S 2 x(eted)S 215 x(unambiguously)S 215 x(at)S 215 x(GSS-API)S
214 x(peers.)S 340 x(There)S 215 x(is)S 215 x(no)S 3899 X 648 y(require)S
2 x(ment)S 214 x(that)S 214 x(the)S 213 x(mechani)S 2 x(sm-speci)S 2 x
(\211c)S 213 x(innerConte)S 2 x(xtT)S -39 x(oken,)S 221 x(innerMs)S
2 x(gT)S -39 x(oken,)S 221 x(and)S 213 x(seale)S 2 x(dUserData)S 214 x
(data)S 3899 X 647 y(element)S 2 x(s)S 182 x(be)S 183 x(encoded)S 184 x
(in)S 183 x(ASN.1)S 181 x(BER.)S 4945 X 748 y F98(--)S 269 x(optional)S
269 x(top-level)S 269 x(token)S 269 x(definitions)S 269 x(to)S 269 x
(frame)S 269 x(different)S 268 x(mechanisms)S 4945 X 797 y(GSS-API)S
269 x(DEFINITIONS)S 269 x(::=)S 4945 X 797 y(BEGIN)S 4945 X 797 y(MechType)S
269 x(::=)S 269 x(OBJECT)S 269 x(IDENTIFIER)S 4945 X 498 y(--)S 269 x
(data)S 269 x(structure)S 269 x(definitions)S 4945 X 797 y(--)S 269 x
(callers)S 269 x(must)S 269 x(be)S 269 x(able)S 269 x(to)S 269 x(distinguish)S
269 x(among)S 4945 X 498 y(--)S 269 x(InitialContextToken,)S 269 x(SubsequentContextToken,)S
4945 X 498 y(--)S 269 x(PerMsgToken,)S 269 x(and)S 269 x(SealedMessage)S
269 x(data)S 269 x(elements)S 4945 X 498 y(--)S 269 x(based)S 269 x
(on)S 269 x(the)S 269 x(usage)S 269 x(in)S 269 x(which)S 269 x(they)S
269 x(occur)S 4945 X 797 y(InitialContextToken)S 269 x(::=)S 4945 X
498 y(--)S 269 x(option)S 269 x(indication)S 269 x(\(delegation,)S 269 x
(etc.\))S 269 x(indicated)S 269 x(within)S 4945 X 499 y(--)S 269 x(mechanism-specific)S
269 x(token)S 4945 X 498 y([APPLICATION)S 269 x(0])S 269 x(IMPLICIT)S
269 x(SEQUENCE)S 269 x({)S 7097 X 498 y(thisMech)S 269 x(MechType,)S
7097 X 498 y(innerContextToken)S 269 x(ANY)S 269 x(DEFINED)S 269 x(BY)S
269 x(thisMech)S 7904 X 498 y(--)S 269 x(contents)S 269 x(mechanism-specific)S
7097 X 498 y(})S 4945 X 797 y(SubsequentContextToken)S 269 x(::=)S 269 x
(innerContextToken)S 269 x(ANY)S 4945 X 498 y(--)S 269 x(interpretation)S
269 x(based)S 269 x(on)S 269 x(predecessor)S 269 x(InitialContextToken)S
4945 X 797 y(PerMsgToken)S 269 x(::=)S 4945 X 498 y(--)S 269 x(as)S
269 x(emitted)S 269 x(by)S 269 x(GSS_Sign)S 269 x(and)S 269 x(processed)S
269 x(by)S 269 x(GSS_Verify)S 7097 X 499 y(innerMsgToken)S 269 x(ANY)S
4945 X 797 y(SealedMessage)S 269 x(::=)S 4945 X 498 y(--)S 269 x(as)S
269 x(emitted)S 269 x(by)S 269 x(GSS_Seal)S 269 x(and)S 269 x(processed)S
269 x(by)S 269 x(GSS_Unseal)S 4945 X 498 y(--)S 269 x(includes)S 269 x
(internal,)S 269 x(mechanism-defined)S 269 x(indicator)S 4945 X 498 y
(--)S 269 x(of)S 269 x(whether)S 269 x(or)S 269 x(not)S 269 x(encrypted)S
7097 X 498 y(sealedUserData)S 269 x(ANY)S 4945 X 797 y(END)S 16869 37373 XY
F36(Mechanism-Ind)S 2 x(ependent)S 167 x(T)S -36 x(oken)S 166 x(Format)S
499 x(35)S
%%EndCustomColor: 0
33 PP EP
%%PageTrailer
%%PageFonts: Helvetica-Bold Times-Roman
%%+ Courier
%%PageCustomColors: 0
%
%%Trailer
EndDVC$PSDoc
/DEC$EDMS_MAKE_FILM where	% if we are making film...
 { pop				% ..clean up the stack
   -54 dup translate		% ..undo the film translation
 } if
%%Pages: 33
%%DocumentFonts: Courier Times-Roman
%%+ Helvetica-Bold Helvetica
%%DocumentCustomColors: 0