private string TestTran(string input, AHostCommand HC) { MessageResponse retMsg; Message.Message msg = new Message.Message(input); string trailingChars = ""; if (ExpectTrailers()) { trailingChars = msg.GetTrailers(); } HC.AcceptMessage(msg); if (HC.XMLParseResult != ErrorCodes.ER_00_NO_ERROR) { retMsg = new MessageResponse(); retMsg.AddElement(HC.XMLParseResult); } else { retMsg = HC.ConstructResponse(); } retMsg.AddElement(trailingChars); HC.Terminate(); HC = null; return(retMsg.MessageData); }
public override MessageResponse ConstructResponse() { MessageResponse mr = new MessageResponse(); Log.Logger.MajorInfo("HSM"); mr.AddElement(ErrorCodes.ER_00_NO_ERROR); return(mr); }
public override MessageResponse ConstructResponse() { MessageResponse mr = new MessageResponse(); if (!IsInAuthorizedState()) { Log.Logger.MajorInfo("Exiting from AUTHORIZED state"); } else { Log.Logger.MajorInfo("Already out of the AUTHORIZED state"); } Resources.UpdateResource(Resources.AUTHORIZED_STATE, false); mr.AddElement(ErrorCodes.ER_00_NO_ERROR); return(mr); }
public override MessageResponse ConstructResponse() { MessageResponse mr = new MessageResponse(); mr.AddElement(ErrorCodes.ER_00_NO_ERROR); if (_modeFlag == "00") { mr.AddElement("3"); mr.AddElement("1"); mr.AddElement(Convert.ToInt32(Resources.GetResource(Resources.MAX_CONS)).ToString()); mr.AddElement(Convert.ToString(Resources.GetResource(Resources.FIRMWARE_NUMBER))); mr.AddElement("0"); mr.AddElement(Convert.ToString(Resources.GetResource(Resources.DSP_FIRMWARE_NUMBER))); } return(mr); }
public override MessageResponse ConstructResponse() { MessageResponse mr = new MessageResponse(); LMKPairs.LMKPair LMKKeyPair; string var = ""; KeySchemeTable.KeyScheme ks = KeySchemeTable.KeyScheme.Unspecified; KeySchemeTable.KeyScheme zmk_ks = KeySchemeTable.KeyScheme.Unspecified; if (!ValidateKeyTypeCode(_keyType, out LMKKeyPair, ref var, ref mr)) { return(mr); } if (!ValidateKeySchemeCode(_keyScheme, ref ks, ref mr)) { return(mr); } if (_zmkScheme != "") { if (!ValidateKeySchemeCode(_zmkScheme, ref zmk_ks, ref mr)) { return(mr); } } if (!ValidateFunctionRequirement(KeyTypeTable.KeyFunction.Generate, LMKKeyPair, var, mr)) { return(mr); } string rndKey = Utility.CreateRandomKey(ks); string cryptRndKey = Utility.EncryptUnderLMK(rndKey, ks, LMKKeyPair, var); string chkVal = TripleDES.TripleDESEncrypt(new HexKey(rndKey), Constants.ZEROES); Log.Logger.MinorInfo("Key generated (clear): " + rndKey); Log.Logger.MinorInfo("Key generated (LMK): " + cryptRndKey); Log.Logger.MinorInfo("Check value: " + chkVal.Substring(0, 6)); string clearZMK; string cryptUnderZMK = ""; if (_zmk != "") { HexKey cryptZMK = new HexKey(_zmk); clearZMK = Utility.DecryptZMKEncryptedUnderLMK(cryptZMK.ToString(), cryptZMK.Scheme, 0); if (!Utility.IsParityOK(clearZMK, Utility.ParityCheck.OddParity)) { mr.AddElement(ErrorCodes.ER_10_SOURCE_KEY_PARITY_ERROR); return(mr); } cryptUnderZMK = Utility.EncryptUnderZMK(clearZMK, rndKey, zmk_ks); Log.Logger.MinorInfo("ZMK (clear): " + clearZMK); Log.Logger.MinorInfo("Key under ZMK: " + cryptUnderZMK); } mr.AddElement(ErrorCodes.ER_00_NO_ERROR); mr.AddElement(cryptRndKey); mr.AddElement(cryptUnderZMK); mr.AddElement(chkVal.Substring(0, 6)); return(mr); }