Общие сведения об администрировании компонентов КриптоПро DSS
Администрирование осуществляется через консоль PowerShell с помощью командлетов, входящих в состав PowerShell-модуля каждого из компонентов. В общем случае объекты администрирования поддерживают следующий набор действий:
- Создать объект (Add-, New-);
- Изменить параметры объекта (Set-, Update-);
- Получить параметры объекта (Get-*);
- Удалить объект (Remove-*).
Часть объектов поддерживают дополнительные действия, такие как: включить/отключить (Enable-, Disable-),
копировать (Copy-), протестировать (Test-). Имена командлетов имеют следующую структуру: <Verb>
-<Name>
,
где
<Verb>
– имя действия, выполняемого над объектом администрирования. Например: Add, Get, Update и т.д.;<Name>
– имя объекта администрирования.
Список командлетов, входящих в состав PowerShell-модуля каждого из компонентов КриптоПро DSS, можно получить, выполнив команду:
Get-Command -Module CryptoPro.DSS.PowerShell.<Компонент> -CommandType Cmdlet
PowerShell-модули компонентов КриптоПро DSS приведены ниже.
Компонент | Имя модуля |
---|---|
Центр Идентификации | CryptoPro.DSS.PowerShell.STS |
Сервис Подписи | CryptoPro.DSS.PowerShell.SignServer |
Веб-интерфейс Пользователя | CryptoPro.DSS.PowerShell.Frontend |
Сервис Аудита | CryptoPro.DSS.PowerShell.Analytics |
Модуль аутентификации myDSS | CryptoPro.DSS.PowerShell.MyDSSInternal, CryptoPro.DSS.PowerShell.MyDSSExternal |
Для получения справки по каждому из командлетов выполните команду
Get-help <имя_командлета>
Например:
Get-Help Set-DSSStsProperties
или
Get-Help Set-DSSStsProperties –Full
Конвейер
Командлеты, входящие в состав Powershell-модулей DSS, поддерживают работу через конвейер (pipeline). Все командлеты Get- возвращают объекты. Полученные объекты могут быть через конвейер направлены в командлеты select, where, foreach, format-list, format-table и т.д.
Ниже приведены примеры работы с командлетами DSS через конвейер.
- Проверка доступности криптопровайдеров
Get-DssCryptoProvider | Test-DssCryptoProvider
- Добавление идентификатора проверяющей стороны
$identities = (Get-DssRelyingPartyTrust -Id 2).Identities
$identities.Add("https://newhostname/frontend")
Set-DssRelyingPartyTrust -Id 2 -Identities $identities
- Добавление новой службы TSP
$newTSP = New-Object -TypeName CryptoPro.DSS.Common.Service.TspService
$newTSP.Name = "New TSP Service Name"
$newTSP.Title = "New TSP Service Title"
$newTSP.Url = "http://hostname/tspNew/tsp.srf"
$tspList = (Get-DssProperties).TSPList
$tspList.Add($newTSP)
Set-DssProperties -TSPList $tspList
- Просмотр отдельных свойств объектов:
Просмотр свойств криптопровайдеров
Get-DssCryptoProvider | select -ExpandProperty Settings
Просмотр свойств модуля оповещения
Get-DssStsNotifier -NotifierID 1 | select -ExpandProperty TransportPlugin
- Форматирование вывода в виде списка
Get-DssFeWSFederationSettings | format-list
- Форматирование вывода в виде таблицы
Get-DssFeWSFederationSettings | format-table
- Получение свойств (получение имени Мастер-ключа у объекта криптопровайдера)
(Get-DssCryptoProvider –ID <prov_ID>) .Settings[ [CryptoPro.DSS.Common.Cryptography.Enums.CryptoProviderParam]::MasterKeyName]
- Изменение сертификата Оператора
$cert = Get-Item Cert:\LocalMachine\TrustedPeople\0A5193D4C … CA4437063
Set-DssIdentityOperator -IssuerName realsts -Login adminGost -Certificate $cert
- Поиск модуля оповещения заданного типа
Get-DssStsNotifier | where { $_.Type -eq "Audit" }
- Выбор шаблонов сообщений заданного типа
Get-DssStsFormatterTemplate | where { $_.Destination -eq "MyDssAuth" }
- Получение кодов событий
(Get-DssSignServerEvent) | foreach { Write-host $_.EventType " ("([int]$_.EventType)") - " $_.Id }
- Вывод информации об ошибке
$error[0].Exception
$error[0].Exception.InnerException