/// <summary>
        /// Initialize method implementation
        /// </summary>
        public void Initialize(KeysRepositoryService keysstorage, BaseKeysManagerParams parameters)
        {
            CustomKeysManagerParams config = (CustomKeysManagerParams)parameters;

            KeysStorage      = keysstorage;
            XORSecret        = config.XORSecret;
            CustomParameters = config.CustomParameters;
            MAX_PROBE_LEN    = 64;
        }
        /// <summary>
        /// Initialize method implementation
        /// </summary>
        public void Initialize(KeysRepositoryService keysstorage, BaseKeysManagerParams parameters)
        {
            RSA2KeysManagerParams config = (RSA2KeysManagerParams)parameters;

            KeysStorage           = keysstorage;
            XORSecret             = config.XORSecret;
            KeySize               = config.KeySizeMode;
            CertificateThumbprint = config.CertificateThumbprint;
            Validity              = config.CertificateValidity;
            switch (KeySize)
            {
            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>
        /// Initialize method implementation
        /// </summary>
        public void Initialize(KeysRepositoryService keysstorage, BaseKeysManagerParams parameters)
        {
            AESKeysManagerParams config = (AESKeysManagerParams)parameters;

            KeysStorage = keysstorage;
            XORSecret   = config.XORSecret;
            KeySize     = config.AESKeyGenerator;
            switch (KeySize)
            {
            case AESKeyGeneratorMode.AESSecret512:
                MAX_PROBE_LEN = 64;
                break;

            case AESKeyGeneratorMode.AESSecret1024:
                MAX_PROBE_LEN = 128;
                break;

            default:
                MAX_PROBE_LEN = 128;
                break;
            }
        }
        /// <summary>
        /// Initialize method implementation
        /// </summary>
        public void Initialize(KeysRepositoryService keysstorage, BaseKeysManagerParams parameters)
        {
            RNGKeysManagerParams config = (RNGKeysManagerParams)parameters;

            KeysStorage = keysstorage;
            XORSecret   = config.XORSecret;
            Mode        = config.KeyGenerator;
            KeySize     = config.KeySizeMode;
            switch (KeySize)
            {
            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;
            }
        }