374
375 log("======================================");
376 log("SERVER->CLIENT DATA IN MIDDLE OF HANDSHAKE");
377
378 result2 = ssle2.wrap(appOut2, twoToOne);
379 checkResult(appOut2, twoToOne, result2,
380 Status.OK, HandshakeStatus.NEED_UNWRAP,
381 appOut2.capacity(), -1);
382 twoToOne.flip();
383
384 result3 = ssle1.unwrap(twoToOne, appIn1);
385 checkResult(twoToOne, appIn1, result3,
386 Status.OK, HandshakeStatus.NEED_WRAP,
387 result2.bytesProduced(), result2.bytesConsumed());
388 twoToOne.compact();
389
390 appIn1.clear();
391 appOut2.rewind();
392
393 log("======================================");
394 log("Client Cert");
395 result1 = ssle1.wrap(appOut1, oneToTwo);
396 checkResult(appOut1, oneToTwo, result1,
397 Status.OK, HandshakeStatus.NEED_WRAP, 0, -1);
398
399 oneToTwo.flip();
400 result2 = ssle2.unwrap(oneToTwo, appIn2);
401
402 checkResult(oneToTwo, appIn2, result2,
403 Status.OK, HandshakeStatus.NEED_TASK, result1.bytesProduced(), 0);
404 runDelegatedTasks(ssle2);
405
406 oneToTwo.compact();
407
408 log("======================================");
409 log("Key Exchange");
410 result1 = ssle1.wrap(appOut1, oneToTwo);
411 checkResult(appOut1, oneToTwo, result1,
412 Status.OK, HandshakeStatus.NEED_WRAP, 0, -1);
413
414 oneToTwo.flip();
415 result2 = ssle2.unwrap(oneToTwo, appIn2);
416
417 checkResult(oneToTwo, appIn2, result2,
418 Status.OK, HandshakeStatus.NEED_TASK,
419 result1.bytesProduced(), 0);
420 runDelegatedTasks(ssle2);
421
422 oneToTwo.compact();
423
424 log("======================================");
425 log("CCS");
426 result1 = ssle1.wrap(appOut1, oneToTwo);
427 checkResult(appOut1, oneToTwo, result1,
428 Status.OK, HandshakeStatus.NEED_WRAP, 0, -1);
429
430 oneToTwo.flip();
431 result2 = ssle2.unwrap(oneToTwo, appIn2);
432
433 checkResult(oneToTwo, appIn2, result2,
434 Status.OK, HandshakeStatus.NEED_UNWRAP,
435 result1.bytesProduced(), 0);
436
437 oneToTwo.compact();
438
439 log("======================================");
440 log("Finished");
441 result1 = ssle1.wrap(appOut1, oneToTwo);
|
374
375 log("======================================");
376 log("SERVER->CLIENT DATA IN MIDDLE OF HANDSHAKE");
377
378 result2 = ssle2.wrap(appOut2, twoToOne);
379 checkResult(appOut2, twoToOne, result2,
380 Status.OK, HandshakeStatus.NEED_UNWRAP,
381 appOut2.capacity(), -1);
382 twoToOne.flip();
383
384 result3 = ssle1.unwrap(twoToOne, appIn1);
385 checkResult(twoToOne, appIn1, result3,
386 Status.OK, HandshakeStatus.NEED_WRAP,
387 result2.bytesProduced(), result2.bytesConsumed());
388 twoToOne.compact();
389
390 appIn1.clear();
391 appOut2.rewind();
392
393 log("======================================");
394 log("Client Cert and Key Exchange");
395 result1 = ssle1.wrap(appOut1, oneToTwo);
396 checkResult(appOut1, oneToTwo, result1,
397 Status.OK, HandshakeStatus.NEED_WRAP, 0, -1);
398
399 oneToTwo.flip();
400 result2 = ssle2.unwrap(oneToTwo, appIn2);
401
402 checkResult(oneToTwo, appIn2, result2,
403 Status.OK, HandshakeStatus.NEED_TASK, result1.bytesProduced(), 0);
404 runDelegatedTasks(ssle2);
405
406 oneToTwo.compact();
407
408 log("======================================");
409 log("CCS");
410 result1 = ssle1.wrap(appOut1, oneToTwo);
411 checkResult(appOut1, oneToTwo, result1,
412 Status.OK, HandshakeStatus.NEED_WRAP, 0, -1);
413
414 oneToTwo.flip();
415 result2 = ssle2.unwrap(oneToTwo, appIn2);
416
417 checkResult(oneToTwo, appIn2, result2,
418 Status.OK, HandshakeStatus.NEED_UNWRAP,
419 result1.bytesProduced(), 0);
420
421 oneToTwo.compact();
422
423 log("======================================");
424 log("Finished");
425 result1 = ssle1.wrap(appOut1, oneToTwo);
|