|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Крипто про он же csptest.exe |
|
Любой язык - Крипто про он же csptest.exe
|
Новый участник Сообщения: 46 |
Здравствуйте! Уважаемые умы!
У меня по работе очень много разных эцп, от разных УЦ. Соответственно каждый УЦ при формировании ключа, обзывает его по своему, а зачастую это выглядит вот так "iojng-er4gedfgv-454g-45g45g" и т.д. Ну в общем все ключи называются по разному, бухгалтера несчастные по пол часа ищут нужное ЭЦП для работы с компанией по отчетности. Смысл все темы таков, хочу взять все ключи на флешке (их порядка 1500) и через скрипт каждую подпись переименовать по человечески по образцу (НО информацию о ключе нужно брать из открытого ключа "Сертификата" т.к. актуальная и полная информация только там) образец "Ромашка, ООО от 13.01.2019 СКБ Контур" есть ли такая возможность? |
|
Отправлено: 11:52, 02-07-2019 |
Crazy Сообщения: 1231
|
Профиль | Отправить PM | Цитировать Цитата ownsmir:
Попробуем с помощью того же powershell script.ps1 #requires -v 3.0 $fld = "\\.\FAT12_F\*****" $tmp = cmd /c """С:\путь_к_ менеджеру_крипто_про\certmgr.exe"" -list -cont ""$fld""" $str = $tmp|?{$_ -match 'Not valid before|Subject|Issuer'}|convertfrom-string -d ' : ' $issuer = $str[0].p2 -split ','|convertfrom-stringdata $subject = $str[1].p2 -split ','|convertfrom-stringdata $date = [datetime]::parse(($str[2].p2 -replace 'UTC','GMT')) $a = ($subject.cn -replace '"')+$(" {0:dd.MM.yyyy} " -f $date)+($issuer.cn -replace '"') cmd /c "csptest.exe -keycopy -src ""$fld"" -dest ""\\.\FAT12_G\$a"" -pindest=""""" Особенно следует обратить внимание на путь к контейнеру и отрабатывание команд содержащих запуск cmd. Цитата ownsmir:
|
||
------- Последний раз редактировалось YuS_2, 05-07-2019 в 08:17. Причина: поправлено оформление кода и сам код Отправлено: 20:07, 04-07-2019 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 46
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
Не в cmd идет а приложение запускает Цитата YuS_2:
|
||
Отправлено: 20:44, 04-07-2019 | #22 |
Crazy Сообщения: 1231
|
Профиль | Отправить PM | Цитировать Цитата ownsmir:
Тогда надо вместо certmgr, указать полный путь к менеджеру криптопро: Цитата ownsmir:
ЗЫ Код выше поправил немного, но имя контейнера, пути к менеджеру и букву носителя указывайте свои, естественно... Однако, судя по всему, то, что Вы желаете получить, возможно, не поддерживается: Цитата:
|
|||
------- Последний раз редактировалось YuS_2, 05-07-2019 в 08:36. Отправлено: 21:08, 04-07-2019 | #23 |
Новый участник Сообщения: 46
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
PS C:\Users\vv\Desktop> $subject = $str[1].p2 -split ','|convertfrom-stringdata convertfrom-stringdata : Строка данных " 4" указана в формате, отличном от следующего: "имя=значение". строка:1 знак:34 + $subject = $str[1].p2 -split ','|convertfrom-stringdata + ~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: ( ![]() + FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.ConvertFromStringDataCommand Получившийся код #requires -v 3.0 $fld = "\\.\FAT12_F\7dde151d-1dd7-49cb-af7c-f3f64197a320" $tmp = cmd /c """C:\Program Files\Crypto Pro\CSP\certmgr.exe"" -list -cont ""$fld""" $str = $tmp|?{$_ -match 'Not valid before|Subject|Issuer'}|convertfrom-string -d ' : ' $issuer = $str[0].p2 -split ','|convertfrom-stringdata $subject = $str[1].p2 -split ','|convertfrom-stringdata $date = [datetime]::parse(($str[2].p2 -replace 'UTC','GMT')) $a = ($subject.cn -replace '"')+$(" {0:dd.MM.yyyy} " -f $date)+($issuer.cn -replace '"') cmd /c "csptest.exe -keycopy -src ""$fld"" -dest ""\\.\FAT12_D\$a"" -pindest=""""" |
|
Отправлено: 09:28, 05-07-2019 | #24 |
Crazy Сообщения: 1231
|
Профиль | Отправить PM | Цитировать Цитата ownsmir:
#requires -v 3.0 $fld = '\\.\FAT12_F\7dde151d-1dd7-49cb-af7c-f3f64197a320' $tmp = cmd /c """C:\Program Files\Crypto Pro\CSP\certmgr.exe"" -list -cont ""$fld""" $str = $tmp|?{$_ -match 'Not valid before|Subject|Issuer'}|convertfrom-string -d ' : ' $str Ну и на всякий случай, в полном коде, завернем в скобки: #requires -v 3.0 $fld = "\\.\FAT12_F\7dde151d-1dd7-49cb-af7c-f3f64197a320" $tmp = cmd /c """C:\Program Files\Crypto Pro\CSP\certmgr.exe"" -list -cont ""$fld""" $str = $tmp|?{$_ -match 'Not valid before|Subject|Issuer'}|convertfrom-string -d ' : ' $issuer = ($str[0].p2 -split ',')|convertfrom-stringdata $subject = ($str[1].p2 -split ',')|convertfrom-stringdata $date = [datetime]::parse(($str[2].p2 -replace 'UTC','GMT')) $a = ($subject.cn -replace '"')+$(" {0:dd.MM.yyyy} " -f $date)+($issuer.cn -replace '"') cmd /c "csptest.exe -keycopy -src ""$fld"" -dest ""\\.\FAT12_D\$a"" -pindest=""""" |
|
------- Отправлено: 10:27, 05-07-2019 | #25 |
Новый участник Сообщения: 46
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
PS C:\Windows\system32> #requires -v 3.0 При создании конвейера произошла ошибка. + CategoryInfo : NotSpecified: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : RuntimeException PS C:\Windows\system32> $fld = '\\.\FAT12_F\7dde151d-1dd7-49cb-af7c-f3f64197a320' PS C:\Windows\system32> PS C:\Windows\system32> $tmp = cmd /c """C:\Program Files\Crypto Pro\CSP\certmgr.exe"" -list -cont ""$fld""" PS C:\Windows\system32> PS C:\Windows\system32> $str = $tmp|?{$_ -match 'Not valid before|Subject|Issuer'}|convertfrom-string -d ' : ' PS C:\Windows\system32> $str P1 P2 -- -- Issuer E=ca_tensor@tensor.ru, ОГРН=1027600787994, ИНН=007605016030, C=RU, S=76 Ярославская область, L=г. Ярославль, STREET=Московский проспект д.12, OU=Удостоверяющий центр, O="ООО ""КОМПАНИЯ ""ТЕНЗОР""", CN="ООО ""КОМПАНИЯ ""ТЕНЗОР""" Subject STREET="**************", S=77 г. Москва, L=Москва, C=RU, G=Иванова Ивановна, SN=Иванова, CN=Название компании, T=ПРЕДСЕДАТЕЛЬ, OU=0, O=Название компании, E=почта, ИНН=1234567890, СНИЛС=1234567890, ОГРН=1234567890 Not valid before 11/10/2018 08:18:57 UTC |
|
Отправлено: 10:35, 05-07-2019 | #26 |
Crazy Сообщения: 1231
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 10:52, 05-07-2019 | #27 |
Новый участник Сообщения: 46
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
#requires -v 3.0 При создании конвейера произошла ошибка. + CategoryInfo : NotSpecified: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : RuntimeException $subject = ($str[1].p2 -split ',')|convertfrom-stringdata convertfrom-stringdata : Строка данных " 4" указана в формате, отличном от следующего: "имя=значение". строка:1 знак:36 + $subject = ($str[1].p2 -split ',')|convertfrom-stringdata + ~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [ConvertFrom-StringData], PSInvalidOperationException + FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.ConvertFromStringDataCommand |
|
Отправлено: 11:47, 05-07-2019 | #28 |
Crazy Сообщения: 1231
|
Профиль | Отправить PM | Цитировать Цитата ownsmir:
Цитата ownsmir:
Покажите то, что скрыто под звездами, причем полностью все символы, кроме букв, их можно скрыть. ЗЫ есть предположение, что в этих символах присутствует запятая, поэтому, чтобы строка не "ломалась", мы такие запятые можем просто удалять. Замените две строки на такие: |
||
------- Последний раз редактировалось YuS_2, 05-07-2019 в 13:19. Причина: добавление Отправлено: 12:52, 05-07-2019 | #29 |
Crazy Сообщения: 1231
|
Профиль | Отправить PM | Цитировать Если код работает теперь, то его надо привести к автоматизации. Для этого необходимо определиться с этим:
1. Способ получения списка криптоконтейнеров. Для его создания используется определенная команда или же он собирается вручную? В общем, необходимо выбрать способ передачи списка в powershell. 2. Работает ли копирование контейнеров через csptest.exe, в принципе? Ошибка вываливается на некоторых контейнерах или на всех подряд? - определимся с этими вопросами, тогда сделаю окончательный скрипт для копирования. |
------- Отправлено: 15:22, 05-07-2019 | #30 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Крипто Про CSP 4.0 и R4 в тихом режиме (FYI) | merdzd | Автоматическая установка приложений | 3 | 22-04-2019 01:04 | |
Разное - Windows 10 и Крипто-про CSP 3.9 | Auberdin | Microsoft Windows 10 | 1 | 21-09-2015 22:45 | |
Разное - как создать exe для запуска другого exe с параметрами, из той же папки | vzli_izv | Программирование и базы данных | 12 | 08-06-2013 14:49 | |
iRU Stilo 2214L (он же Mitac 8081) не видит DVD | D@nilYcH | Ноутбуки | 0 | 31-07-2011 16:19 | |
MacBook Pro 2011. Какой же он? | Welron | Новости железа | 0 | 22-02-2011 22:07 |
|