Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline Анатолий Колкочев  
#1 Оставлено : 11 ноября 2019 г. 20:07:56(UTC)
TolikTipaTut1

Статус: Активный участник

Группы: Участники
Зарегистрирован: 05.07.2018(UTC)
Сообщений: 467

Сказал(а) «Спасибо»: 43 раз
Поблагодарили: 69 раз в 61 постах
Добрый вечер!

Подскажите, возможно ли извлечь сертификаты из файла подписи с использованием утилиты cryptcp ?
Offline Санчир Момолдаев  
#2 Оставлено : 12 ноября 2019 г. 9:59:13(UTC)
Санчир Момолдаев

Статус: Сотрудник

Группы: Модератор, Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 1,193
Российская Федерация

Сказал(а) «Спасибо»: 100 раз
Поблагодарили: 274 раз в 254 постах
Добрый день!
попробуйте через наш certmgr
просмотреть: certmgr -list -f signature.sig
экспортировать через ключ export
Техническую поддержку оказываем тут
Наша база знаний
Offline Анатолий Колкочев  
#3 Оставлено : 12 ноября 2019 г. 10:04:19(UTC)
TolikTipaTut1

Статус: Активный участник

Группы: Участники
Зарегистрирован: 05.07.2018(UTC)
Сообщений: 467

Сказал(а) «Спасибо»: 43 раз
Поблагодарили: 69 раз в 61 постах
Добрый день!
Попробовал через list - заработало.
Через export не работает. Никак не пойму, как подать на вход файл подписи ...

P.S. Нужно именно извлечь сертификаты из файла подписи. На powershell-e написал скрипт, но это powershell... От КриптоПро не получится никак ?

Отредактировано пользователем 12 ноября 2019 г. 10:12:51(UTC)  | Причина: Не указана

Offline Санчир Момолдаев  
#4 Оставлено : 12 ноября 2019 г. 10:28:16(UTC)
Санчир Момолдаев

Статус: Сотрудник

Группы: Модератор, Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 1,193
Российская Федерация

Сказал(а) «Спасибо»: 100 раз
Поблагодарили: 274 раз в 254 постах
гм.
экспортировать сертификат из файла подписи с помощью утилит, похоже нельзя, или я не знаю как.
можно точно сделать это программно, разобрав pkcs7 и вытащив оттуда сертификат.
Техническую поддержку оказываем тут
Наша база знаний
Offline Анатолий Колкочев  
#5 Оставлено : 12 ноября 2019 г. 10:29:34(UTC)
TolikTipaTut1

Статус: Активный участник

Группы: Участники
Зарегистрирован: 05.07.2018(UTC)
Сообщений: 467

Сказал(а) «Спасибо»: 43 раз
Поблагодарили: 69 раз в 61 постах
Да, как раз с помощью powershell этого добился...
Offline Александр Лавник  
#6 Оставлено : 12 ноября 2019 г. 10:47:24(UTC)
Александр Лавник

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 30.06.2016(UTC)
Сообщений: 3,451
Мужчина
Российская Федерация

Сказал «Спасибо»: 53 раз
Поблагодарили: 791 раз в 731 постах
Автор: Анатолий Колкочев Перейти к цитате
Да, как раз с помощью powershell этого добился...

Здравствуйте.

Поделитесь, пожалуйста, с пользователями форума как Вы этого добились.
Техническую поддержку оказываем тут
Наша база знаний
Offline Анатолий Колкочев  
#7 Оставлено : 12 ноября 2019 г. 11:06:35(UTC)
TolikTipaTut1

Статус: Активный участник

Группы: Участники
Зарегистрирован: 05.07.2018(UTC)
Сообщений: 467

Сказал(а) «Спасибо»: 43 раз
Поблагодарили: 69 раз в 61 постах
Код:
Add-Type -Path .\lib\BouncyCastle.Crypto.dll
Add-Type -AssemblyName System.Windows.Forms
$str = ""
$form = [System.Windows.Forms.Form]::new()
$form.Visible = $false
$openfiledialog = [System.Windows.Forms.OpenFileDialog]::new()
$openfiledialog.Filter = "All Signature Files | *.sig;*.sign;*.p7s | All files | *.*"
$openfiledialog.InitialDirectory = (Get-Location)
$openfiledialog.Title = "Choose digital signature"
$openfiledialog.CheckFileExists = $true
$openfiledialog.CheckPathExists = $true
$result = $openfiledialog.ShowDialog($form)
if ($result -eq [System.Windows.Forms.DialogResult]::OK)
{
	$dirPath = (Get-Location).ToString() + "\" + ($openfiledialog.FileName.ToString() | Split-Path -Leaf) + ".dir"
	$InFile = [System.IO.FileStream]::new($openfiledialog.FileName, [system.IO.FileMode]::Open)
	$SigBlock = [System.Byte[]]::new($InFile.Length)
	$InFile.Read($SigBlock, 0, $SigBlock.Length) | Out-Null
	try
	{
		$certStore = [Org.BouncyCastle.Cms.CmsSignedData]::new($SigBlock)
	}
	catch [Org.BouncyCastle.Cms.CmsException]
	{
		$SigBlock = [Org.BouncyCastle.Utilities.Encoders.Base64]::Decode($SigBlock)
		$certStore = [Org.BouncyCastle.Cms.CmsSignedData]::new($SigBlock)
	}
	[Org.BouncyCastle.X509.Store.IX509Store]$x509certs = $certStore.GetCertificates("Collection")
	[System.Collections.ArrayList]$a = [System.Collections.ArrayList]::new($x509certs.GetMatches($null))
	if ($a.Count -gt 0)
	{
		try
		{
			New-Item -ItemType Directory -Path $dirPath -ErrorAction Stop | Out-Null
		}
		catch [System.IO.IOException]
		{
			Write-Host "Directory already exists!"
		}
		for ($i = 0; $i -lt $a.Count; $i++)
		{
			[Org.BouncyCastle.X509.X509Certificate]$cert = [Org.BouncyCastle.X509.X509Certificate]$a[$i]
			$filename = $cert.SubjectDN.GetValueList([Org.BouncyCastle.Asn1.X509.X509Name]::CN) -replace '"',""
			$c = $cert.GetEncoded()
			$str = [System.Convert]::ToBase64String($c)
			Set-Content -Value ([byte[]][char[]]$str) -Path ($dirPath + "\" + $filename + ".cer") -Encoding Byte
		}
		explorer $dirPath
	}
	if ($a.Count -eq 0)
	{
		[System.Windows.Forms.MessageBox]::Show($form, "No certificates found!", "Warning!", 'OK', 'Warning')
	}
}
if ($result -ne [System.Windows.Forms.DialogResult]::OK)
{
	[System.Windows.Forms.MessageBox]::Show($form, "Aborting", "Warning!", 'OK', 'Warning')
}

Отредактировано пользователем 12 ноября 2019 г. 14:19:30(UTC)  | Причина: Не указана

Offline Анатолий Колкочев  
#8 Оставлено : 12 ноября 2019 г. 11:14:03(UTC)
TolikTipaTut1

Статус: Активный участник

Группы: Участники
Зарегистрирован: 05.07.2018(UTC)
Сообщений: 467

Сказал(а) «Спасибо»: 43 раз
Поблагодарили: 69 раз в 61 постах
script.zip (835kb) загружен 23 раз(а).

Вот рабочая версия со всеми подгружаемыми модулями.
thanks 3 пользователей поблагодарили TolikTipaTut1 за этот пост.
Захар Тихонов оставлено 12.11.2019(UTC), Санчир Момолдаев оставлено 12.11.2019(UTC), Андрей * оставлено 12.11.2019(UTC)
Online Андрей Писарев  
#9 Оставлено : 12 ноября 2019 г. 15:55:44(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,322
Мужчина
Российская Федерация

Сказал «Спасибо»: 549 раз
Поблагодарили: 2208 раз в 1723 постах
Автор: Анатолий Колкочев Перейти к цитате
Добрый вечер!

Подскажите, возможно ли извлечь сертификаты из файла подписи с использованием утилиты cryptcp ?


export.zip (220kb) загружен 39 раз(а).

утилита - просто передать ей файл с ЭП (.sig или .p7s) - извлекает в папку сертификат(ы)+показывает серийные номера.
-exportdir - экспорт сертификатов в указанную папку.


пример:
export.exe "файл подписи" -exportdir "d:\certs\"

может кому пригодится Anxious
Техническую поддержку оказываем тут
Наша база знаний
thanks 4 пользователей поблагодарили Андрей * за этот пост.
Санчир Момолдаев оставлено 12.11.2019(UTC), Захар Тихонов оставлено 12.11.2019(UTC), TolikTipaTut1 оставлено 12.11.2019(UTC), nickm оставлено 27.04.2023(UTC)
Offline Винтик  
#10 Оставлено : 12 ноября 2019 г. 18:09:21(UTC)
Винтик

Статус: Активный участник

Группы: Участники
Зарегистрирован: 20.11.2014(UTC)
Сообщений: 399

Сказал(а) «Спасибо»: 6 раз
Поблагодарили: 14 раз в 11 постах
От что значит "маньяки" :-)
Applause
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.