Статус: Активный участник
Группы: Участники
Зарегистрирован: 29.10.2018(UTC) Сообщений: 141
Сказал(а) «Спасибо»: 109 раз Поблагодарили: 1 раз в 1 постах
|
Здравствуйте,
просьба подсказать:
имеется ли возможность каким-то образом, используя КриптоПро CSP, установить сертификат в какое-либо хранилище (например, Личное) с привязкой к нему закрытого ключа, если никакого ключевого носителя нет:
т.е. на компьютере есть файл сертификата (.cer) и закрытый ключ (папка, в которой лежат файлики .key)
ОС: Windows 10
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,672   Сказал «Спасибо»: 572 раз Поблагодарили: 2301 раз в 1802 постах
|
Здравствуйте.
Папку - скопировать в корень логического диска (не системного) или на флешку. Далее через КриптоПРО CSP\Сервис\Установить личный сертификат указываете сертификат + найти контейнер автоматически |
|
 1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 29.10.2018(UTC) Сообщений: 141
Сказал(а) «Спасибо»: 109 раз Поблагодарили: 1 раз в 1 постах
|
Автор: Андрей Писарев  Здравствуйте.
Папку - скопировать в корень логического диска (не системного) или на флешку. Далее через КриптоПРО CSP\Сервис\Установить личный сертификат указываете сертификат + найти контейнер автоматически Спасибо, с флешкой понятно, а если нет флешки и несистемного диска, т.е. имеется только один диск C:\ и нет возможности подключать какие-либо носители...
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,672   Сказал «Спасибо»: 572 раз Поблагодарили: 2301 раз в 1802 постах
|
1) создать из папки, в которой папка с ключами - через subst 2) второй ПК 3) "записать в реестр", указанные файлы в нужную ветку
|
|
 1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,672   Сказал «Спасибо»: 572 раз Поблагодарили: 2301 раз в 1802 постах
|
Пример:
папка "1.000" с ключами есть в папке c:\keys\
Создаем диск R: subst R: c:\keys\
Далее - устанавливаем сертификат через КриптоПРО CSP
|
|
 1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 29.10.2018(UTC) Сообщений: 141
Сказал(а) «Спасибо»: 109 раз Поблагодарили: 1 раз в 1 постах
|
Автор: Андрей Писарев  1) создать из папки, в которой папка с ключами - через subst 2) второй ПК 3) "записать в реестр", указанные файлы в нужную ветку
Спасибо! а по п.3 имеется в виду правка ветки реестра: [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro\Settings\Users\<user sid>\Keys] ?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,672   Сказал «Спасибо»: 572 раз Поблагодарили: 2301 раз в 1802 постах
|
Автор: NEW DME  Автор: Андрей Писарев  1) создать из папки, в которой папка с ключами - через subst 2) второй ПК 3) "записать в реестр", указанные файлы в нужную ветку
Спасибо! а по п.3 имеется в виду правка ветки реестра: [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro\Settings\Users\<user sid>\Keys] ? Да |
|
 1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,672   Сказал «Спасибо»: 572 раз Поблагодарили: 2301 раз в 1802 постах
|
После установки сертификата - можно сделать копию контейнера (в реестре), переустановить сертификат с указанием контейнера в реестре, чтобы не зависить от монтирования папки.
+ можно экспортировать сертификат с закрытым ключом в PFX... |
|
 1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 01.03.2022(UTC) Сообщений: 2
Сказал(а) «Спасибо»: 3 раз
|
Автор: Андрей *  Автор: NEW DME  Автор: Андрей Писарев  1) создать из папки, в которой папка с ключами - через subst 2) второй ПК 3) "записать в реестр", указанные файлы в нужную ветку
Спасибо! а по п.3 имеется в виду правка ветки реестра: [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro\Settings\Users\<user sid>\Keys] ? Да А есть описание данного процесса? Я так понял это что-то вроде конвертации в двоичную систему данных из этих файлов .key Отредактировано пользователем 1 марта 2022 г. 7:49:41(UTC)
| Причина: Не указана
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602  Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 396 раз в 366 постах
|
Цитата:Я так понял это что-то вроде конвертации в двоичную систему данных из эти файлов .key Добрый день. На самом деле, с точностью до наоборот. Шестнадцатиричная система представления это текст. Файлы .key уже в бинарном виде, то есть двоичные и в реестре они тоже хранятся в двоичном виде, то есть по факту начало и конец в одном формате. При прямой записи значения функциями WinApi конвертации не нужно - считали в память (из файла) - записали память (в реестр). Описывать особо нечего. Цитата:LONG RegSetValueEx( HKEY hKey, // handle to key to set value for LPCTSTR lpValueName, // name of the value to set DWORD Reserved, // reserved DWORD dwType, // flag for value type CONST BYTE *lpData, // address of value data DWORD cbData // size of value data );
dwType - Specifies the type of information to be stored as the value's data. REG_BINARY - Binary data in any form. // Public Const REG_BINARY = 3 ' Free form binary Навскидку нашелся пример использования в VB Цитата:Public Sub SaveSettingByte(ByVal hKey As Long, ByVal strPath As String, ByVal strValueName As String, byData() As Byte) Dim lRegResult As Long Dim hCurKey As Long lRegResult = RegCreateKey(hKey, strPath, hCurKey) lRegResult = RegSetValueEx(hCurKey, strValueName, 0&, REG_BINARY, byData(0), UBound(byData()) + 1) lRegResult = RegCloseKey(hCurKey) End Sub В случае контейнера будет 6 вызовов RegSetValueEx, по одному для каждого файла и имя параметра strValueName равно имени файла "header.key" "name.key" "primary.key" "masks.key" "primary2.key" "masks2.key", byData - массив байтов считанных из файла. Нумерация массива с нуля, поэтому длина тут вычислена как максмальный индекс массива UBound плюс один. hKey это одна из констант - для HKEY_LOCAL_MACHINE, насколько помню, 0x80000002. strPath путь к разделу без "HKEY_LOCAL_MACHINE". Другой вопрос, что если будете писать .reg файл и импортировать его, то он действительно в человекочитаемом текстовом шестнадцатиричном виде. Поэтому придется побайтово перевести в шестнадцатиричную систему с запятыми между и с учетом правил переноса строк. В любом случае, для начала придется узнать SID текущего пользователя и считать имя контейнера. С именем тут тоже могут быть интересные нюансы: в реестре имя представлено как именем раздела реестра, так и содержимым name.key Штатно они предполагаются одинаковыми. Отредактировано пользователем 1 марта 2022 г. 8:12:44(UTC)
| Причина: Не указана
|
 1 пользователь поблагодарил two_oceans за этот пост.
|
OSPK оставлено 01.03.2022(UTC)
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close