spnego.asn1 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. -- This file has been taken from heimdal gssapi implementation
  2. -- and modified by Julien 'Lta' BALLET <contact@lta.io> to work with libtasn1
  3. SPNEGO { }
  4. DEFINITIONS EXPLICIT TAGS ::=
  5. BEGIN
  6. MechType ::= OBJECT IDENTIFIER
  7. MechTypeList ::= SEQUENCE OF MechType
  8. ContextFlags ::= BIT STRING {
  9. delegFlag (0),
  10. mutualFlag (1),
  11. replayFlag (2),
  12. sequenceFlag (3),
  13. anonFlag (4),
  14. confFlag (5),
  15. integFlag (6)
  16. }
  17. NegHints ::= SEQUENCE {
  18. hintName [0] GeneralString OPTIONAL,
  19. hintAddress [1] OCTET STRING OPTIONAL
  20. }
  21. NegTokenInitWin ::= SEQUENCE {
  22. mechTypes [0] MechTypeList,
  23. reqFlags [1] ContextFlags OPTIONAL,
  24. mechToken [2] OCTET STRING OPTIONAL,
  25. negHints [3] NegHints OPTIONAL
  26. }
  27. NegTokenInit ::= SEQUENCE {
  28. mechTypes [0] MechTypeList,
  29. reqFlags [1] ContextFlags OPTIONAL,
  30. mechToken [2] OCTET STRING OPTIONAL,
  31. mechListMIC [3] OCTET STRING OPTIONAL --,
  32. -- ...
  33. }
  34. -- NB: negResult is not OPTIONAL in the new SPNEGO spec but
  35. -- Windows clients do not always send it
  36. NegTokenResp ::= SEQUENCE {
  37. negResult [0] ENUMERATED {
  38. accept_completed (0),
  39. accept_incomplete (1),
  40. reject (2),
  41. request-mic (3) } OPTIONAL,
  42. supportedMech [1] MechType OPTIONAL,
  43. responseToken [2] OCTET STRING OPTIONAL,
  44. mechListMIC [3] OCTET STRING OPTIONAL -- ,
  45. -- ...
  46. }
  47. NegotiationToken ::= CHOICE {
  48. negTokenInit[0] NegTokenInit,
  49. negTokenResp[1] NegTokenResp
  50. }
  51. NegotiationTokenWin ::= CHOICE {
  52. negTokenInit[0] NegTokenInitWin
  53. }
  54. GSSAPIContextToken ::= [APPLICATION 0] IMPLICIT SEQUENCE {
  55. thisMech MechType,
  56. spnego NegotiationToken
  57. }
  58. END