Статус: Участник
  Группы: Участники
 Зарегистрирован: 25.06.2024(UTC) Сообщений: 25
  Сказал(а) «Спасибо»: 4 раз
  
	 
	
     | 
    
        
            
		      
                Добрый день. Столкнулся со следующей проблемой: после смены промежуточного сертификата не удается создать запрос на перевыпуск сертификата Веб сервера/администратора, как на самом ЦС, так и на РА.
  Лог событий:
   $Config = 'localhost\Организация' $Value = 'localhost\Организация' $KeyContainerName = '39406ddf-bbde-484a-9966-05670df2808c' $ProviderType = '80' $ProviderName = 'Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider' $KeyLength = '512' $HashAlgorithm = '1.2.643.7.1.1.2.2' $CertTemplate = '1.2.643.2.2.46.0.4' $WebSite = '1' $HttpsPort = '443'
  function GetCAInfo  {     param($Config, $ClientCredentials)
      $pairs = $Config -split '\\'     if($pairs.length -ne 2)     {         $pairs = $Config -split '#'     }
      if($pairs.length -ne 2)     {         throw ('Не удается выделить имя ЦС для строки подключения:' + $Config)     }
      $authHost = $pairs[0]     $authName = $pairs[1]              [CryptoPro.PkiClient.AssemblyResolver]::Load('CertificateService.Client') > $null;     if($ClientCredentials -ne $null)     {         $submit = (new-object CertificateService.Client.WcfCaClientProvider ($authHost, $ClientCredentials)).CreateCertRequest()     }     else     {         $submit = (new-object CertificateService.Client.DcomCaClientProvider ($authHost)).CreateCertRequest()     }
      $caInfo = $submit.GetCAInfo($authName)     return $caInfo }
  function Prompt  {     param([scriptblock]$WouldPromtDelegate, $PromptMessage, $ErrorMessage, [switch]$ShouldSkip = $True, [switch]$ShouldRetry = $True)
      $p = New-Module -AsCustomObject -ScriptBlock {         $Caption = 'Предупреждение'         $Message = "Внимание! $PromptMessage. Прервать выполнение мастера?"
          [System.Management.Automation.Host.ChoiceDescription[]] $Choices = @()         $Abort = $null         $Skip = $null         $Retry = $null         $Default = $null                function Prompt() {                 return $Host.UI.PromptForChoice($Caption,$Message,$Choices,$Default)         }
          Export-ModuleMember -Variable * -Function * -Verbose:$false     }
      $AbortDescription = New-Object System.Management.Automation.Host.ChoiceDescription '&Abort - &Прервать','Прервать выполнение мастера.'     $RetryDescription = New-Object System.Management.Automation.Host.ChoiceDescription '&Retry - &Повторить','Повторно проверить.'     $SkipDescription = New-Object System.Management.Automation.Host.ChoiceDescription '&Skip - &Пропустить','Попробовать продолжить выполнение мастера.'
      $p.Choices +=  $AbortDescription     if($ShouldRetry) {         $p.Choices += $RetryDescription     }
      if($ShouldSkip -eq $True) {         $p.Choices += $SkipDescription     }
      $p.Abort = $p.Choices.IndexOf($AbortDescription)     if($ShouldRetry) {         $p.Retry = $p.Choices.IndexOf($RetryDescription)     }     else {         $p.Retry = $null     }
      if($ShouldSkip -eq $True) {         $p.Skip = $p.Choices.IndexOf($SkipDescription)     }     else {         $p.Skip = $null     }      
      $p.Default = $p.Abort
      $keepTrying = $true     while ($keepTrying -eq $true) {              $p.Message = "Внимание! $PromptMessage. Прервать выполнение мастера?"         try {                     $keepTrying = Invoke-Command -Scriptblock $WouldPromtDelegate         }         catch {             $p.Message = "Внимание! $ErrorMessage. Прервать выполнение мастера?"         }                      if ($keepTrying -eq $true) {             $answer = $p.Prompt()             switch ($answer) {                 $p.Abort { Write-Verbose -message 'Выполнение мастера прервано пользователем.'; exit }                 $p.Retry { continue }                 $p.Skip { $keepTrying = $false }             }         }     } }
  function ValidateKeyAcquired  {     param($Config, $ClientCredentials)
      $isCaSignCertKeyAquired = {          return (GetCAInfo -Config $Config -ClientCredentials $ClientCredentials).CAState -eq 0     }
      Prompt `         -WouldPromtDelegate $isCaSignCertKeyAquired `         -PromptMessage 'Сертификат не может быть изготовлен - ни один из ключей подписи центра сертификации в данный момент не загружен.' `         -ErrorMessage 'Сертификат не может быть изготовлен - Центр Сертификации недоступен' }
  function GetReverseX509DectinguishedName  {     param($Xdn)     return New-Object System.Security.Cryptography.X509Certificates.X500DistinguishedName($xdn.Name, 0) }
  function CreateDistinguishedName  {     param(         $Name,         $Attrs)
      $dn = New-Object -TypeName 'CryptoPro.CertEncode.DistinguishedName' -ArgumentList $Name, $false -Property $Attrs     return $dn.Xdn }
  ValidateKeyAcquired -Config $Config $CASubjectName = ( Get-Item -Path 'CA:\Организация').SubjectName $WebCertSubjectName =  GetReverseX509DectinguishedName -Xdn $CASubjectName $WebProfile =  CreateDistinguishedName -Name $WebCertSubjectName -Attrs @{'CommonName' = 'Веб-сервер'; 'DnsName' = @('ca'); } Set-Variable -Name 'WebCertReqConfig' -Value $Value $WebRawRequest =  New-PkiRequest -MachineKeySet -KeyContainerName $KeyContainerName -ProviderType $ProviderType -ProviderName $ProviderName -KeyLength $KeyLength -HashAlgorithm $HashAlgorithm -CertTemplate $CertTemplate -ExistingKey:$False -Silent:$False -PromptForMedia -AlwaysSetPin $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 } if(($RawResponse -ne $null) -and (($RawResponse -is [int]) -eq $False)) { ConvertTo-PkiContainer -RawResponse $RawResponse -MachineKeySet -KeyContainerName $KeyContainerName -ProviderType $ProviderType -ProviderName $ProviderName |  Write-Debug } $EnabledCertPath = $null if($WebCertPath -ne $null) { Start-Sleep -Seconds '5' $EnabledCertPath =  Enable-PkiServer -CertPath $WebCertPath -WebSite $WebSite -HttpsPort $HttpsPort -PassThru }
  В Управление ключами загружен новый сертификат администратора ЦС.
 
 
  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Участник
  Группы: Участники
 Зарегистрирован: 25.06.2024(UTC) Сообщений: 25
  Сказал(а) «Спасибо»: 4 раз
  
	 
	
     | 
    
        
            
		      
                Запросы формирую через Диспетчер УЦ. 
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Сотрудник
  Группы: Участники
 Зарегистрирован: 17.08.2015(UTC) Сообщений: 3,330   Откуда: Калининград Сказал «Спасибо»: 40 раз Поблагодарили: 587 раз в 563 постах
  
	 
	
     | 
    
        
            
		      
                Здравствуйте.
  А какая ошибка?    | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
	                           
	
    
        Быстрый переход
         
	
    
    Вы не можете создавать новые темы в этом форуме.
	
	Вы не можете отвечать в этом форуме.
	
	Вы не можете удалять Ваши сообщения в этом форуме.
	
	Вы не можете редактировать Ваши сообщения в этом форуме.
	
	Вы не можете создавать опросы в этом форуме.
	
	Вы не можете голосовать в этом форуме.
	
	
    
    
        Important Information:
        The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close