Здравствуйте!
Функция SelectKey(). Обеспечивает вызов диалогового окна выбора ключа. Функция возвращает имя выбранного ключевого контейнера (уникальный идентификатор ключа) и устанавливает значения свойств KeyType, KeyPath. На сервере приложений Вам нет необходимости использовать эту функцию.
Получение значения UID показано в следующем примере на Delphi (Вам необходимо будет вручную установить значения свойств KeyType, KeyPath):
//--- Установим значение пути к ключу
IolaTest.KeyPath := edtKeyPath.Text;
IolaTest.CertPath := IolaTest.KeyPath;
//--- Получить список ключей по указанному пути
ComboBox1.Items.Clear;
//--- Получим идентификаторы ключей в указанной папке
KeyUIDs := IolaTest.GetKeyUids;
if ((KeyUIDs = '') or (Length(KeyUIDs) = 0)) then Exit;
//--- Разбиваем на части, т.к. между идентификаторами имеются разделители CRLF
TS := TStringList.Create;
TS.Text := KeyUIDs;
for i := 0 to TS.Count-1 do
begin
ComboBox1.Items.Insert(i,TS.Strings[i]);
end;
Для чего Вы хотите использовать EncryptData? Данная функция производит шифрование данных. На выходе этой функции Вы можете получить зашифрованные данные (файл), в том числе и в кодировке base64.
Для преобразования XML-файла в кодировку base64 Вам необходимо использовать сторонние решения.