private ITestResult wrapTest(
int id,
ICipherParameters paramsWrap,
ICipherParameters paramsUnwrap,
byte[] inBytes,
byte[] outBytes)
{
IWrapper wrapper = new RC2WrapEngine();
wrapper.Init(true, paramsWrap);
try
{
byte[] cText = wrapper.Wrap(inBytes, 0, inBytes.Length);
if (!Arrays.AreEqual(cText, outBytes))
{
return new SimpleTestResult(false, Name + ": failed wrap test " + id
+ " expected " + Hex.ToHexString(outBytes)
+ " got " + Hex.ToHexString(cText));
}
}
catch (Exception e)
{
return new SimpleTestResult(false, Name + ": failed wrap test exception " + e, e);
}
wrapper.Init(false, paramsUnwrap);
try
{
byte[] pText = wrapper.Unwrap(outBytes, 0, outBytes.Length);
if (!Arrays.AreEqual(pText, inBytes))
{
return new SimpleTestResult(false, Name + ": failed unwrap test " + id
+ " expected " + Hex.ToHexString(inBytes)
+ " got " + Hex.ToHexString(pText));
}
}
catch (Exception e)
{
return new SimpleTestResult(false, Name + ": failed unwrap test exception " + e, e);
}
return new SimpleTestResult(true, Name + ": Okay");
}