| 159 | } |
| 160 | |
| 161 | public static gss_cred_id_t_desc AcquireServerCreds(String serviceName) |
| 162 | { |
| 163 | gss_cred_id_t_desc server_creds = new gss_cred_id_t_desc(); |
| 164 | gss_buffer_desc name_buf = new gss_buffer_desc(serviceName); |
| 165 | gss_name_t_desc server_name = new gss_name_t_desc(); |
| 166 | gss_OID_set_desc actual_mechs = GSS_C_NO_OID_SET; |
| 167 | long maj_status = 0; |
| 168 | long[] min_status = {0}; |
| 169 | long[] time_rec = {0}; |
| 170 | |
| 171 | maj_status = gsswrapper.gss_import_name(min_status, name_buf, |
| 172 | gsswrapper.getGSS_C_NT_HOSTBASED_SERVICE(), server_name); |
| 173 | |
| 174 | if (maj_status != GSS_S_COMPLETE) { |
| 175 | Util.displayError("gss_import_name, serviceName", |
| 176 | min_status, maj_status); |
| 177 | return null; |
| 178 | } |
| 179 | |
| 180 | maj_status = gsswrapper.gss_acquire_cred(min_status, server_name, |
| 181 | 0, actual_mechs, |
| 182 | GSS_C_ACCEPT, |
| 183 | server_creds, null, time_rec); |
| 184 | if (maj_status != GSS_S_COMPLETE) { |
| 185 | Util.displayError("gss_acquire_cred(server_name)", |
| 186 | min_status, maj_status); |
| 187 | return null; |
| 188 | } |
| 189 | |
| 190 | gsswrapper.gss_release_name(min_status, server_name); |
| 191 | |
| 192 | return server_creds; |
| 193 | } |
| 194 | |
| 195 | public static int Authenticate(Socket inSocket, |
| 196 | InputStream clientIn, |