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

Method doCommunication

examples/gssClient.java:223–271  ·  view source on GitHub ↗

Communicate with the server. First send a message that has been wrapped with context.wrap(), then verify the signature block which the server sends back.

(InputStream serverIn,
            OutputStream serverOut)

Source from the content-addressed store, hash-verified

221 * the server sends back.
222 **/
223 public static void doCommunication(InputStream serverIn,
224 OutputStream serverOut) {
225
226 MessageProp messagInfo = new MessageProp(false);
227 byte[] inToken = new byte[0];
228 byte[] outToken = null;
229 byte[] buffer;
230 int err = 0;
231
232 try {
233
234 String msg = "Hello Server, this is the client!";
235 buffer = msg.getBytes();
236
237 /* Set privacy to "true" and use the default QOP */
238 messagInfo.setPrivacy(true);
239
240 outToken = context.wrap(buffer, 0, buffer.length, messagInfo);
241 err = GssUtil.WriteToken(serverOut, outToken);
242 if (err == 0) {
243 System.out.println("Sent message to server ('" +
244 msg + "')");
245
246 /* Read signature block from the server */
247 inToken = GssUtil.ReadToken(serverIn);
248 System.out.println("Received sig block from server...");
249
250 GSSName serverInfo = context.getTargName();
251 System.out.println("Message from " + serverInfo.toString() +
252 " arrived.");
253 GssUtil.printSubString("Was it encrypted? ", messagInfo.getPrivacy());
254 GssUtil.printSubString("Duplicate Token? ", messagInfo.isDuplicateToken());
255 GssUtil.printSubString("Old Token? ", messagInfo.isOldToken());
256 GssUtil.printSubString("Gap Token? ", messagInfo.isGapToken());
257
258 /* Verify signature block */
259 context.verifyMIC(inToken, 0, inToken.length, buffer, 0,
260 buffer.length, messagInfo);
261 System.out.println("Verified MIC from server");
262
263 } else {
264 System.out.println("Error sending message to server...");
265 }
266
267 } catch (GSSException e) {
268 System.out.println("GSS-API error in per-message calls: " +
269 e.getMessage());
270 }
271 }
272}

Callers 1

mainMethod · 0.95

Calls 14

setPrivacyMethod · 0.95
WriteTokenMethod · 0.95
ReadTokenMethod · 0.95
toStringMethod · 0.95
printSubStringMethod · 0.95
getPrivacyMethod · 0.95
isDuplicateTokenMethod · 0.95
isOldTokenMethod · 0.95
isGapTokenMethod · 0.95
getBytesMethod · 0.80
getMessageMethod · 0.80
wrapMethod · 0.65

Tested by

no test coverage detected