private byte[] _getUsableKey(CMCIC_Tpe oTpe) {
	
			string hexStrKey = oTpe.sCle.Substring(0, 38);
			string hexFinal = oTpe.sCle.Substring(38, 2) + "00";

			int cca0 = (int) hexFinal[0];

			if (cca0 > 70 && cca0 < 97) {
				hexStrKey += (char) (cca0 - 23) + hexFinal.Substring(1,1);
			}
			else {
				if (hexFinal.Substring(1,1) == "M")
					hexStrKey += hexFinal.Substring(0,1) + "0";
				else
					hexStrKey += hexFinal.Substring(0,2);
			}


			return (byte []) hexStringToByteArray(hexStrKey);
			
		}
		public CMCIC_Page(string sLangue, bool bProdServer) {
            oTpe = new CMCIC_Tpe(sLangue, bProdServer);
			oHmac = new CMCIC_Hmac(oTpe);
		}
		public CMCIC_Hmac(CMCIC_Tpe oTpe) {

			_sUsableKey = _getUsableKey(oTpe);

		}