PDA

Показать полную графическую версию : Крипто про он же csptest.exe


Страниц : [1] 2

ownsmir
02-07-2019, 11:52
Здравствуйте! Уважаемые умы!
У меня по работе очень много разных эцп, от разных УЦ. Соответственно каждый УЦ при формировании ключа, обзывает его по своему, а зачастую это выглядит вот так "iojng-er4gedfgv-454g-45g45g" и т.д. Ну в общем все ключи называются по разному, бухгалтера несчастные по пол часа ищут нужное ЭЦП для работы с компанией по отчетности.
Смысл все темы таков, хочу взять все ключи на флешке (их порядка 1500) и через скрипт каждую подпись переименовать по человечески по образцу (НО информацию о ключе нужно брать из открытого ключа "Сертификата" т.к. актуальная и полная информация только там) образец "Ромашка, ООО от 13.01.2019 СКБ Контур" есть ли такая возможность?

Ageron
02-07-2019, 12:28
и через скрипт каждую подпись переименовать по человечески по образцу
вы уверены что после переименования, ваши ключи будут открываться?

возьмите пустую флешку, скопируйте туда 1 один ключ, проверьте что он открывается
потом переименуйте руками, в соответствии с из открытого ключа "Сертификата"
и попробуйте снова открыть этот ключ


ну и напишите, что у вас получилось потом, здесь

ownsmir
02-07-2019, 13:17
Цитата:
и через скрипт каждую подпись переименовать по человечески по образцу
вы уверены что после переименования, ваши ключи будут открываться?
возьмите пустую флешку, скопируйте туда 1 один ключ, проверьте что он открывается
потом переименуйте руками, в соответствии с
Цитата:
из открытого ключа "Сертификата"
и попробуйте снова открыть этот ключ
ну и напишите, что у вас получилось потом, здесь »

В ручном режиме ни каких проблем не вызывает переименование названия ключа, все прекрасно работает. 1500 тысячи ключей вручную сидеть переименовывать то себе удовольствие.

Elven
02-07-2019, 15:05
Не думаю что у многих под рукой найдется какой-нибудь ненужный ключ над которым можно поиздеваться. Пока не узнаем как прочитать данные по ключу на токене и как и в какое место записать найденную информацию из командной строки - кина не будет.
Ageron, можно ключи переименовывать, это не изменяет информации в самом ключе.

Charg
02-07-2019, 15:29
Что из себя представляет тот файл из которого предполагается читать информацию?

YuS_2
02-07-2019, 15:31
В ручном режиме ни каких проблем не вызывает переименование названия ключа, все прекрасно работает. 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
}

ownsmir
03-07-2019, 10:50
Что из себя представляет тот файл из которого предполагается читать информацию? »

Файл представляет собой папку на флешке в ней есть 6 файлов (прикреплю скрин) таких папок 1500+ штук.

ownsmir
03-07-2019, 11:51
Как я представляю себе работу скрипта:
1. Скрипт идет на указанную флешку
2. Находит 1 папку с файлами .key
3. Считывает информацию по ЭЦП по открытому сертификату (установленному в контейнере данной папки)
4. Берет нужную информацию "Наименование организации", "дата выдачи", "Наименование организации выдавшей данную подпись" (Тензор, Контур, Астрал и т.д.)
5. Копирует данную ЭЦП на другую флешку с новым именем по максе "ООО Ромашка 01.01.2018 Тензор"
6. Переходит к следующей папке и т.д.

Можно через утилиту csptest.exe или еще если есть инструменты.
Я пытался уже через CMD и csptest сделать часть данных действий, но это если через txt файл тупо копировать переставив в нужном порядке название ключа исходное. Но не все ключи назваются понятно, как залезть в сертификат ключа через csptest я так и не нашел команду... По этому обратился к Вам, знающим больше моего

Сообщения: 385
Благодарности: 149
Профиль | Отправить 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
} »

Можно как то убрать проверку пароля? Они без пароля все

YuS_2
03-07-2019, 12:02
Файл представляет собой папку на флешке в ней есть 6 файлов (прикреплю скрин) таких папок 1500+ штук. »
Вопрос был про содержание, а не про место хранения.

Но не все ключи назваются понятно, как залезть в сертификат ключа через csptest я так и не нашел команду... По этому обратился к Вам, знающим больше моего »
"Чтобы продать что-нибудь ненужное, надо сначала купить что-нибудь ненужное..."
Если вы покажете, какой-нибудь ненужный ключик, ответ получите гораздо быстрее...
И да, алгоритмы составлять не требуется, если вы считаете, что обращаетесь к знающим людям... знающие сами умеют это делать. :)

Ageron
03-07-2019, 12:08
как залезть в сертификат ключа через csptest я так и не нашел команду... »

CSPTEST key set manipulation options:
<globals>:
-silent Do not display any user interface
--cplevel[=<number>] Apply 0/1/2/3 as <number> to use Crypt/CP/CPC/Emu interfaces
--cpdll <Dll> Apply full path to dll as <Dll>
-threads <N> Create N threads
-passes <K> Make K passes in each thread
-provider <name> [optional] specify provider name or next abbreviation:
cp2001 ph2001
-provtype <type> [optional] specify provider type or next abbreviation:
gost2001
<commands>:
-newkeyset Create new container and a key set
-addkeypair Create new keypair in existing container
-deletekeyset Delete key set
-info Show provider's info
--check[=<mask>] Check container. Use bit mask (all tests by default):
1: remask check
2: keys and certs check
4: header check
8: cert license
-hash <hashalg> Hash in file data with hash
(SHA1, SHA256, SHA384, SHA512, MD5, MD2, MD4,
GOST12_256, GOST12_512, GOST94_256 - default)
-sign <hashalg> Sign in file with private key and hash
(SHA1, SHA256, SHA384, SHA512, MD5, MD2, MD4,
GOST12_256, GOST12_512, GOST94_256 - default)
-verify <hashalg> Verify file with signature file on imported key with hash
(SHA1, SHA256, SHA384, SHA512, MD5, MD2, MD4,
GOST12_256, GOST12_512, GOST94_256 - default)
-pkverify <alg> Verify file with signature file on private key with hash
(SHA1, SHA256, SHA384, SHA512, MD5, MD2, MD4
GOST12_256, GOST12_512, GOST94_256 - default)
-display Send hashed data into Reader/Carrier
Working only with GOST hash algorithm
-enum_containers Enumerate containers
-crc Calculate CRC16 of container name string
-encryptioncarrier Set container encryption carrier
-export <file> Export public key blob into file
-expcert <file> Save key certificate from container into file
-impcert <file> Load key certificate from file into container
-makecert Make self signed cert and put it in container
-fmakecert <file> Make self signed cert and put it in file
-loadext <file> Load container extensions from PKCS#7 file, keytype option
selects signature or exchange trust store extension
-saveext <file> Save container extensions to PKCS#7 file
-cleanext <OID> Clean out container extension
"*" means delete all extensions
-noext Do not show info about container extensions
-stress CP{Acquire/Relase}Context
-help Print this help
<options>:
-verifycontext Open context for verification only
-container <name> Specify container name. Use "default" for select dialog
-unique Output unique container name instead name
-fqcn Output FQCN (Fully Qualified Container Name)
-machinekeyset Open HKLM
-exportable Generate exportable key
-protected Generate protected key
-default_optional Set CRYPT_DEFAULT_CONTAINER_OPTIONAL flag
-pattern <string> Substring in unique container name
-keytype <type> Key type for creating key and certificate, signing or
exporting public key, intended signature verifying
on private key: signature, exchange, uec, none.
Default: signature and exchange
-hashout <file> Out hash value into filename
-in <file> Data filename to be signed, verified or hashed
-out <file> Save signature in file
-signature <file> In/out signature file name
-certificate <file> Cert file to import public key from
-import <file> Import public key from file (see also: "-pubkey" parameter)
-pubkey <file> Additional public key to be used in ImportKey() as hPubKey
(exchange private key will be used with import as hPubKey
if no file specified and keytype is exchange)
-hard_rng Use hardware RNG
-length <keylen> Set key length to 1024 / 512 bits
-password <pin> Open container with this password
-nullpasswd Set NULL password (i.e. clean from cache)
-counter <num> Number of Acquire/Release context iterations
-waitcarrier <t> Wait t seconds before releasing
encryption carrier container


покажите формат вывода контейнеров с ключами

csptest -keyset -enum_containers -fqcn -verifycontext

ownsmir
03-07-2019, 12:18
покажите формат вывода контейнеров с ключами
csptest -keyset -enum_containers -fqcn -verifycontext »

\\.\FAT12_F\d9eebaf9-ba20-4a2e-9480-2490f976b2f5
\\.\FAT12_F\d31d043b-6368-411b-91c2-9d479d67e9b1
\\.\FAT12_F\ea67cde7-2a3e-4f24-afe4-5553b6290b13
\\.\FAT12_F\82176ef9-076e-4661-bf70-4f035307ea54
\\.\FAT12_F\73a78cad-2b53-47df-bc9a-c12959ee5ad5
\\.\FAT12_F\d232b854-0356-4cc4-b51f-9b5eda1edf6a
\\.\FAT12_F\76a5248e-6d98-4400-a7c4-766d7013c1fd
\\.\FAT12_F\83dce872-d49f-45d6-8761-9be05d915fe5
\\.\FAT12_F\53dfc883-8f5d-4cef-bce4-4ed0737fcf40
\\.\FAT12_F\77456a81-4b90-46b5-b276-147a4507d8a7
\\.\FAT12_F\62ed7b12-33d6-42b6-8774-ecac899a06ba
\\.\FAT12_F\e2a52506-f46a-449c-8e04-7a10e6d4e6aa
\\.\FAT12_F\cef3154b-5890-4614-8932-a2c73ea845bc
\\.\FAT12_F\370415f5-9085-4582-b57c-bf746947a814
\\.\FAT12_F\86ba2ee2-c1ab-4e3a-b750-94cd57b6f1d5
\\.\FAT12_F\99296548-3222-4f15-ada7-79d6bf8283ad

ownsmir
03-07-2019, 12:55
С форума Крипто Про подсказали команду просмотра данных ключа
certmgr -list -cont "cont_name"
В командной строке вся нужна инфа есть, как то автоматически ее можно выбрать из нужных полей?
каждая инфа обозначена "О=***", "CN=****", "Not valid before : 24/07/2018 13:43:01 UTC"
их можно (эти 3 пункта) вывести в файл в формате "Исходное название ключа = "Значение CN=****" "Значение О=****" "Значение Not valid before :24.07.2018"
И после подставить в команду csptest.exe -keycopy -src "\\.\FAT12_F\1f4caf5dcd5746218c2d13d961cc323d" -dest "\\.\FAT12_G\"То что после = из файла?" -pindest=""

YuS_2
03-07-2019, 12:57
Можно как то убрать проверку пароля? Они без пароля все »
Да можно конечно, но вопрос в том, что это пример для ЭЦП физ.лица, который был у меня под рукой. Содержимое ваших ключей может быть другим...
Пароль убрать так:
#requires -v 5.0
$arr = dir *.key
$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
}

их можно (эти 3 пункта) вывести в файл в формате »
можно всё, что не запрещено :)

"CN=****" »
$name = $hash.cn »

ownsmir
03-07-2019, 13:03
Да можно конечно, но вопрос в том, что это пример для ЭЦП физ.лица, который был у меня под рукой. Содержимое ваших ключей может быть другим...
Пароль убрать так:
Код:
#requires -v 5.0
$arr = dir *.key
$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
}
Цитата ownsmir:
их можно (эти 3 пункта) вывести в файл в формате »
можно всё, что не запрещено
Цитата ownsmir:

Все равно выходит окно ввода PS((
"CN=****" »
Цитата YuS_2:
$name = $hash.cn » »

ownsmir
03-07-2019, 13:38
С форума Крипто Про подсказали команду просмотра данных ключа
certmgr -list -cont "cont_name"
В командной строке вся нужна инфа есть, как то автоматически ее можно выбрать из нужных полей?
каждая инфа обозначена "О=***", "CN=****", "Not valid before : 24/07/2018 13:43:01 UTC"
их можно (эти 3 пункта) вывести в файл в формате "Исходное название ключа = "Значение CN=****" "Значение О=****" "Значение Not valid before :24.07.2018"
И после подставить в команду csptest.exe -keycopy -src "\\.\FAT12_F\1f4caf5dcd5746218c2d13d961cc323d" -dest "\\.\FAT12_G\"То что после = из файла?" -pindest=""

Или без вывода в файл из предыдущей команды можно эти данные отфильтроватьи подставить?

Да можно конечно, но вопрос в том, что это пример для ЭЦП физ.лица, который был у меня под рукой. Содержимое ваших ключей может быть другим...
Пароль убрать так:
Код:
#requires -v 5.0
$arr = dir *.key
$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
}
Цитата ownsmir:
их можно (эти 3 пункта) вывести в файл в формате »
можно всё, что не запрещено
Цитата ownsmir:
"CN=****" »
Цитата YuS_2:
$name = $hash.cn » »

Вот что получается

PS C:\Windows\system32> #requires -v 5.0
$arr = dir D:\2018-05-.000\*.key
$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
}
Введите пароль:
get-pfxcertificate : Требуемый объект не найден.
строка:6 знак:10
+ $cert = get-pfxcertificate $_.fullname #-pass $pass
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-PfxCertificate], CryptographicException
+ FullyQualifiedErrorId : GetPfxCertificateUnknownCryptoError,Microsoft.PowerShell.Commands.GetPfxCertificateCommand

WhatIf: Выполнение операции "Переименование файла" над целевым объектом "Элемент: D:\2018-05-.000\header.key Назначение: D:\2018-05-.000\.key".
Введите пароль:
get-pfxcertificate : Требуемый объект не найден.
строка:6 знак:10
+ $cert = get-pfxcertificate $_.fullname #-pass $pass
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-PfxCertificate], CryptographicException
+ FullyQualifiedErrorId : GetPfxCertificateUnknownCryptoError,Microsoft.PowerShell.Commands.GetPfxCertificateCommand

WhatIf: Выполнение операции "Переименование файла" над целевым объектом "Элемент: D:\2018-05-.000\masks.key Назначение: D:\2018-05-.000\.key".
Введите пароль:
get-pfxcertificate : Требуемый объект не найден.
строка:6 знак:10
+ $cert = get-pfxcertificate $_.fullname #-pass $pass
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-PfxCertificate], CryptographicException
+ FullyQualifiedErrorId : GetPfxCertificateUnknownCryptoError,Microsoft.PowerShell.Commands.GetPfxCertificateCommand

WhatIf: Выполнение операции "Переименование файла" над целевым объектом "Элемент: D:\2018-05-.000\masks2.key Назначение: D:\2018-05-.000\.key".
Введите пароль:
get-pfxcertificate : Требуемый объект не найден.
строка:6 знак:10
+ $cert = get-pfxcertificate $_.fullname #-pass $pass
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-PfxCertificate], CryptographicException
+ FullyQualifiedErrorId : GetPfxCertificateUnknownCryptoError,Microsoft.PowerShell.Commands.GetPfxCertificateCommand

WhatIf: Выполнение операции "Переименование файла" над целевым объектом "Элемент: D:\2018-05-.000\name.key Назначение: D:\2018-05-.000\.key".
Введите пароль:
get-pfxcertificate : Требуемый объект не найден.
строка:6 знак:10
+ $cert = get-pfxcertificate $_.fullname #-pass $pass
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-PfxCertificate], CryptographicException
+ FullyQualifiedErrorId : GetPfxCertificateUnknownCryptoError,Microsoft.PowerShell.Commands.GetPfxCertificateCommand

WhatIf: Выполнение операции "Переименование файла" над целевым объектом "Элемент: D:\2018-05-.000\primary.key Назначение: D:\2018-05-.000\.key".
Введите пароль:
get-pfxcertificate : Требуемый объект не найден.
строка:6 знак:10
+ $cert = get-pfxcertificate $_.fullname #-pass $pass
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-PfxCertificate], CryptographicException
+ FullyQualifiedErrorId : GetPfxCertificateUnknownCryptoError,Microsoft.PowerShell.Commands.GetPfxCertificateCommand

WhatIf: Выполнение операции "Переименование файла" над целевым объектом "Элемент: D:\2018-05-.000\primary2.key Назначение: D:\2018-05-.000\.key".

ownsmir
03-07-2019, 15:34
Задача изменилась:
1. командой certmgr -list -cont "\\.\FAT12_F\*****" выводится информация такого вида:
Certmgr 1.1 (c) "Crypto-Pro", 2007-2018.
program for managing certificates, CRLs and stores

=============================================================================
1-------
Issuer : E=ca@skbkontur.ru, ОГРН=1026605606620, ИНН=006663003127, C=RU, S=66 Свердловская область, L=Екатеринбург, STREET=Пр. Космонавтов д. 56, OU=Удостоверяющий центр, O="АО ""ПФ ""СКБ КОНТУР""", CN="АО ""ПФ ""СКБ КОНТУР"""
Subject : CN="Название компании""", SN=Фамилия, G=Имя Отчество, C=RU, S=77 г. Москва, L=Москва, STREET="Адрес", O="Название компании""", T=Генеральный Директор, ОГРН=**********, СНИЛС=**********, ИНН=**********, E=почта, OID********************=********-********-********, РНС ФСС=********
SHA1 Hash : ***************************************
SubjKeyID : ***************************************
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before : 24/07/2018 13:43:01 UTC
Not valid after : 24/07/2019 13:52:01 UTC
PrivateKey Link : Certificate from container. No link to key
CA cert URL : http://cdp.skbkontur.ru/certificates/kontur-q1-2018.crt
CA cert URL : http://cdp2.skbkontur.ru/certificates/kontur-q1-2018.crt
CDP : http://cdp.skbkontur.ru/cdp/kontur-q1-2018.crl
CDP : http://cdp2.skbkontur.ru/cdp/kontur-q1-2018.crl
Extended Key Usage : *********************************
***************************************
***************************************
***************************************
***************************************
***************************************
***************************************
=============================================================================

[ErrorCode: 0x00000000]

Звездочкой * закрыл конфиденциальную информацию

Нужно записать в переменную из вывода верхней команды данные:
Subject : CN=Название компании
Not valid before : 24/07/2018
Issuer : CN=СКБ КОНТУР

и после применить данные переменные в команде:
csptest.exe -keycopy -src "\\.\FAT12_F\1f4caf5dcd5746218c2d13d961cc323d" -dest "\\.\FAT12_П\Название компании 24.07.2018 СКБ КОНТУР" -pindest=""

YuS_2
03-07-2019, 21:43
Вот что получается »
файлы .key - это не сам сертификат
Данные файлы входят в состав криптоконтейнера закрытого ключа электронной подписи криптопровайдера КриптоПро, формат которого нигде не опубликован. (https://habr.com/ru/post/275039/)
поэтому на попытку считывания командлетом не подходящих данных, вываливается соответствующая ошибка ...

командой certmgr -list -cont "\\.\FAT12_F\*****" выводится информация такого вида: »
предполагаю, что в контейнере находится сам сертификат, который и читает certmgr...
Выковыривать информацию из вывода в консоль cmd, дело неблагодарное, хоть и не безнадежное...
Всё же, предлагаю воспользоваться powershell-ом для получения данных сертификата.
$cert = get-pfxcertificate f:\исходное_наименование_каталога\имя_сертификата.cer
$hashsubject = ($cert.subject -split ',')|convertfrom-stringdata
$hashissuer = ($cert.issuer -split ',')|convertfrom-stringdata

и далее:
Нужно записать в переменную из вывода верхней команды данные:
Subject : CN=Название компании
Not valid before : 24/07/2018
Issuer : CN=СКБ КОНТУР »
можем все это получить:
$name_date = "{0:dd.MM.yyyy}" -f $cert.notbefore
$name1 = $hashsubject.cn
$name2 = $hashissuer.cn
$new_name = $name1 + $name_date + $name2
ren f:\исходное_наименование_каталога $new_name -whatif
можно всё это автоматизировать, главное получить принципиальную работоспособность на примере...

ownsmir
04-07-2019, 10:26
[q=YuS_2]$cert = get-pfxcertificate f:\исходное_наименование_каталога\имя_сертификата.cer
$hashsubject = ($cert.subject -split ',')|convertfrom-stringdata
$hashissuer = ($cert.issuer -split ',')|convertfrom-stringdata »

Получается в папке с ключем должен быть сертификат .cer?
Его же там нет...
Мне не файлы нужно переименовать, мне нужно изменить дружественное название ключей чтобы в криптро про они отображались по образцу "Ромашка, ООО от 13.01.2019 СКБ Контур". Файлы на флешке мне вообще трогать не нужно. Про файлы я писал не зная откуда можно взять информацию о ключе.

YuS_2
04-07-2019, 15:47
Получается в папке с ключем должен быть сертификат .cer?
Его же там нет... »
Сертификат в криптоконтейнере неизвлекаемый, но он там есть и без криптопро прочесть его проблематично, поэтому видимо придется таки разбирать cmd консольный вывод...

ownsmir
04-07-2019, 15:54
Сертификат в криптоконтейнере неизвлекаемый, но он там есть и без криптопро прочесть его проблематично, поэтому видимо придется таки разбирать cmd консольный вывод... »

Эх... Да

Больше никто не реагирует к сожалению(((
Сколько в интернете прочитал, толком не могу найти информацию как правильно взять определенную информацию и потом ее использовать.




© OSzone.net 2001-2012