Импортировать ключ PGP в Windows пользователя для SSIS

Я использовал Kleopatra для генерации ключа pgp.

В SQL Server я запускаю пакет служб SSIS, который должен расшифровывать файлы с помощью вышеуказанного ключа. Пакеты служб SSIS выполняются как ImportFiles который имеет личность пользователя Windows NetworkSQLUser потому что он должен поговорить с другим сервером, чтобы получить файл.

Когда я впервые запустил пакет, я получил следующую ошибку:

Выполняется от имени пользователя: VS2\NetworkSQLUser. gpg: зашифрован с помощью ключа ELG, идентификатор XXXXXXXX gpg: не удалось расшифровать: нет секретного ключа Утилита Microsoft (R) SQL Server Execute Package Version 11.0.2100.60 для 64-разрядной версии Copyright (C) Microsoft Corporation. Все права защищены. Начато: 3:50:29 вечера Ошибка: 2014-01-23 15:50:29.95 Код: 0xC0029151 Источник: Расшифровать файл транзакции Процесс выполнения Описание задачи: При выполнении "C:\Program Files (x86)\GNU\GnuPG\gpg2.exe" "--batch --passphrase-fd 0 --decrypt-files \vs3\FTP\Outgoing\20140122_001.TRN.gpg" at "", код завершения процесса был"2", а ожидаемый был" 0 ", Ошибка завершения DTExec: выполнение пакета вернуло DTSER_FAILURE (1). Начало работы: 3:50:29. Окончание: 15:50:29. Прошло: 0,782 секунды. Выполнение пакета не выполнено. Шаг не удался.

Я прочитал статью, в которой говорится, что для решения этой проблемы сделайте следующее:

учетная запись службы, под которой я запускал агент SQL, не имела сертификата, зарегистрированного под этим ИД пользователя. Я импортировал сертификат в Kleopatra только для идентификатора пользователя для разработки, в который входил, а не для учетной записи службы. Я просто импортировал сертификат в профиль учетной записи службы, и тогда все заработало.

Я добавил идентификатор пользователя NetworkSQLUser к ключу в Клеопатре, но я не уверен на 100%, что это правильно!

Затем я снова запустил пакет и получил следующую ошибку:

Выполняется от имени пользователя: VS2 \ NetworkSQLUser. GPG: брелок c:/gnupg/secring.gpg' created gpg: keyringc:/gnupg/pubring.gpg'создан gpg: зашифрован с помощью ключа ELG, идентификатор XXXXXXXX gpg: не удалось расшифровать: нет секретного ключа Утилита Microsoft (R) SQL Server Execute Package Version 11.0.2100.60 для 64-разрядных систем Copyright (C) Microsoft Corporation, Все права защищены. Начато: 5:17:16 вечера Ошибка: 2014-01-23 17:17:17.40 Код: 0xC0029151 Источник: Расшифровать файл транзакции Процесс выполнения Описание задачи: При выполнении "C:\Program Files (x86)\GNU\GnuPG\gpg2.exe" "--batch --passphrase-fd 0 --decrypt-files \vs3\FTP\Outgoing\20140122_001.TRN.gpg" at "", код завершения процесса был"2", а ожидаемый был" 0 ", Ошибка завершения DTExec: выполнение пакета вернуло DTSER_FAILURE (1). Начало: 17:17:16. Окончание: 17:17:17. Прошло: 0,735 секунды. Выполнение пакета не выполнено. Шаг не удался.

Я также попытался запустить пакет dtsx из папки GnuPG.

Я в растерянности относительно того, куда идти отсюда.

Если я пропустил какую-либо информацию (мой первый раз с SSIS, PGP и сертификатами), дайте мне знать.

1 ответ

Решение

Я закончил тем, что использовал библиотеку от Codeplex.

Простая настройка и еще более простое исполнение. Отличная библиотека!

Другие вопросы по тегам