/// <summary> /// Initialize method implementation /// </summary> public void Initialize(MFAConfig config) { _config = config; _mode = config.KeysConfig.KeyGenerator; _ksize = config.KeysConfig.KeySize; _version = config.KeysConfig.KeyVersion; if (!string.IsNullOrEmpty(config.KeysConfig.XORSecret)) { _xorsecret = config.KeysConfig.XORSecret; } if (_config.UseActiveDirectory) { _repos = new ADDSKeysRepositoryService(_config); } else { _repos = new SQLKeysRepositoryService(_config); } switch (_ksize) { case KeySizeMode.KeySize128: MAX_PROBE_LEN = 16; break; case KeySizeMode.KeySize256: MAX_PROBE_LEN = 32; break; case KeySizeMode.KeySize384: MAX_PROBE_LEN = 48; break; case KeySizeMode.KeySize512: MAX_PROBE_LEN = 64; break; case KeySizeMode.KeySize1024: MAX_PROBE_LEN = 128; break; case KeySizeMode.KeySize2048: MAX_PROBE_LEN = 256; break; default: MAX_PROBE_LEN = 128; break; } }
/// <summary> /// GetSizeFromMode method implementation /// </summary> private int GetSizeFromMode(KeyGeneratorMode xmode) { switch (_mode) { case KeyGeneratorMode.ClientSecret128: return(16); case KeyGeneratorMode.ClientSecret256: return(32); case KeyGeneratorMode.ClientSecret384: return(48); case KeyGeneratorMode.ClientSecret512: return(64); default: return(16); } }
/// <summary> /// Constructor /// </summary> public RNGEncryption(string xorsecret, KeyGeneratorMode mode) : base(xorsecret) { _mode = mode; }
/// <summary> /// Constructor /// </summary> public RNGEncryption(string xorsecret) : base(xorsecret) { _mode = KeyGeneratorMode.ClientSecret128; }