|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T d
Length: 280686 (0x4486e)
Types: TextFile
Names: »draft-ietf-cat-genericsec-00.ps«
└─⟦4f9d7c866⟧ Bits:30007245 EUUGD6: Sikkerheds distributionen
└─⟦this⟧ »./papers/IETF-drafts/draft-ietf-cat-genericsec-00.ps«
%!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