krb5Token_test.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package GSSAPI
  2. import (
  3. "encoding/hex"
  4. "github.com/jcmturner/gokrb5/asn1tools"
  5. "github.com/jcmturner/gokrb5/messages"
  6. "github.com/jcmturner/gokrb5/testdata"
  7. "github.com/jcmturner/gokrb5/types"
  8. "testing"
  9. )
  10. func TestKrb5Token_NewAPREQ(t *testing.T) {
  11. var tkt types.Ticket
  12. b, err := hex.DecodeString(testdata.TestVectors["encode_krb5_ticket"])
  13. if err != nil {
  14. t.Fatalf("Test vector read error of %s: %v\n", "encode_krb5_ticket", err)
  15. }
  16. err = tkt.Unmarshal(b)
  17. if err != nil {
  18. t.Fatalf("Unmarshal error of %s: %v\n", "encode_krb5_ticket", err)
  19. }
  20. var a types.Authenticator
  21. //t.Logf("Starting unmarshal tests of %s", v)
  22. b, err = hex.DecodeString(testdata.TestVectors["encode_krb5_authenticator"])
  23. if err != nil {
  24. t.Fatalf("Test vector read error of %s: %v\n", "encode_krb5_authenticator", err)
  25. }
  26. err = a.Unmarshal(b)
  27. if err != nil {
  28. t.Fatalf("Unmarshal error of %s: %v\n", "encode_krb5_authenticator", err)
  29. }
  30. var k types.EncryptionKey
  31. b, err = hex.DecodeString(testdata.TestVectors["encode_krb5_keyblock"])
  32. if err != nil {
  33. t.Fatalf("Test vector read error of %s: %v\n", "encode_krb5_keyblock", err)
  34. }
  35. err = k.Unmarshal(b)
  36. if err != nil {
  37. t.Fatalf("Unmarshal error of %s: %v\n", "encode_krb5_keyblock", err)
  38. }
  39. APReq, err := messages.NewAPReq(tkt, k, a)
  40. mb, err := NewKRB5APREQMechToken(APReq)
  41. t.Logf("Mechtoken: %v, %v, %v", len(mb), asn1tools.GetLengthFromASN(mb), hex.EncodeToString(mb))
  42. }