MCPcopy Create free account
hub / github.com/cconlon/kerberos-java-gssapi / Authenticate

Method Authenticate

examples/client.java:178–423  ·  view source on GitHub ↗
(Socket clientSocket,
            InputStream serverIn, OutputStream serverOut,
            String inClientName, String inServiceName,
            gss_OID_set_desc neg_mech_set)

Source from the content-addressed store, hash-verified

176 }
177
178 public static int Authenticate(Socket clientSocket,
179 InputStream serverIn, OutputStream serverOut,
180 String inClientName, String inServiceName,
181 gss_OID_set_desc neg_mech_set)
182 {
183 long maj_status = 0;
184 long[] min_status = {0};
185 gss_name_t_desc clientName = new gss_name_t_desc();
186 gss_name_t_desc serverName = new gss_name_t_desc();
187 gss_cred_id_t_desc clientCredentials = GSS_C_NO_CREDENTIAL;
188 gss_ctx_id_t_desc context_tmp = GSS_C_NO_CONTEXT;
189 long[] actualFlags = {0};
190 int err = 0;
191 int ret[] = {0};
192 long[] time_rec = {0};
193 /* kerberos v5 */
194 gss_OID_desc gss_mech_krb5 = new gss_OID_desc("1.2.840.113554.1.2.2");
195
196 byte[] inputTokenBuffer = null;
197 gss_buffer_desc inputToken = new gss_buffer_desc();
198
199 System.out.println("Authenticating [client]");
200
201 /* Testing gss_indicate_mechs */
202 gss_OID_set_desc mech_set = GSS_C_NO_OID_SET;
203 maj_status = gsswrapper.gss_indicate_mechs(min_status, mech_set);
204 if (maj_status != GSS_S_COMPLETE) {
205 Util.displayError("gss_indicate_mechs(mech_set)", min_status,
206 maj_status);
207 return -1;
208 }
209
210 maj_status = gsswrapper.gss_release_oid_set(min_status, mech_set);
211 if (maj_status != GSS_S_COMPLETE) {
212 Util.displayError("gss_release_mechs(mech_set)", min_status,
213 maj_status);
214 return -1;
215 }
216
217 /* Client picks client principal it wants to use. Only done if we
218 * know what client principal will get the service principal we need.
219 */
220 if (inClientName != null) {
221 gss_buffer_desc nameBuffer = new gss_buffer_desc();
222 nameBuffer.setLength(inClientName.length());
223 nameBuffer.setValue(inClientName);
224
225 maj_status = gsswrapper.gss_import_name(min_status, nameBuffer,
226 gsswrapper.getGSS_C_NT_USER_NAME(), clientName);
227 if (maj_status != GSS_S_COMPLETE) {
228 Util.displayError("gss_import_name(inClientName)", min_status,
229 maj_status);
230 return -1;
231 }
232
233 maj_status = gsswrapper.gss_acquire_cred(min_status, clientName,
234 GSS_C_INDEFINITE,
235 GSS_C_NO_OID_SET,

Callers 1

mainMethod · 0.95

Calls 5

displayErrorMethod · 0.95
WriteTokenMethod · 0.95
ReadTokenMethod · 0.95
setLengthMethod · 0.80
getLengthMethod · 0.80

Tested by

no test coverage detected