Имя пользователя:
Пароль:
 

Название темы: Крипто про он же csptest.exe
Показать сообщение отдельно

Аватара для YuS_2

Crazy


Contributor


Сообщения: 1235
Благодарности: 518

Профиль | Отправить PM | Цитировать


Цитата ownsmir:
В ручном режиме ни каких проблем не вызывает переименование названия ключа, все прекрасно работает. 1500 тысячи ключей вручную сидеть переименовывать то себе удовольствие. »
powershell умеет это делать, вот только выше верно говорят - данные необходимо получать, а вот в каком виде - вопрос насущный.
1. переименование файлов - самый простой вопрос.
2. Чтобы получить необходимое имя, в которое требуется переименовать файл, необходим пример ключей
А так, в общем случае:
powershell 6.0 и выше:
Код: Выделить весь код
#requires -v 6.0
$arr = dir *.p12
$arr|%{
	"Введите пароль ключа $($_.fullname)"
	$pass = read-host -assec
	$cert = get-pfxcertificate $_.fullname -pass $pass
	$hash = ($cert.subject -split ',')|convertfrom-stringdata
	$name = $hash.cn
	ren $_.fullname $($name+$cert.serialnumber+$_.extension) -whatif
}
не рекомендую запускать сразу на куче файлов, тестируйте на двух-трех-четырех...

Для powershell 2.0
Код: Выделить весь код
#requires -v 2.0
$arr = dir *.p12
$arr|%{
	"Введите пароль ключа $($_.fullname)"
	$pass = read-host -assec
	$cert = new-object system.security.cryptography.x509certificates.x509certificate2
	$cert.import(
		$_.fullname,$pass,[security.cryptography.x509certificates.x509keystorageflags]"defaultkeyset"
	)
	$hash = ($cert.subject -split ',')|convertfrom-stringdata
	$name = ($hash|?{$_.cn}).cn
	ren $_.fullname $($name+"_"+$cert.serialnumber+$_.extension) -whatif
}

-------
scio me nihil scire. Ѫ


Последний раз редактировалось YuS_2, 02-07-2019 в 18:08.

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:31, 02-07-2019 | #6

Название темы: Крипто про он же csptest.exe