/// <summary>
        /// Imports a blob that represents RSA key information
        /// </summary>
        /// <param name="keyBlob"></param>
        public void ImportCspBlob(byte[] keyBlob)
        {
            // Free the current key handle
            if (_safeKeyHandle != null && !_safeKeyHandle.IsClosed)
            {
                _safeKeyHandle.Dispose();
                _safeKeyHandle = null;
            }
            _safeKeyHandle = SafeKeyHandle.InvalidHandle;

            if (IsPublic(keyBlob))
            {
                SafeProvHandle safeProvHandleTemp = SafeProvHandle.InvalidHandle;
                AcquireSafeProviderHandle(ref safeProvHandleTemp);
                CapiHelper.ImportKeyBlob(safeProvHandleTemp, (CspProviderFlags)0, keyBlob, ref _safeKeyHandle);
                _safeProvHandle = safeProvHandleTemp;
            }
            else
            {
                if (_safeProvHandle == null)
                {
                    _safeProvHandle = CapiHelper.CreateProvHandle(_parameters, _randomKeyContainer);
                }
                CapiHelper.ImportKeyBlob(_safeProvHandle, _parameters.Flags, keyBlob, ref _safeKeyHandle);
            }
        }