gss_export_name을 사용하여 이름을 내보내는 데 문제가 있습니다. 일단 이름을 내 보내면 인쇄 할 수 있어야하지만 빈 Literaly가 나타납니다. 내보내기 이름 : 내 보낸 이름 길이 : 여기에 47GSSAPI : gss_export_name이 공백을 반환합니다.
내가 검사를 포함하지 않기로 결정 명확성을 위해 내 코드
OM_uint32 major_status;
gss_cred_usage_t usage;
OM_uint32 lifetime;
gss_name_t inquired_name;
major_status = gss_inquire_cred(&minor_status, GSS_C_NO_CREDENTIAL, &inquired_name,
&lifetime, &usage, &oid_set);
gss_buffer_desc exported_name_buffer;
major_status = gss_export_name(&minor_status, inquired_name, &exported_name_buffer);
printf("EXPORTED NAME: %s, EXPORTED NAME LENGTH: %d\n",
exported_name_buffer.value, exported_name_buffer.length);
, 그러나 나는 또한 == GSS_S_COMPLETE 은 어떤 아이디어 감사합니다 major_status 항상 있는지 확인하는데주의를 기울여야
나는 주위에 파고가'gss_export_name' 전에'gss_canonicalize_name'을 호출해야한다고 제안했습니다. 그러나 작업 코드에서이를 확인할 수 없었습니다. –
활성 자격 증명과 반대로 문자열에서 이름을 가져온 경우에만 정규화가 필요하다는 인상하에있었습니다. 어느 쪽이든 다른 방법으로 시도해 보았습니다. 버퍼가 텍스트 값을 포함하지 않고 추가로 디코딩 될 필요가있을 수 있습니다. 약간 – pu239ppy