Bonsoir a tous

JE dois récupérer un ticket kerberos pour s'authentiifier à un service , le resultat est stocké dans un SecBuffer que j'arrive pas à lire :/

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
SecBuffer Token;
SecBufferDesc SBD;
SBD.ulVersion=SECBUFFER_VERSION;
SBD.cBuffers=1;
SBD.pBuffers=&Token;
 
Token.BufferType = SECBUFFER_TOKEN;
Token.cbBuffer = 0;
Token.pvBuffer = NULL;
 
 
ss = AcquireCredentialsHandle(NULL, "Kerberos", SECPKG_CRED_OUTBOUND, NULL, NULL, NULL, NULL, &CH, &TS);
ss = InitializeSecurityContext(&CH, NULL, "HTTP/target.com",
            ISC_REQ_ALLOCATE_MEMORY | ISC_REQ_CONFIDENTIALITY  | ISC_REQ_CONNECTION |ISC_REQ_REPLAY_DETECT |ISC_REQ_SEQUENCE_DETECT ,
            0, SECURITY_NETWORK_DREP, NULL, 0, &CtxtH, &SBD, &CA, NULL);
le resultat de ces 2 appels est Ok .. Mais a la lecture du Token je trouve des caractéres illisibles :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
pbMessage = (BYTE *)(Token.pvBuffer);
         cbMessage = Token.cbBuffer;
		 char * to = (char*)pbMessage;
Le Token attendu est une suite de caractéres alphanumériques base64 ..

Auriez vous une idée ?