Как установить сертификат из файла PFX в личный контейнер NT-AUTHORITY\NetworkService?

Вопрос или проблема

У меня есть файл .PXF, который используется для строгой именования нескольких наших сборок .NET. VS2010/MSBUILD, похоже, ожидает, что он будет в личном контейнере для учетной записи пользователя, запускающего VS2010/MSBUILD. Это вполне удобно, когда работаешь в интерактивной пользовательской учетной записи, но при попытке автоматической сборки через TFS 2010 на агенте сборки учетная запись, используемая агентом сборки (по умолчанию), – это NT-AUTHORITY/NetworkService.

Поскольку я не могу войти в интерактивную сессию как NetworkService, я не могу просто установить PFX из оболочки интерактивной сессии.

Так может кто-нибудь сказать мне, как установить сертификат PFX в личное хранилище сертификатов учетной записи NetworkService?

Вам нужно открыть хранилище сертификатов Network Service и добавить его.

Чтобы открыть хранилище:

  • Из меню Пуск | Выполнить: mmc.exe
  • Файл | Добавить/Удалить оснастки и выберите Сертификаты, затем Добавить.
  • Когда вас спросят о типе учетной записи, выберите Учетную запись службы
  • Выберите локальный/удаленный компьютер, в зависимости от необходимости
  • Выберите любую службу, которая работает как Network Service (“Удалённый вызов процедур (RPC)” работает как Network Service по умолчанию)
  • Завершите мастер и нажмите ОК, чтобы закрыть диалоговое окно добавления/удаления.
  • В соответствующей категории щелкните правой кнопкой мыши и выберите добавить задачи, чтобы найти операции импорта и т.д.

Вышеупомянутая принятая ответ не сработала для меня. Но использование утилиты psexec от Microsoft/sysinternals решило мою проблему.

  1. Скачайте psexec. https://docs.microsoft.com/en-us/sysinternals/downloads/pstools

  2. Откройте новую консоль с помощью psexec, которая будет работать как NETWORK SERVICE:

    .\PsExec64.exe -i -u “nt authority\network service” powershell

  3. Запустите mmc

  4. Добавьте оснастку для сертификата и используйте сертификаты из “Моя учетная запись пользователя”

  5. Сделайте всё, что хотите с личными сертификатами для этой учетной записи

Теперь все личные сертификаты должны быть видны для NETWORK SERVICE. Это каким-то образом не те же сертификаты, которые я получил, выполняя принятый ответ на службу, которая работала как NETWORK SERVICE.

Это было необходимо для меня, чтобы запустить инструмент mage.exe, который испытывал трудности с подписыванием кода под учетной записью NETWORK SERVICE, так как он использует только личные сертификаты.

Ответ или решение

Установка сертификата из файла PFX в личный контейнер NT-AUTHORITY\NetworkService

Установка сертификата из файлового формата PFX в личный контейнер учетной записи NT-AUTHORITY\NetworkService может быть сложной задачей, особенно если вы работаете с автоматизированными процессами сборки, такими как TFS 2010. Ниже приведена подробная инструкция по выполнению этой операции.

1. Подготовка

Перед началом убедитесь, что у вас есть доступ к файлу PFX, а также необходимые привилегии для выполнения операций с сертификатами. Возможно, вам понадобятся дополнительные утилиты, такие как PsExec, для выполнения команд от имени учетной записи NetworkService.

2. Установка утилиты PsExec

  1. Скачайте PsExec: Перейдите на официальный сайт Sysinternals и загрузите пакет PsTools.
  2. Распакуйте файл: Извлеките содержимое архива в удобное для вас место на диске.

3. Запуск PowerShell от имени NetworkService

Откройте командную строку и выполните следующую команду для запуска PowerShell в контексте учетной записи NetworkService:

.\PsExec64.exe -i -u "nt authority\network service" powershell

4. Использование MMC для работы с сертификатами

  1. Запустите MMC: В открывшемся окне PowerShell введите команду следующую команду для запуска Microsoft Management Console:
mmc
  1. Добавьте оснастку сертификатов:

    • В меню MMC выберите ФайлДобавить или удалить оснастку….
    • Найдите Сертификаты и добавьте его.
    • При выборе типа учетной записи выберите Учетная запись службы.
    • Убедитесь, что вы выбираете Локальный компьютер, а затем выберите Службу, работающую под учетной записью NetworkService (например, Удаленный вызов процедур (RPC), который по умолчанию работает от этой учетной записи).
  2. Импортируйте PFX файл:

    • После добавления оснастки расширьте раздел Личные.
    • Щелкните правой кнопкой в области Персональные сертификаты, выберите Все задачи и затем Импорт.
    • Пройдите через мастер импорта, указав путь к вашему PFX файлу и введите пароль при необходимости.

5. Завершение работы

После успешного импорта сертификата вы можете закрыть MMC, сохранив изменения при запросе.

Заключение

Следуя данным шагам, вы сможете установить сертификат из PFX файла в личный контейнер учетной записи NT-AUTHORITY\NetworkService. Это необходимо для успешного выполнения операций, таких как подписание кода, когда вы используете инструменты, такие как mage.exe.

Если у вас возникнут дополнительные вопросы или потребуется помощь, пожалуйста, не стесняйтесь обращаться за поддержкой.

Оцените материал
Добавить комментарий

Капча загружается...