Здравствуйте! Ошибка добавления центра сертификации. Прошу помочь в решении проблемы
$SqlInstance = '.\CPCC'
$SqlDatabaseName = 'CertificateService.Database'
$WebSite = '1'
$AuthSubject = 'CN=Пробный Корневой ЦР, O=ООО Пробный Корневой УЦ, STREET=ул. Сущевский вал д. 18, L=Москва, S=г. Москва, C=RU, ИНН=007717107991, ОГРН=1037700085444'
$ProviderType = '75'
$ProviderName = 'Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider'
$HashAlgorithm = '1.2.643.2.2.9'
$RAHostName = 'cpqualcalab'
$AuthPersonSubject = 'CN=Иванов Иван Иванович'
$Account = 'администратор'
$Password = '**********'
$IncludeAuthPersonNameInSan = '0'
$TemplateXml = '<?xml version="1.0" encoding="utf-16"?>
<Pki xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://cryptopro.ru/pki/2010/10/policy">
<Templates>
<Template MinorRevision="0" SchemaVersion="0">
<General-Enrollment-IsRootCA>true</General-Enrollment-IsRootCA>
<CriticalExtension>2.5.29.15</CriticalExtension>
<ValidityPeriod UnitType="Years" Value="1000" />
<KeyUsage Value="DigitalSignature KeyCertSign CrlSign" />
<CertPurpose>
<Value>1.2.643.100.113.1</Value>
<Value>1.2.643.100.113.2</Value>
<Value>2.5.29.32.0</Value>
</CertPurpose>
<Extension-CrlDistributionPoints />
<Extension-AuthorityInfoAccess />
<PkiCertificateApplicationPolicy>false</PkiCertificateApplicationPolicy>
<Extension-PkiCertificateTemplate>false</Extension-PkiCertificateTemplate>
<Extension-IssuerSignTool>
<SignTool>КриптоПро CSP (версия 3.9)</SignTool>
<CATool>КриптоПро УЦ версии 2.0</CATool>
<SignToolCert>Сертификат соответствия № СФ/111 от 01.01.01</SignToolCert>
<CAToolCert>Сертификат соответствия № СФ/222 от 01.01.01</CAToolCert>
</Extension-IssuerSignTool>
</Template>
</Templates>
<Rdns />
<Strings />
</Pki>'
$RenewalValidityPeriod = 'Years'
$RenewalValidityPeriodUnits = '1'
$KeyContainerName = '1bb2a1d1-1e76-423e-92b1-1f31f9120b19'
$KeyLength = '512'
$TemplateId = '1.2.643.2.2.46.0.0'
$Password1 = '**********'
$Password2 = '**********'
$Value = 'localhost\Пробный Корневой ЦР'
$KeyContainerName1 = '7ffbfaf0-62f4-4f39-b593-2b5f432b5273'
$CertTemplate = '1.2.643.2.2.46.0.4'
$HttpsPort = '443'
$Name = 'Пробный ЦР'
$HostName = 'cpqualcalab'
$Account1 = 'Пробный ЦР'
$Password3 = '**********'
$Description = 'Центр регистрации Пробный ЦР'
$Config = 'localhost\Пробный Корневой ЦР'
$InFile = 'C:\PerfLogs\Запрос на клиентский сертификат Центра Регистрации.req'
$Password4 = '**********'
function GetAuthorityAttribute
{
param(
[parameter(Mandatory=$true)]$Authority,
[parameter(Mandatory=$true)]$Attribute
)
if ($Authority.PSObject.Properties[$Attribute])
{
return ($Authority.$Attribute)
}
else
{
Write-Error -Message "Не найден атрибут $Attribute у объекта $Authority"
}
}
function GetCertAdminClient
{
$ca = Get-Item CA:/
$cawcf = $ca.CAWcfPath
if($cawcf -eq $null)
{
$cawcf = 'CA'
}
$baseRemoteAddress = ('http://localhost/' + $cawcf)
[CryptoPro.PkiClient.AssemblyResolver]::Load('CertificateService.Client') > $null;
$certadmin = (new-object CertificateService.Client.WcfCaClientProvider -ArgumentList @($baseRemoteAddress)).CreateCertAdminClient()
return $certadmin
}
function ConfigureCdpAia
{
param(
$CAName,
$RAHostName,
[switch]$RAHasCDP,
[switch]$RAHasAIA)
if ($RAHasCDP -or $RAHasAIA)
{
Write-Progress 'ConfigureCdpAia' 'Настройка точек публикации CRL и сертификатов ЦС' -CurrentOperation $baseRemoteAddress
$certadmin = GetCertAdminClient
if ($RAHasCDP) {
$e = $certadmin.GetConfigEntry($CAName, 'CRLPublicationURLs', '')
$e.EntryType = 'StringList'
$e.StringListValue = [string[]]($e.StringListValue + ('6:http://' + $RAHostName + '/cdp/%17%9.crl'))
$certadmin.SetConfigEntry($CAName, 'CRLPublicationURLs', $e, '')
}
if ($RAHasAIA) {
$e = $certadmin.GetConfigEntry($CAName, 'CACertPublicationURLs', '')
$e.EntryType = 'StringList'
$e.StringListValue = [string[]]($e.StringListValue + ('2:http://' + $RAHostName + '/aia/%17.crt'))
$certadmin.SetConfigEntry($CAName, 'CACertPublicationURLs', $e, '')
}
$certadmin.ServerControl($CAName, 'ApplyConfiguredSettings')
$certadmin.Dispose()
}
}
function GetPSPath
{
param(
[parameter(Mandatory=$true)]$PSObject,
[parameter(Mandatory=$false)]$MemberName
)
return ($PSObject.PSPath + '\' + $MemberName)
}
function ConfigCaIncludeAuthPersonNameInSan
{
param($CA, $IncludeAuthPersonNameInSan)
Write-Progress 'IncludeAuthPersonNameInSan' 'Запись настройки ЦС (включение имени адм. ЦС в SAN)' -CurrentOperation $baseRemoteAddress
$certadmin = GetCertAdminClient
$entry = $certadmin.GetConfigEntry($CA.Name, 'IncludeAuthPersonNameInSan', '')
$entry.EntryType = 'Numeric'
$entry.NumericValue = $IncludeAuthPersonNameInSan
$certadmin.SetConfigEntry($ca.Name, 'IncludeAuthPersonNameInSan', $entry, '')
$certadmin.ServerControl($ca.Name, 'ApplyConfiguredSettings')
$certadmin.Dispose()
Write-Verbose -message 'Запись настройки ЦС (включение имени адм. ЦС в SAN) успешно завершена.'
}
function ConfigRenewallExtensionsTemplate
{
param($Path,$TemplateXml)
Write-Progress 'RenewallExtensions' 'Запись настроек расширений' -CurrentOperation $baseRemoteAddress
$certadmin = GetCertAdminClient
$ca = Get-Item $Path
$entry = $certadmin.GetConfigEntry($ca.Name, 'RenewallExtensions', '')
$entry.EntryType = 'String'
$entry.StringValue = $TemplateXml
$certadmin.SetConfigEntry($ca.Name, 'RenewallExtensions', $entry, '')
$certadmin.ServerControl($ca.Name, 'ApplyConfiguredSettings')
$certadmin.Dispose()
Write-Verbose -message 'Запись настроек расширений успешно завершена.'
}
function ConfigCaRenewalValidityPeriod
{
param($Path, $Period, $PeriodUnits)
Write-Progress 'RenewalValidityPeriod' 'Запись настроек срока действия ключа ЦС' -CurrentOperation $baseRemoteAddress
$certadmin = GetCertAdminClient
$ca = Get-Item $Path
$entry = $certadmin.GetConfigEntry($ca.Name, 'RenewalValidityPeriod', '')
$entry.EntryType = 'String'
$entry.StringValue = $Period
$certadmin.SetConfigEntry($ca.Name, 'RenewalValidityPeriod', $entry, '')
$entry = $certadmin.GetConfigEntry($ca.Name, 'RenewalValidityPeriodUnits', '')
$entry.EntryType = 'Numeric'
$entry.NumericValue = $PeriodUnits
$certadmin.SetConfigEntry($ca.Name, 'RenewalValidityPeriodUnits', $entry, '')
$certadmin.ServerControl($ca.Name, 'ApplyConfiguredSettings')
$certadmin.Dispose()
Write-Verbose -message 'Запись настроек срока действия ключа ЦС успешно завершена.'
}
function DisableAuthPersonCerts
{
param($Path)
Write-Verbose -message 'Запрет использования старых сертификатов'
$AP = get-item $Path
$CA = get-item (get-item $AP.PSParentPath).PSParentPath
if($AP.SigningCerts.Count -gt 0)
{
$certs = ($AP.SigningCerts | Sort-Object CertVersionId | Select -First ($AP.SigningCerts.Count - 1))
[CryptoPro.PkiClient.AssemblyResolver]::Load('CertificateService.Client') > $null;
$keyadminclient = [CertificateService.Client.CertKeyAdminFactory]::GetClient('localhost')
foreach($cert in $certs)
{
$keyadminclient.ControlSigningCert($CA.Name, $cert.CertVersionId, ([CryptoPro.ComTypes.SigningCertControls]::DisableCertificateIssuing))
}
}
}
function AcquireAuthPersonKey
{
param(
$Path,
$Pin,
$Password)
Write-Verbose -message 'Загрузка ключа администратора'
$AP = get-item $Path
$CA = get-item (get-item $AP.PSParentPath).PSParentPath
Start-Sleep -Seconds 4
[CryptoPro.PkiClient.AssemblyResolver]::Load('CertificateService.Client') > $null;
$keyadminclient = [CertificateService.Client.CertKeyAdminFactory]::GetClient('localhost', $AP.Account, $Password)
# $CertVersionId = ($ap.SigningCerts[$ap.SigningCerts.Count-1]).CertVersionId # $ap.SigningCerts is not updated afrer New-CACertificate:(
$CertVersionId = $keyadminclient.GetSigningCertCount($CA.Name) - 1
$params = @($CA.Name, $CertVersionId, $Pin, ([CryptoPro.ComTypes.AuthorityKeyUsage]::Certificate -bor [CryptoPro.ComTypes.AuthorityKeyUsage]::Crl))
#$keyadminclient.GetType().GetMethod('AcquirePrivateKey').Invoke($keyadminclient, $params)
[System.__ComObject].InvokeMember('AcquirePrivateKey',[System.Reflection.BindingFlags]::InvokeMethod,$null,$keyadminclient,$params)
}
function GetAuthPersonSignCertByX509Cert
{
param(
$Path,
$Certificate)
Write-Verbose -message 'Предоставление сертификата подписи администратора'
$AP = get-item $Path
$AP.SigningCerts | foreach {
if ($_.SstCertificate.X509Certificate.Thumbprint -eq $Certificate.Thumbprint) {
return $_ }
}
}
Install-CA -SqlInstance $SqlInstance -SqlDatabaseName $SqlDatabaseName -WebSite $WebSite -KeepDatabase:$False
Start-Sleep -Seconds '4'
$CADrive =
Get-Item -Path 'CA:\'
$CA =
New-Item -Path 'CA:\' -Subordinate:$False -Subject $AuthSubject -ProviderType $ProviderType -ProviderName $ProviderName -HashAlgorithm $HashAlgorithm -Verbose
$CAName =
GetAuthorityAttribute -Authority $CA -Attribute 'Name'
ConfigureCdpAia -CAName $CAName -RAHostName $RAHostName -RAHasCDP -RAHasAIA
$AuthPersonPath =
GetPSPath -PSObject $CA -MemberName 'AuthPerson'
$AuthPerson =
New-Item -Path $AuthPersonPath -Subject $AuthPersonSubject -Account $Account -Password $Password
ConfigCaIncludeAuthPersonNameInSan -CA $CA -IncludeAuthPersonNameInSan $IncludeAuthPersonNameInSan
$authPSPath =
GetPSPath -PSObject $CA
ConfigRenewallExtensionsTemplate -Path $authPSPath -TemplateXml $TemplateXml
$authPSPath =
GetPSPath -PSObject $CA
ConfigCaRenewalValidityPeriod -Path $authPSPath -Period $RenewalValidityPeriod -PeriodUnits $RenewalValidityPeriodUnits
$AuthPersonPath =
GetPSPath -PSObject $AuthPerson
$AuthPersonX509Certificate = (
New-CACertificate -Path $AuthPersonPath -KeyContainerName $KeyContainerName -KeyLength $KeyLength -TemplateId $TemplateId -Password $Password1 -ExistingKey:$False -DeleteExistingRequest -Binary -PromptForMedia -PassThruCertReq -Offline:$False -Verbose)
if($AuthPersonX509Certificate -eq $null)
{
Write-Verbose -message 'Не удалось изготовить сертификат.'
}
else
{
if($AuthPersonX509Certificate.GetType().Name -eq 'X509Certificate2')
{
Write-Verbose -message 'Сертификат изготовлен!'
}
else
{
if(($AuthPersonX509Certificate -ne $null) -and (($AuthPersonX509Certificate -is [int]) -eq $False))
{
Write-Verbose -message 'Запрос на сертификат отправлен на вышестоящий ЦС'
}
else
{
Write-Warning -message 'Не удалось изготовить сертификат. На следующем шаге будет предложено сохранить файл запроса.'
}
}
}
if($AuthPersonX509Certificate -ne $null -and $AuthPersonX509Certificate.GetType().Name -eq 'X509Certificate2')
{
DisableAuthPersonCerts -Path $AuthPersonPath
}
if($AuthPersonX509Certificate -ne $null -and $AuthPersonX509Certificate.GetType().Name -eq 'X509Certificate2')
{
AcquireAuthPersonKey -Path $AuthPersonPath -Password $Password2
}
if($SigningCert -eq $null -and $AuthPersonX509Certificate -ne $null -and $AuthPersonX509Certificate.GetType().Name -eq 'X509Certificate2')
{
$SigningCert =
GetAuthPersonSignCertByX509Cert -Path $AuthPersonPath -Certificate $AuthPersonX509Certificate
}
$WebProfile =
New-Object -TypeName 'CryptoPro.CertEncode.DistinguishedName' -ArgumentList $CA.SubjectName -Property @{'CommonName' = 'Веб-сервер'; 'DnsName' = @('WIN-T0NICCO56PG'); } |
Select-Object -ExpandProperty 'Xdn'
Set-Variable -Name 'WebCertReqConfig' -Value $Value
$WebRawRequest =
New-PkiRequest -MachineKeySet -KeyContainerName $KeyContainerName1 -ProviderType $ProviderType -ProviderName $ProviderName -KeyLength $KeyLength -HashAlgorithm $HashAlgorithm -CertTemplate $CertTemplate -ExistingKey:$False -Silent:$False -PromptForMedia
$RawResponse =
Send-PkiRequest -RawRequest $WebRawRequest -Config $WebCertReqConfig -ProfileName $WebProfile |
Receive-PkiResponse -Config $WebCertReqConfig
$WebCertPath = $null
if(($RawResponse -ne $null) -and (($RawResponse -is [int]) -eq $False))
{
$WebCertPath =
Install-PkiResponse -RawResponse $RawResponse -MachineKeySet
Start-Sleep -Seconds '5'
}
$WebX509Certificate = $null
if($WebCertPath -ne $null)
{
$WebX509Certificate =
Get-Item -Path $WebCertPath
}
$EnabledCertPath = $null
if($WebCertPath -ne $null)
{
Start-Sleep -Seconds '5'
$EnabledCertPath =
Enable-PkiServer -CertPath $WebCertPath -WebSite $WebSite -HttpsPort $HttpsPort -PassThru
}
$RegAuthPath =
GetPSPath -PSObject $CA -MemberName 'RegAuthority'
$RegAuth =
New-Item -Path $RegAuthPath -Name $Name -HostName $HostName -ProfileName $CA.SubjectName -Account $Account1 -Password $Password3 -Description $Description -Register -Verbose -Force
$RegAuthRawResponse =
Send-PkiRequest -Config $Config -InFile $InFile -ProfileName $RegAuth.ProfileName -CheckExisting |
Receive-PkiResponse -Config $Config
$RegAuthX509Certificate = $null
if(($RegAuthRawResponse -ne $null) -and (($RegAuthRawResponse -is [int]) -eq $False))
{
$RegAuthX509Certificate =
Get-PkiResponseCertificate -RawResponse $RegAuthRawResponse
}
$RegAuthX509CertificateMapped = $null
$X509CertPath =
GetPSPath -PSObject $RegAuth -MemberName 'Certificate'
if($RegAuthX509Certificate -ne $null)
{
$RegAuthX509CertificateMapped =
New-Item -Path $X509CertPath -Certificate $RegAuthX509Certificate -Password $Password4
Start-Sleep -Seconds '5'
}
ПОДРОБНО: Строка соединения: Data Source=.\CPCC;Integrated Security=True;Pooling=True;MultipleActiveResultSets=True
ПОДРОБНО: Выполнена операция "Запись строки соединения в Machine.config" для объекта "Machine.config"
ПОДРОБНО: CryptoPro.DbMigrator Information: 0 : Экземпляр SQL Server: .\CPCC. Целевая база данных: CertificateService.Database.
ПОДРОБНО: CryptoPro.DbMigrator Verbose: 0 : Контекст базы данных изменен на "CertificateService.Database".
ПОДРОБНО: CryptoPro.DbMigrator Verbose: 0 : База данных CertificateService.Database переводится в режим SINGLE_USER...
ПОДРОБНО: CryptoPro.DbMigrator Verbose: 0 : База данных переведена в режим SINGLE_USER.
ПОДРОБНО: CryptoPro.DbMigrator Verbose: 0 : Выполняется создание резервной копии базы данных...
ПОДРОБНО: CryptoPro.DbMigrator Verbose: 0 : Имя файла резервной копии: CertificateService.Database_2018-05-04T13-57-49.943.bak
ПОДРОБНО: CryptoPro.DbMigrator Verbose: 0 : 10 проц. обработано.
ПОДРОБНО: CryptoPro.DbMigrator Verbose: 0 : 20 проц. обработано.
ПОДРОБНО: CryptoPro.DbMigrator Verbose: 0 : 30 проц. обработано.
ПОДРОБНО: CryptoPro.DbMigrator Verbose: 0 : 41 проц. обработано.
ПОДРОБНО: CryptoPro.DbMigrator Verbose: 0 : 51 проц. обработано.
ПОДРОБНО: CryptoPro.DbMigrator Verbose: 0 : 60 проц. обработано.
ПОДРОБНО: CryptoPro.DbMigrator Verbose: 0 : 70 проц. обработано.
ПОДРОБНО: CryptoPro.DbMigrator Verbose: 0 : 80 проц. обработано.
ПОДРОБНО: CryptoPro.DbMigrator Verbose: 0 : 90 проц. обработано.
ПОДРОБНО: CryptoPro.DbMigrator Verbose: 0 : Обработано 464 страниц для базы данных "CertificateService.Database", файл "CertificateService.Database" для файла 1.
ПОДРОБНО: CryptoPro.DbMigrator Verbose: 0 : 100 проц. обработано.
ПОДРОБНО: CryptoPro.DbMigrator Verbose: 0 : Обработано 2 страниц для базы данных "CertificateService.Database", файл "CertificateService.Database_log" для файла 1.
ПОДРОБНО: CryptoPro.DbMigrator Verbose: 0 : BACKUP DATABASE успешно обработал 466 страниц за 0.662 секунд (5.499 MБ/сек).
ПОДРОБНО: CryptoPro.DbMigrator Verbose: 0 : Резервная копия базы данных успешно создана.
ПОДРОБНО: CryptoPro.DbMigrator Verbose: 0 : Контекст базы данных изменен на "master".
ПОДРОБНО: CryptoPro.DbMigrator Information: 0 : Создание новой базы данных...
ПОДРОБНО: CryptoPro.DbMigrator Verbose: 0 : Контекст базы данных изменен на "CertificateService.Database".
ПОДРОБНО: CryptoPro.DbMigrator Information: 0 : Выполнено создание новой базы данных, версия 24.
ПОДРОБНО: CryptoPro.DbMigrator Information: 0 : Текущая версия базы данных 24, выполняется проверка наличия обновлений базы данных...
ПОДРОБНО: CryptoPro.DbMigrator Information: 0 : Обновлений не найдено.
ПОДРОБНО: CryptoPro.DbMigrator Information: 0 : Выполнение завершающего скрипта...
ПОДРОБНО: CryptoPro.DbMigrator Information: 0 : Завершающий скрипт выполнен.
ПОДРОБНО: CryptoPro.DbMigrator Verbose: 0 : База данных переведена в режим MULTI_USER.
ПОДРОБНО: CryptoPro.DbMigrator Information: 0 : Работы над целевой базой данных CertificateService.Database успешно выполнены. Прошедшее время 00:00:12.626.
ПОДРОБНО: Выполнена операция "Разворачивание базы данных службы сертификатов" для объекта "CertificateService.Database"
ПОДРОБНО: Выполнена операция "Инициализация центра cертификации" для объекта "CertificateService.Database"
ПОДРОБНО: Выполнена операция "Установка политики инфраструктуры открытых ключей по умолчанию" для объекта "CertificateService.Database"
ПОДРОБНО: Выполнена операция "Регистрация библиотеки типов:" для объекта "CertificateService.ComTypes.Microsoft.tlb"
ПОДРОБНО: Выполнена операция "Регистрация сборки" для объекта "CryptoPro.ComTypes.dll"
ПОДРОБНО: Выполнена операция "Регистрация сборки" для объекта "CertificateService.KeySrv.dll"
ПОДРОБНО: Выполнена операция "Регистрация сборки" для объекта "CertificateService.CertSrv.dll"
ПОДРОБНО: Выполнена операция "Регистрация приложения COM+" для объекта "CertificateService.KeySrv.dll"
ПОДРОБНО: Выполнена операция "Регистрация службы Windows для приложения COM+" для объекта "KeySrv"
ПОДРОБНО: Выполнена операция "Регистрация приложения COM+" для объекта "CertificateService.CertSrv.dll"
ПОДРОБНО: Выполнена операция "Регистрация службы Windows для приложения COM+" для объекта "CertSvc"
ПОДРОБНО: Выполнена операция "Настройка прав доступа для папок веб-каталога" для объекта "C:\Program Files\Crypto Pro\CC2\CA"
ПОДРОБНО: Выполнена операция "Регистрация пула веб-приложения" для объекта "CAAppPool"
ПОДРОБНО: Выполнена операция "Регистрация веб-приложения" для объекта "CA"
ПОДРОБНО: Выполнена операция "Регистрация параметров файла (проверка подлинности с сопоставлением сертификата клиента TLS)" для объекта "CA/CertRequestService.svc"
ПОДРОБНО: Выполнена операция "Запись состояния установки службы сертификатов в реестр" для объекта "CA"
ПОДРОБНО: Выполнение операции "Создание центра сертификации в базе данных" над целевым объектом "Пробный Корневой ЦР".
ПОДРОБНО: Выполнение операции "Регистрация центра сертификации в файле certsrv.txt" над целевым объектом "Пробный Корневой ЦР".
ПОДРОБНО: Пропущена операция "Создание локальной учетной записи" над целевым объектом "администратор", учетная запись уже существует.
ПОДРОБНО: Запись настройки ЦС (включение имени адм. ЦС в SAN) успешно завершена.
ПОДРОБНО: Запись настроек расширений успешно завершена.
ПОДРОБНО: Запись настроек срока действия ключа ЦС успешно завершена.
ПОДРОБНО: Выполнение операции "Создание сертификата центра сертификации" над целевым объектом "Пробный Корневой ЦР".
ОШИБКА: Ошибка исполнения функции.
System.Management.Automation.CmdletInvocationException: Ошибка исполнения функции.
---> System.Security.Cryptography.CryptographicException: Ошибка исполнения функции.
Server stack trace:
в CryptoPro.CertEncode.PkiObjectSigner.SignData(Byte[] content)
в CryptoPro.CertEncode.PkiObjectSigner.AcquirePrivateKey(String pin)
в CertificateService.KeySrv.AdminService.SignerInfo.AcquirePrivateKeyAndCheckPubKey(PkiObjectSigner signer, String pin)
в CertificateService.KeySrv.AdminService.AcquirePrivateKey(Int32 keyId, String pin)
в CertificateService.KeySrv.KeySrvAdmin.AcquirePrivateKey(Int32 keyId, String pin)
в CertificateService.KeySrv.IKeySrvAdmin.AcquirePrivateKey(Int32 keyId, String pin)
в System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
в System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)
Exception rethrown at [0]:
в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
в CertificateService.KeySrv.IKeySrvAdmin.AcquirePrivateKey(Int32 keyId, String pin)
в CertificateService.BusinessLogic.AcquirePrivateKeyTransaction.Run(Int32 certVersionId, String pin, AuthorityKeyUsage requiredKeyUsage, Boolean issueCertsAndPublishCrls, Boolean isAutoLoading)
в CertificateService.ServiceImplementation.CertKeyAdminService.AcquirePrivateKey(String authority, Int32 certVersionId, String pin, AuthorityKeyUsage keyPurposes)
в CertificateService.ServiceImplementation.CertSrvKeyAdmin.AcquirePrivateKey(String authority, Int32 certVersionId, String pin, AuthorityKeyUsage keyPurposes)
в CryptoPro.ComTypes.ICertKeyAdminD.AcquirePrivateKey(String authority, Int32 certVersionId, String pin, AuthorityKeyUsage keyPurposes)
в CertificateService.Commands.NewCACertificateCommand.IssueTransaction(CertScriptContext current)
в CertificateService.Commands.NewCACertificateCommand.Issue()
в CertificateService.Commands.NewCACertificateCommand.ProcessCommand()
в CertificateService.Commands.NewCACertificateCommand.EndProcessingEx()
в CryptoPro.PkiClient.PkiCmdletBase.EndProcessing()
--- Конец трассировки внутреннего стека исключений ---
в System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input)
в System.Management.Automation.PowerShell.Worker.ConstructPipelineAndDoWork(Runspace rs, Boolean performSyncInvoke)
в System.Management.Automation.PowerShell.Worker.CreateRunspaceIfNeededAndDoWork(Runspace rsToUse, Boolean isSync)
в System.Management.Automation.PowerShell.CoreInvokeHelper[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
в System.Management.Automation.PowerShell.CoreInvoke[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
в System.Management.Automation.PowerShell.CoreInvoke[TOutput](IEnumerable input, PSDataCollection`1 output, PSInvocationSettings settings)
в System.Management.Automation.PowerShell.Invoke(IEnumerable input, PSInvocationSettings settings)
в CertificateService.Wizards.ScriptRunner.Run()
в CertificateService.Wizards.FinishPage.OnSelectedPageStepIn(Object sender, WizardPageStepInEventArgs e)
HResult = -2146233087 (0x80131501)
=== InnerException #2 ===
System.Security.Cryptography.CryptographicException: Ошибка исполнения функции.
Server stack trace:
в CryptoPro.CertEncode.PkiObjectSigner.SignData(Byte[] content)
в CryptoPro.CertEncode.PkiObjectSigner.AcquirePrivateKey(String pin)
в CertificateService.KeySrv.AdminService.SignerInfo.AcquirePrivateKeyAndCheckPubKey(PkiObjectSigner signer, String pin)
в CertificateService.KeySrv.AdminService.AcquirePrivateKey(Int32 keyId, String pin)
в CertificateService.KeySrv.KeySrvAdmin.AcquirePrivateKey(Int32 keyId, String pin)
в CertificateService.KeySrv.IKeySrvAdmin.AcquirePrivateKey(Int32 keyId, String pin)
в System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
в System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)
Exception rethrown at [0]:
в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
в CertificateService.KeySrv.IKeySrvAdmin.AcquirePrivateKey(Int32 keyId, String pin)
в CertificateService.BusinessLogic.AcquirePrivateKeyTransaction.Run(Int32 certVersionId, String pin, AuthorityKeyUsage requiredKeyUsage, Boolean issueCertsAndPublishCrls, Boolean isAutoLoading)
в CertificateService.ServiceImplementation.CertKeyAdminService.AcquirePrivateKey(String authority, Int32 certVersionId, String pin, AuthorityKeyUsage keyPurposes)
в CertificateService.ServiceImplementation.CertSrvKeyAdmin.AcquirePrivateKey(String authority, Int32 certVersionId, String pin, AuthorityKeyUsage keyPurposes)
в CryptoPro.ComTypes.ICertKeyAdminD.AcquirePrivateKey(String authority, Int32 certVersionId, String pin, AuthorityKeyUsage keyPurposes)
в CertificateService.Commands.NewCACertificateCommand.IssueTransaction(CertScriptContext current)
в CertificateService.Commands.NewCACertificateCommand.Issue()
в CertificateService.Commands.NewCACertificateCommand.ProcessCommand()
в CertificateService.Commands.NewCACertificateCommand.EndProcessingEx()
в CryptoPro.PkiClient.PkiCmdletBase.EndProcessing()
HResult = -2147023269 (0x8007065B)
Ошибка исполнения функции.
Отредактировано пользователем 4 мая 2018 г. 15:09:01(UTC)
| Причина: Не указана