I'm trying to parse SAP Login Ticket (I'm getting ticket string from MYSAPSSO2 cookie) in a .NET application following the sample provided by SAP. Both sapssoext.dll
and sapsecu.dll
are placed in System32 folder but I'm getting an error which number is 9.
Here is the ticket string
AjExMDAgAA1wb3J0YWw6QVRJQUFNiAATYmFzaWNhdXRoZW50aWNhdGlvbgEABkFUSUFBTQIAAzAwMAMAA1BNRAQADDIwMTMwMTA3MTAzNAUABAAAAAgKAAZBVElBQU3/AQUwggEBBgkqhkiG9w0BBwKggfMwgfACAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHATGB0DCBzQIBATAiMB0xDDAKBgNVBAMTA1BNRDENMAsGA1UECxMESjJFRQIBADAJBgUrDgMCGgUAoF0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTMwMTA3MTAzNDE1WjAjBgkqhkiG9w0BCQQxFgQUYsJ!74Po!/9lrPqttjZXqcfBSTAwCQYHKoZIzjgEAwQvMC0CFD55F60sUc2gyG0gZpbdtLqJ6MBkAhUAiQ87p3inLvWchkphT5Lfl7PJ1mA
Here is the details logged in trace.txt file
---------------------------------------------------
trc file: "trace.txt", trc level: 1, release: "720"
---------------------------------------------------
[Thr 2172] Mon Jan 07 13:51:44 2013
[Thr 2172] Call function MySapLoadTicketKey
[Thr 2172] Ticket key as new PSE loaded
[Thr 2172] Cleanup of function, memory PSE created
[Thr 2172] Leave function MySapLoadTicketKey with rc = 0.
[Thr 2172] Mon Jan 07 13:52:15 2013
[Thr 2172] MySapEvalLogonTicketEx was called.
[Thr 2172] Unconverted ticket is the following: >>>AjExMDAgAA1wb3J0YWw6QVRJQUFNiAATYmFzaWNhdXRoZW50aWNhdGlvbgEABkFUSUFBTQIAAzAwMAMAA1BNRAQADDIwMTMwMTA3MTAzNAUABAAAAAgKAAZBVElBQU3/AQUwggEBBgkqhkiG9w0BBwKggfMwgfACAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHATGB0DCBzQIBATAiMB0xDDAKBgNVBAMTA1BNRDENMAsGA1UECxMESjJFRQIBADAJBgUrDgMCGgUAoF0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTMwMTA3MTAzNDE1WjAjBgkqhkiG9w0BCQQxFgQUYsJ!74Po!/9lrPqttjZXqcfBSTAwCQYHKoZIzjgEAwQvMC0CFD55F60sUc2gyG0gZpbdtLqJ6MBkAhUAiQ87p3inLvWchkphT5Lfl7PJ1mA=<<<
[Thr 2172] Initialized variables...
[Thr 2172] *** ERROR => Struct size 128 is not 128 [ssoxxext.c 459]
[Thr 2172] *** ERROR => MySapEvalLogonTicketEx returns 9. [ssoxxext.c 958]
[Thr 2172] End of function MySapEvalLogonTicketEx.
It seems it is internal error in "ssoxxext.c" ... any suggestions?
SAP SSO EXT Lib (ssoextlib.dll) supports two ways of parsing login ticket
SAPSSOEXT
class and use the EvalPortalTicket
method to eval login ticket.SAPSSOEXT.EvalSAPTicket
to eval login ticketso based on ticket type that portal sends if it is SAP or Portal ticket, the appropriate method should be used.
For more info http://scn.sap.com/thread/1634545