Сейчас представить нормальную деятельность какого ли предприятия даже самого меленького без использования электронных цифровых подписей практически не возможно. Скажу больше, большинство обычных граждан так же использую различные ЭЦП. Все это связанно с тем что имея ЭЦП можно не выходя из офиса или дома отправлять подписанные документы (договора), сдавать отчетность, пользоваться различными ресурсами, участвовать в различных аукционах и многое другое. С одной стороны все это упрощает ведение деятельности но с другой вызывает кучу проблем, в первую очередь это связанно с получением ЭЦП, выдаются они на 1 год, в некоторых случаях плюс несколько месяцев, все зависит от удостоверяющего центра (УЦ). Для использования ЭЦП нужно настраивать рабочие места а это дополнительное ПО (Все оно платное), различные плагины и расширения для браузеров. В общем проблем с ЭЦП хватает. Так же на этапе получения и заполнения заявлений важно все указать правильно, в противном случае можно получить дополнительные проблемы. Сегодня рассмотрим одну ошибку «0x8009000B» которая появляется в момент копирования закрытого ключа и связанна она с невнимательностью во время заполнения заявления на получение ЭЦП в УЦ или через сайт.
Ошибка 0x8009000B Ключ не может быть использован в указанном состоянии
И так у Вас есть ЭЦП и Вы пытаетесь скопировать закрытый ключ с флешки в системный реестр Windows, либо наоборот и видите сообщение следующего вида.
Ошибка копирования контейнера … У вас нет разрешений на экспорт ключа, потому что при создании ключа не был установлен соответствующий флаг. Ошибка 0x8009000B Ключ не может быть использован в указанном состоянии.
Это говорит о том что во время создания закрытого ключа не был отмечен пункт который разрешает экспорт закрытого ключа. Проверить это достаточно легко, открываем КриптоПро переходим на вкладку «Сервис» и выбираем пункт «Протестировать …»
Далее выбираем сертификат и смотрим на результат, в открывшемся окне ищем пункт «Экспорт ключа» и если на против стоит «Запрещено» то увы произвести экспорт (копирование) никакими средствами не получиться.
1 Если вы получили ЭЦП в УЦ на Рутокене, eToken то использовать его можно будет только подключив съемный носитель к компьютеру.
2 Если закрытый ключ находиться на обычной флешке то его можно скопировать на другую флешку либо другой диск и использовать.
3 Если ЭЦП Вы получали через личный кабинет (такое возможно при продлении) и закрытый ключ скопировали в реестр, то его можно перенести на другой ПК, но это лучше поручить опытному человеку, так как если вы что-то сломаете в реестре то можно попасть на переустановку ОС.
Кстати выглядит эта опция примерно вот так, это заявление на продление ЭЦП федерального казначейства.
В принципе тут нет ничего страшного, если необходимо установить такую ЭЦП на несколько рабочих место, то можно воспользоваться флешками или например, если в системе есть дополнительный жесткий диск D,E,B не важно какой, закрытый ключ можно скопировать туда.
Если скопировать закрытый ключи в корень диска С, система его не увидит!!!
Мне постоянно приходится иметь дело
с сертификатами, токенами, закрытыми ключами, криптопровайдерами и
прочим. Сейчас все завязано на это — банкинг, сдача отчетности в разные
гос органы, обращения опять же в эти органы, в том числе и физ лиц. В
общем, с этой темой рано или поздно придется познакомиться многим. Для
того, чтобы перенести все это хозяйство с одного компьютера на другой,
иногда приходится прилично повозиться, особенно тем, кто не в теме.
by zerox https://serveradmin.ru/perenos-konteynerov-zakryityih-klyuchey-i-sertifikatov-cryptopro/
Перенести закрытые ключи и сертификаты КриптоПро на другой компьютер можно двумя способами:
- Перенести
или скопировать контейнер закрытого ключа через стандартную оснастку
CryptoPro в панели управления. Это самый простой и быстрый способ, если у
вас не много сертификатов и ключей. Если же их несколько десятков, а
это не такая уж и редкость, то такой путь вам не подходит. - Скопировать
сертификаты и ключи непосредственно через перенос самих исходных файлов
и данных, где все это хранится. Объем работы одинаков и для 5 и для
50-ти сертификатов, но требуется больше усилий и знаний.
Я
опишу оба этих способа, но подробно остановлюсь именно на втором
способе. В некоторых ситуациях он является единственно возможным.
Важное замечание. Я буду переносить контейнеры закрытого ключа, которые
хранятся в реестре. Если вы храните их только на токене, то переносить
контейнеры вам не надо, только сертификаты.
Копирование закрытого ключа через оснастку КриптоПро
Для того, чтобы скопировать контейнер для хранения закрытого ключа сертификата штатным средством, необходимо в Панели управления открыть оснастку CryptoPro, перейти в раздел Сервис и нажать Скопировать.
Далее
вы выбираете текущий контейнер, который хотите скопировать. Это может
быть либо токен, либо реестр компьютера. Затем новое имя и новое
расположение контейнера. Опять же, это может быть как реестр, так и
другой токен.
Ошибка копирования контейнера
Но
тут есть важный нюанс. Если во время создания закрытого ключа он не был
помечен как экспортируемый, скопировать его не получится. У вас будет
ошибка:
Ошибка
копирования контейнера. У вас нет разрешений на экспорт ключа, потому
что при создании ключа не был установлен соответствующий флаг. Ошибка
0x8009000B (-2146893813) Ключ не может быть использован в указанном
состоянии.
Если получили такую ошибку, то для вас этот способ переноса не подходит. Можно сразу переходить к следующему.
Отдельно
расскажу, как скопировать сертификат и закрытый ключ к нему в файл,
чтобы перенести на другой компьютер без использования токена. Штатные
возможности CryptoPro не позволяют скопировать закрытый ключ в файл.
Запускаем Internet Explorer, открываем его настройки и переходим на вкладку Содержание. Там нажимаем на Сертификаты.
Выбираем нужный сертификат и нажимаем Экспорт.
Если у вас после слов «Экспортировать закрытый ключ вместе с сертификатом» нет возможности выбрать ответ «Да, экспортировать закрытый ключ«,
значит он не помечен как экспортируемый и перенести его таким способом
не получится. Можно сразу переходить к другому способу, который описан
ниже.
Если же такая возможность есть, то выбирайте именно этот пункт и жмите Далее.
В следующем меню ставьте все галочки, так вам будет удобнее и проще в
будущем, если вдруг опять понадобится копировать ключи уже из нового
места.
Укажите
какой-нибудь пароль и запомните его! Без пароля продолжить нельзя. В
завершении укажите имя файла, куда вы хотите сохранить закрытый ключ.
Теперь вам нужно скопировать сам сертификат. Только что мы копировали
закрытый ключ для него. Не путайте эти понятия, это разные вещи. Опять
выбираете этот же сертификат в списке, жмите Экспорт и выберите файл
формата .CER.
Сохраните сертификат для удобства в ту же папку, куда сохранили закрытый ключ от него.
В итоге у вас должны получиться 2 файла с расширениями:
- .pfx
- .cer
Вам
достаточно перенести эти 2 файла на другой компьютер и кликнуть по
каждому 2 раза мышкой. Откроется мастер по установке сертификатов. Вам
достаточно будет выбрать все параметры по-умолчанию и понажимать Далее.
Сертификат и контейнер закрытого ключа к нему будут перенесены на другой
компьютер.
Я описал первый способ
переноса в ручном режиме. Им можно воспользоваться, если у вас немного
сертификатов и ключей. Если их много и руками по одному переносить
долго, то переходим ко второму способу.
Массовый перенос ключей и сертификатов CryptoPro с компьютера на компьютер
В
интернете достаточно легко находится способ переноса контейнеров
закрытых ключей КриптоПро через копирование нужной ветки реестра, где
это все хранится. Я воспользуюсь именно этим способом. А вот с массовым
переносом самих сертификатов у меня возникли затруднения и я не сразу
нашел рабочий способ. Расскажу о нем тоже.
Для
дальнейшей работы нам надо узнать SID текущего пользователя, у которого
мы будем копировать или переносить сертификаты с ключами. Для этого в
командной строке выполните команду:
wmic useraccount where name='zerox' get sid
В данном случай zerox — имя учетной записи, для которой узнаем SID.
Далее скопируем контейнеры закрытых ключей в файл. Для этого на компьютере открываем редактор реестра и переходим в ветку:
HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeCrypto ProSettingsUsersS-1-5-21-4126079715-2548991747-1835893097-1000Keys
где S-1-5-21-4126079715-2548991747-1835893097-1000
— SID пользователя, у которого копируем сертификаты. Выбираем папку
Keys и экспортируем ее.
Сохраняем ветку реестра в файл. В ней хранятся закрытые ключи.
Теперь нам нужно скопировать сразу все сертификаты. В Windows 7, 8 и 10 они живут в директории — C:UserszeroxAppDataRoamingMicrosoftSystemCertificatesMy. Сохраняйте эту директорию.
Для
переноса ключей и сертификатов нам надо скопировать на другой компьютер
сохраненную ветку реестра и директорию с сертификатами My.
Открываем файл с веткой реестра в текстовом редакторе и меняем там SID
пользователя со старого компьютера на SID пользователя нового
компьютера. Можно прям в блокноте это сделать поиском с заменой.
После
этого запускаем .reg файл и вносим данные из файла в реестр. Теперь
скопируйте папку My с сертификатами в то же место в профиле нового
пользователя. На этом перенос сертификатов и контейнеров закрытых ключей
КриптоПро завершен. Можно проверять работу.
Я
не раз пользовался этим методом, на текущий момент он 100% рабочий.
Написал статью,чтобы помочь остальным, так как сам не видел в интернете
подробной и понятной с первого раза статьи на эту тему. Надеюсь, моя
таковой получилась.
…. Захотелось с вами поделиться опытом, о массовом переносе контейнеров с закрытыми ключами, находящимися в области реестра Windows. Использовать мы будем как КриптоПРО, так и встроенные механизмы. Уверен будет интересно.
Когда нужно переносить сертификаты в другое место?
И так давайте рассмотрим по каким причинам у вас может появиться необходимость в копировании ваших ЭЦП в другое место.
- На текущем физическом компьютере начинает умирать жесткий диск или SSD накопитель (Как проверить жизненные показатели жесткого диска), очень частая история и жизненная, когда люди теряли все свои данные, из-за банальной жадности в покупке нового оборудования и элементарного незнания принципов резервного копирования.
- У вас производится модернизация оборудования, его улучшение и вам нужно перенести все сертификаты с закрытыми ключами на другую систему
- Вы создали отдельный сервер, в виде виртуальной машины, где будут находится все ваши сертификаты и с ними смогут работать все необходимые сотрудники, терминал для бухгалтерии. Простой пример СБИС, и когда у вас 10-20 организаций.
Как видите предпосылок и вариантов переноса сертификатов из реестра на другой компьютер, предостаточно.
Какие есть варианты по копированию контейнеров закрытых ключей?
- Если мы создаем единый терминал (Виртуальную машину), на которой будут коллективно работать пользователи, то можно произвести конвертирование физической тачки в виртуальную машину
- Если будет просто замена жесткого диска, то можно произвести его клонирование или перенос системы на SSD с помощью специальных утилит
- Можно воспользоваться утилитой КриптоПРО
- Воспользоваться экспортом из реестра Windows.
Перенос сертификатов в виде пошаговой инструкции
Первые два пункта я описывать тут не стану, так как я уже это подробно рассказывал, посмотрите по ссылкам. Я расскажу, об остальных методах и начнем мы с классического КриптоПРО.
Данный метод подойдет для тех ситуаций, когда у вас один или 2 сертификата (ЭЦП). Если же их несколько десятков, а это не такая уж и редкость, то такой путь вам не подходит, и там придется выбирать 4-й метод.
Важное замечание. Я буду переносить контейнеры закрытого ключа, которые хранятся в реестре. Если вы храните их только на токене, то переносить контейнеры вам не надо, только сертификаты
Копирование закрытого ключа из КриптоПро
Это самый простой способ, и будет актуальным при небольшом количестве контейнеров с закрытыми ключами. Чтобы выполнить перенос сертификатов из реестра, откройте ваш КриптоПРО, вкладка «Сервис», нажимаем кнопку «Сервис», далее через кнопку «Обзор», откройте «Выбор ключевого контейнера» и укажите, какой сертификат вы будите переносить. В моем примере это контейнер «Копия сертификата в реестре (Семин Иван)».
Нажимаем «Далее», вас попросят задать новое имя контейнера с закрытым ключом, введите понятное для себя, для удобства.
У вас откроется окно с выбором носителей, вы можете выбрать либо токен, либо флешку для переноса на другое место. У меня это внешний жесткий диск Z:.
Задаем обязательно пароль, с точки зрения безопасности, так как файлы в таком виде просто скомпрометировать.
Все, на выходе я получил папку со случайным названием и набором ключей в формате key.
Если вы пытаетесь копировать сертификат с токена, то в ряде случаев у вас может появиться ошибка: Ошибка копирования контейнера. У вас нет разрешений на экспорт ключа, потому что при создании ключа не был установлен соответствующий флаг. Ошибка 0x8009000B (-2146893813) Ключ не может быть использован в указанном состоянии.
Связана такая ситуация, что в целях псевдобезопасности, удостоверяющие центры выпускают закрытые ключи без возможности экспорта, и таким образом увеличивают свою прибыль, так как в случае утери или поломки токена, вам придется его перевыпускать, а так как экспорт запрещен, то бэкапа вы сделать не сможете.
Если вы получили ошибку копирования контейнера. У вас нет разрешений на экспорт ключа, то метод с КРиптоПРО вам не поможет
Перенос сертификатов из реестра без КриптоПРО
Существуют методы экспортировать закрытый ключ и без использования утилиты КриптоПРО. Представим себе ситуацию, что у вас на него кончилась лицензия и вы не успели ее купить. Вам нужно сдать отчетность в СБИС. Вы развернули CryptoPRO на другом компьютере, так как он позволяет 3 месяца бесплатного использования, осталось для СБИС выполнить перенос сертификатов, которые у вас в реестре Windows.
У нас два варианта:
- Использование оснастки mmc-Сертификаты пользователя.
- Использование Internet Explore
Откройте там контейнер «Личное — Сертификаты». Если у вас в контейнере не один сертификат с одинаковым именем, такое может быть, то откройте сертификат в оснастке mmc и в КриптоПРО и сравните серийные номера сертификата.
В Internet Explore, откройте «Свойства браузера — Содержание — Сертификаты»
Теперь нам необходимо его экспортировать, в оснастке «Сертификаты», через правый клик, это можно сделать, в Internet Explorer, сразу видно кнопку, экспорт.
У вас откроется мастер переноса сертификатов, на первом шаге, просто нажимаем далее. После чего вас спросят, что вы хотите экспортировать, выбираем пункт «да, экспортировать закрытый ключ вместе с сертификатом»
Если ваш закрытый ключ запрещено экспортировать, то эта кнопка будет не активна, и можете сразу закрывать данный метод и переходить к следующему.
Следующим этапом в мастере экспорта сертификатов, вам необходимо выбрать формат выгрузки, это будет PFX архив.
Далее вы задаете обязательно пароль и указываете имя и место, где будите сохранять ваш переносимый контейнер с зарытым ключом в формате pfx.
Мастер экспорта сертификатов, выведет вам сводные данные, нажимаем «Готово».
Отрываем локацию, куда вы его выгрузили, и найдите свой pfx архив.
Теперь вам нужно еще выгрузить открытый ключ в формате cer, для этого так же зайдите в мастер экспорта, но на этот раз выберите «Нет, не экспортировать закрытый ключ».
Выберите формат файла «X.509 (.CER) в кодировке DEP», задайте ему имя и место сохранения. На выходе у вас появятся два файла.
Одни открытый ключ в формате cer и закрытый ключ в формате pfx. Этого набора вам будет достаточно, чтобы перенести сертификаты СБИС, Контура и остальных программ на другой компьютер.
Теперь перенесите эти файлы на другое рабочее место и просто запустите, через простой двойной клик. У вас откроется мастер импорта сертификатов, на первом окне выберите нужное вам хранилище, я в своем примере оставлю «Текущий пользователь».
На втором шаге проверяем импортируемый сертификат.
Указываем пароль, который задавали при выгрузке.
Оставляем автоматический выбор хранилища на основе типа сертификатов.
Готово. Со вторым файлом то же самое. После чего у вас будут перенесены нужные вам ключи и сам сертификат, можно работать.
Массовый перенос ключей и сертификатов CryptoPro на другой компьютер
Выше описанные методы хороши, когда у вас один или 5 ключиков в реестре, а как быть если их десятки. Помню лет 5 назад, когда я еще был младшим администратором, то я очень часто устанавливал электронные цифровые подписи главбуху, так как она работала в СБИС++ и сдавала там постоянно отчетность по огромному количеству организаций, по типу рога и копыта. Держать кучу токенов было не вариант, и для таких вещей у нее все хранилось в реестре и копия сертификатов была на флешке в сейфе. Флешку потом потеряли, встал вопрос сделать резервную копию всего и плюс обновить систему, в виду нового компьютера, на операционной системе Windows 8.1. ЭЦП было штук 50, а так как я ценю свое время, то и искал методы, выполнить это быстрее, к счастью я его нашел.
Заключался метод переноса сертификатов из реестра, в выгрузке веток и подмене SID значения, но обо всем по порядку. О том, как посмотреть SID пользователя и что это такое я рассказывал.
Открываете командную строку cmd и вводите команду:
Вот это S-1-5-21-551888299-3078463796-888888888-46162 и есть SID, вашей учетной записи. Теперь когда вы его знаете, то вам нужно выгрузить ваши закрытые ключи из реестра Windows. Для этого откройте вот такую ветку:
HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeCrypto ProSettingsUsersНомер вашего SID, который мы узналиKeys
В контейнере Keys, вы найдете все ваши закрытые ключи от ЭЦП. С правой стороны вы увидите файлы:
* header.key
* masks.key
* masks2.key
* name.key
* primary.key
* primary2.key
Щелкаем правым кликом по контейнеру Keys и экспортируем его.
Сохраняем нашу ветку реестра с контейнерами закрытых ключей. Далее нам нужно скопировать открытые ключи, которые лежат по пути:
C:Usersимя вашего пользователяAppDataRoamingMicrosoftSystemCertificatesMy
Не забывайте только подставить своего пользователя, эта папка может быть скрытой, поэтому включите скрытые папки и файлы в вашей ОС. Все содержимое этой папки вам нужно перенести на другой компьютер, только уже в папку другого, нужного пользователя.
Как только вы поместили на новом компьютере папку Key, вы можете перенести реестровую выгрузку. Сохраненный файл в формате reg, вы должны открыть в любом текстовом редакторе.
Как я показывал выше, определите SID нового пользователя, скопируйте его полностью и замените им значение в файле reg, я отметил это стрелками.
SID начинается с S-1 и так далее
Все сохраняйте файл и запускайте его, у вас будет начат перенос сертификатов (закрытых ключей), подтверждаем действие.
Как видите импорт успешно завершен. Все теперь ваши закрытые и открытые ключи на месте и вы можете работать с вашими ЭЦП, и можно считать, что перенос сертификатов с одного компьютера на другой в массовом масштабе, осуществлен успешно.
Содержание
- Перенос контейнеров закрытых ключей и сертификатов CryptoPro
- Копирование закрытого ключа через оснастку КриптоПро
- Ошибка копирования контейнера
- Массовый перенос ключей и сертификатов CryptoPro с компьютера на компьютер
- Как скопировать контейнер/закрытую часть ключа?
- Копирование с помощью КриптоПро CSP
- Установка через меню «Установить личный сертификат».
- Как скопировать контейнер с сертификатом на другой носитель
- Копирование средствами Windows
- Копирование на профиле Диагностики
- Массовое копирование
- Копирование с помощью КриптоПро CSP
- Экспорт PFX-файла и его установка
- Копирование контейнера из реестра другого пользователя
Перенос контейнеров закрытых ключей и сертификатов CryptoPro
Мне постоянно приходится иметь дело с сертификатами, токенами, закрытыми ключами, криптопровайдерами и прочим. Сейчас все завязано на это — банкинг, сдача отчетности в разные гос органы, обращения опять же в эти органы, в том числе и физ лиц. В общем, с этой темой рано или поздно придется познакомиться многим. Для того, чтобы перенести все это хозяйство с одного компьютера на другой, иногда приходится прилично повозиться, особенно тем, кто не в теме.
by zerox https://serveradmin.ru/perenos-konteynerov-zakryityih-klyuchey-i-sertifikatov-cryptopro/
Перенести закрытые ключи и сертификаты КриптоПро на другой компьютер можно двумя способами:
Я опишу оба этих способа, но подробно остановлюсь именно на втором способе. В некоторых ситуациях он является единственно возможным. Важное замечание. Я буду переносить контейнеры закрытого ключа, которые хранятся в реестре. Если вы храните их только на токене, то переносить контейнеры вам не надо, только сертификаты.
Копирование закрытого ключа через оснастку КриптоПро
Для того, чтобы скопировать контейнер для хранения закрытого ключа сертификата штатным средством, необходимо в Панели управления открыть оснастку CryptoPro, перейти в раздел Сервис и нажать Скопировать.
Далее вы выбираете текущий контейнер, который хотите скопировать. Это может быть либо токен, либо реестр компьютера. Затем новое имя и новое расположение контейнера. Опять же, это может быть как реестр, так и другой токен.
Ошибка копирования контейнера
Но тут есть важный нюанс. Если во время создания закрытого ключа он не был помечен как экспортируемый, скопировать его не получится. У вас будет ошибка:
Ошибка копирования контейнера. У вас нет разрешений на экспорт ключа, потому что при создании ключа не был установлен соответствующий флаг. Ошибка 0x8009000B (-2146893813) Ключ не может быть использован в указанном состоянии.
Если получили такую ошибку, то для вас этот способ переноса не подходит. Можно сразу переходить к следующему.
Отдельно расскажу, как скопировать сертификат и закрытый ключ к нему в файл, чтобы перенести на другой компьютер без использования токена. Штатные возможности CryptoPro не позволяют скопировать закрытый ключ в файл.
Запускаем Internet Explorer, открываем его настройки и переходим на вкладку Содержание. Там нажимаем на Сертификаты.
Выбираем нужный сертификат и нажимаем Экспорт.
Если у вас после слов «Экспортировать закрытый ключ вместе с сертификатом» нет возможности выбрать ответ «Да, экспортировать закрытый ключ«, значит он не помечен как экспортируемый и перенести его таким способом не получится. Можно сразу переходить к другому способу, который описан ниже.
Если же такая возможность есть, то выбирайте именно этот пункт и жмите Далее. В следующем меню ставьте все галочки, так вам будет удобнее и проще в будущем, если вдруг опять понадобится копировать ключи уже из нового места.
Сохраните сертификат для удобства в ту же папку, куда сохранили закрытый ключ от него.
В итоге у вас должны получиться 2 файла с расширениями:
Вам достаточно перенести эти 2 файла на другой компьютер и кликнуть по каждому 2 раза мышкой. Откроется мастер по установке сертификатов. Вам достаточно будет выбрать все параметры по-умолчанию и понажимать Далее. Сертификат и контейнер закрытого ключа к нему будут перенесены на другой компьютер.
Я описал первый способ переноса в ручном режиме. Им можно воспользоваться, если у вас немного сертификатов и ключей. Если их много и руками по одному переносить долго, то переходим ко второму способу.
Массовый перенос ключей и сертификатов CryptoPro с компьютера на компьютер
В интернете достаточно легко находится способ переноса контейнеров закрытых ключей КриптоПро через копирование нужной ветки реестра, где это все хранится. Я воспользуюсь именно этим способом. А вот с массовым переносом самих сертификатов у меня возникли затруднения и я не сразу нашел рабочий способ. Расскажу о нем тоже.
Для дальнейшей работы нам надо узнать SID текущего пользователя, у которого мы будем копировать или переносить сертификаты с ключами. Для этого в командной строке выполните команду:
В данном случай zerox — имя учетной записи, для которой узнаем SID.
Далее скопируем контейнеры закрытых ключей в файл. Для этого на компьютере открываем редактор реестра и переходим в ветку:
где S-1-5-21-4126079715-2548991747-1835893097-1000 — SID пользователя, у которого копируем сертификаты. Выбираем папку Keys и экспортируем ее.
Сохраняем ветку реестра в файл. В ней хранятся закрытые ключи.
Теперь нам нужно скопировать сразу все сертификаты. В Windows 7, 8 и 10 они живут в директории — C:UserszeroxAppDataRoamingMicrosoftSystemCertificatesMy. Сохраняйте эту директорию.
Для переноса ключей и сертификатов нам надо скопировать на другой компьютер сохраненную ветку реестра и директорию с сертификатами My. Открываем файл с веткой реестра в текстовом редакторе и меняем там SID пользователя со старого компьютера на SID пользователя нового компьютера. Можно прям в блокноте это сделать поиском с заменой.
Я не раз пользовался этим методом, на текущий момент он 100% рабочий. Написал статью,чтобы помочь остальным, так как сам не видел в интернете подробной и понятной с первого раза статьи на эту тему. Надеюсь, моя таковой получилась.
Источник
Как скопировать контейнер/закрытую часть ключа?
Если для работы используется дискета или flash-накопитель, копирование можно выполнить средствами Windows (этот способ подходит для версий КриптоПро CSP не ниже 3.0). Папку с закрытым ключом (и файл сертификата — открытый ключ, если он есть) необходимо поместить в корень дискеты (flash-накопителя). Название папки при копировании рекомендуется не изменять. Папка с закрытым ключом должна содержать 6 файлов с расширением .key.
Пример закрытого ключа — папки с шестью файлами, и открытого ключа — файла с расширением .cer.
Копирование контейнера также можно выполнить с помощью КриптоПро CSP. Для этого необходимо выполнить следующие шаги:Как правило, в закрытом ключе присутствует открытый ключ (файл header.key в этом случае будет весить больше 1 Кб). В этом случае копирование открытого ключа выполнять не обязательно.
Копирование с помощью КриптоПро CSP
1. Выбрать Пуск / Панель Управления / КриптоПро CSP.
2. Перейти на вкладку Сервис и кликнуть по кнопке Скопировать контейнер.
3. В окне «Копирование контейнера закрытого ключа» нажмите на кнопку «Обзор».
4. Выберите контейнер, который необходимо скопировать, и кликните по кнопке «Ок», затем «Далее».
5. Если вы копируете с защищённого ключевого носителя, то появится окно ввода, в котором следует указать pin-код.
6. Если вы не меняли pin-код на носителе, стандартный pin-код необходимо вводить соответственно его типу:
7. В следующем окне необходимо ввести имя Вашей копии. Придумайте и укажите вручную имя для нового контейнера. В названии контейнера допускается русская раскладка и пробелы. Затем кликните «Готово».
8. В окне «Выбор ключевого носителя» выберите носитель, на который будет помещен новый контейнер.
9. На новый контейнер будет предложено установить пароль. Рекомендуем установить такой пароль, чтобы вам было легко его запомнить, но посторонние не могли его угадать или подобрать. Если вы не хотите устанавливать пароль, можно оставить поле пустым и нажать «ОК».
В случае утери пароля/pin-кода использование контейнера станет невозможным.
10. Если вы копируете контейнер на смарт-карту ruToken/eToken /JaCarta, окно запроса будет выглядеть так:
11. В окне ввода укажите pin-код. Если вы не меняли pin-код на носителе, стандартный pin-код
12. После копирования система вернется на вкладку «Сервис» КриптоПро CSP. Копирование завершено.
13. Для работы с копией ключевого контейнера необходимо установить личный сертификат.
14. В меню Пуск выберите пункт «КРИПТО-ПРО», запустите приложение «КриптоПро CSP»
15. Перейдите на вкладку «Сервис» и нажмите кнопку «Просмотреть сертификаты в контейнере»:
16. В следующем окне нажмите кнопку Обзор, чтобы выбрать контейнер для просмотра (в нашем примере контейнер находится в Реестре):
17. После выбора контейнера нажмите кнопку Ок, затем Далее
18. Если после нажатия на кнопку Далее Вы видите такое сообщение:
19. «В контейнере закрытого ключа отсутствует открытый ключ шифрования», следует установить сертификат по рекомендациям, описанным в разделе «Установка через меню «Установить личный сертификат».
20. В окне Сертификат для просмотра нажмите кнопку Установить:
21. Если откроется сообщение «Этот сертификат уже присутствует в хранилище сертификатов. Заменить существующий сертификат новым, с проставленной ссылкой на закрытый ключ?», нажмите Да:
22. Дождитесь сообщения об успешной установке:
23. Сертификат установлен. Можно закрыть все открытые окна КриптоПро.
Установка через меню «Установить личный сертификат».
1. Для установки сертификата этим способом Вам понадобится файл сертификата (файл с расширением.cer).
2. В меню Пуск выберите пункт «КРИПТО-ПРО», запустите приложение «КриптоПро CSP»
3. Перейдите на вкладку «Сервис» и нажмите кнопку «Установить личный сертификат»:
4. В следующем окне нажмите кнопку Обзор, чтобы выбрать файл сертификата. Укажите путь к файлу сертификата и нажмите кнопку Открыть (в нашем примере файл сертификата находится на Рабочем столе):
5. В следующем окне нажмите кнопку Далее; в окне Сертификат для установки нажмите Далее.
6. Поставьте галку в окне Найти контейнер автоматически (в нашем примере контейнер находится в Реестре компьютера) и нажмите Далее:
7. В следующем окне отметьте пункт Установить сертификат (цепочку сертификатов) в контейнер и нажмите Далее:
8. В окне Завершение мастера установки личного сертификата нажмите Готово.
9. Если КриптоПро CSP запрашивает pin-код от контейнера, введите нужный код или попробуйте стандартные pin-коды носителей:
10. Если откроется сообщение «Этот сертификат уже присутствует в хранилище сертификатов. Заменить существующий сертификат новым, с проставленной ссылкой на закрытый ключ?», нажмите Да:
11. Сертификат установлен. Можно закрыть все открытые окна КриптоПро.
Остались вопросы?
Отдел технической поддержки
Источник
Как скопировать контейнер с сертификатом на другой носитель
Копирование средствами Windows
Если для работы используется дискета или flash-накопитель, скопировать контейнер с сертификатом можно средствами Windows (этот способ подходит для версий КриптоПро CSP не ниже 3.0). Папку с закрытым ключом (и, если есть, файл сертификата — открытый ключ) поместите в корень дискеты / flash-накопителя (если поместить не в корень, то работа с сертификатом будет невозможна). Название папки при копировании рекомендуется не изменять.
В папке с закрытым ключом должно быть 6 файлов с расширением.key. Как правило, в закрытом ключе присутствует открытый ключ (файл header.key в этом случае будет весить больше 1 Кб). В этом случае копировать открытый ключ необязательно. Пример закрытого ключа — папки с шестью файлами и открытого ключа — файла с расширением.cer.
Закрытый ключ Открытый ключ
Копирование на профиле Диагностики
1. Зайдите на профиль Диагностики «Копирования» по ссылке.
2. Вставьте носитель, на который необходимо скопировать сертификат.
3. На нужном сертификате нажмите на кнопку «Скопировать».
Если на контейнер был задан пароль — появится сообщение «Введите пароль для устройства с которого будет скопирован сертификат».
Введите пароль и нажмите на кнопку «Далее».
4. Выберите носитель, куда необходимо скопировать сертификат и нажмите «Далее».
5. Задайте имя новому контейнеру и нажмите на кнопку «Далее».
6. Должно появиться сообщение об успешном копировании сертификата.
Массовое копирование
4. После копирования нажмите внизу слева кнопку « Обновить ».
Если хотите работать со скопированными контейнерами — необходимо установить сертификаты.
Копирование с помощью КриптоПро CSP
Выберите «Пуск» > «Панель управления» > «КриптоПро CSP». Перейдите на вкладку « Сервис » и кликните по кнопке « Скопировать».
В окне « Копирование контейнера закрытого ключа » нажмите на кнопку « Обзор » .
Выберите контейнер, который необходимо скопировать, и кликните по кнопке «Ок», затем «Далее». Если вы копируете с рутокена, то появится окно ввода, в котором следует указать pin-код. Если вы не меняли pin-код на носителе, стандартный pin-код — 12345678.
В окне « Вставьте чистый ключевой носитель » выберите носитель, на который будет помещен новый контейнер.
На новый контейнер будет предложено установить пароль. Рекомендуем установить такой пароль, чтобы вам было легко его запомнить, но посторонние не могли его угадать или подобрать. Если вы не хотите устанавливать пароль, можно оставить поле пустым и нажать «ОК».
Не храните пароль/pin-код в местах, к которым имеют доступ посторонние. В случае утери пароля/pin-кода использование контейнера станет невозможным.
Если вы копируете контейнер на смарт-карту ruToken, сообщение будет звучать иначе. В окне ввода укажите pin-код. Если вы не меняли pin-код на носителе, стандартный pin-код — 12345678.
После копирования система вернется на вкладку «Сервис» КриптоПро CSP. Копирование завершено. Если вы планируете использовать для работы в Экстерне новый ключевой контейнер, установите его через Крипто Про.
Экспорт PFX-файла и его установка
Экспорт сертификата с закрытым ключом
1. Откройте оснастку работы с сертификатами:
— Пуск → Все программы → КриптоПро → Сертификаты
либо
— Internet Explorer → Сервис → Свойства обозревателя → вкладка Содержание → Сертификаты.
2. Откройте сертификат, который нужно скопировать. На вкладке «Состав» нажмите «Копировать в файл».
3. В «Мастере экспорта сертификтов» нажмите «Далее» и выберите пункт «Да, экспортировать закрытый ключ». Нажмите «Далее».
4. На следующем этапе поставьте галочки у пунктов «Включить по возможности все сертификаты в путь сертификации» и «Экспортировать все расширенные свойства», остальные галочки необходимо убрать. Нажмите «Далее».
5. Обязательно задайте пароль для экспортируемого файла. Данный пароль не рекомендуется сообщать по электронной почте. Нажмите «Далее».
6. Укажите имя файла, выберите путь сохранения и нажмите «Далее», затем нажмите «Готово».
7. Экспортируйте открытый ключ сертификата (см. Экспорт открытого ключа).
Установка сертификата с закрытым ключом
2. Укажите хранилище «Текущий пользователь» и нажмите «Далее», затем снова «Далее».
3. Введите пароль, который указывали при экспорте и поставьте галочку на пункте «Пометить этот ключ как экспортируемый…», иначе наче контейнер нельзя будет скопировать в дальнейшем. Нажмите «Далее».
4. Выберите пункт «Поместить все сертификаты в следующее хранилище», нажмите на кнопку «Обзор», выберите «Личное» и нажмите на кнопку «ОК». Нажмите «Далее», а затем «Готово».
5. В окне КриптоПро выберите носитель, на который хотите сохранить контейнер. При необходимости задайте пароль.
6. Для корректной работы сертификата со встроенной лицензией переустановите сертификат в контейнер (см. Как установить личный сертификат в КриптоПро).
Копирование контейнера из реестра другого пользователя
1. Необходимо найти ветку реестра с нужным контейнером. Ветки реестра, в которых может быть контейнер закрытого ключа:
2. После того, как нашли нужную ветку, нажмите правой кнопкой мыши на ветку с контейнером и выберите «Экспортировать».
3. Введите имя файла и нажмите на кнопку «Сохранить».
4. Скопируйте файл на тот компьютер, где будете работать с электронной подписью обычными средствами Windows.
6. Как диагностика закончится, нажмите на ссылку «Показать результаты».
7. В списке результатов выберите «Информация о Windows». Скопируйте оттуда SID текущего пользователя.
8. Откройте экспортированный файл реестра с помощью «Блокнота».
9. Замените SID пользователя на скопированный ранее.
Если ветка реестра экспортируется из 32-битной ОС в 64-битную ОС, добавьте в путь ветки реестра параметр Wow6432Node как на скриншоте:
10. Сохраните изменения и закройте файл.
11. Снова нажмите на файл правой кнопкой мыши и выберите «Слияние». В появившемся окне нажмите «Да».
Должно появиться сообщение о том, что данные успешно внесены в реестр. Нажмите «ОК».
Если появляется сообщение «Ошибка при доступе к реестру», необходимо еще раз проверить все пути в файле на корректность. Также проверьте, чтобы в пути не было лишних пробелов, знаков.
12. После того, как данные будут внесены в реестр, необходимо вручную установить сертификат (см. Как установить личный сертификат).
Источник
Форум КриптоПро
»
Устаревшие продукты
»
КриптоПро CSP 3.6
»
Проблема — копирование ключей с дискеты в реестр
Nefedor |
|
Статус: Новичок Группы: Участники
|
Не удается скопировать ключ с дискеты в реестр средствами Крипто про. Выдает ошибку копирования контейнера… При этом отлично копируется с дискеты на дискету средствами виндовс.Работать с дискетой нет возможности,так как это 1U исполнение, Помогите.. Пользователь Nefedor прикрепил следующие файлы: 1.JPG (49kb) загружен 1,391 раз(а). У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться. |
|
|
Ivanov-aa |
|
Статус: Сотрудник Группы: Участники Сказал(а) «Спасибо»: 9 раз |
Ваш контейнер помечен как не экспортируемый, скопировать в реестр у вас не получится |
|
|
Nefedor |
|
Статус: Новичок Группы: Участники
|
могу ли я в этом случае скопировать с дискеты на дискету или на флешку?и какими средствами? Отредактировано пользователем 29 ноября 2011 г. 16:10:13(UTC) |
|
|
Ivanov-aa |
|
Статус: Сотрудник Группы: Участники Сказал(а) «Спасибо»: 9 раз |
Цитата: могу ли я в этом случае скопировать с дискеты на дискету или на флешку? Да, можете. Цитата: и какими средствами? Стандартными средствами windows Цитата: как определить экспортируемый ли контейнер или нет? Через КриптоПро CSP-Сервис-Протестировать, выведет сообщение о полном тесте контейнера, где указано Экспортируемый у вас ключ или нет. Отредактировано пользователем 29 ноября 2011 г. 16:42:33(UTC) |
|
|
Nefedor |
|
Статус: Новичок Группы: Участники
|
спасибо за полный и исчерпывающий ответ) |
|
|
murgen |
|
Статус: Новичок Группы: Участники
|
Получили два контейнера, похоже, что оба имеют запрет на экспорт (в версии 3.6 не обнаружил КриптоПро CSP-Сервис-Протестировать). Оба контейнера имеют имя папки «RaUser-5.000», а нам необходимо разместить данные контейнеры на одном носителе (используем флешку). Изменение наименование папки контейнера например на RaUser-5.001, приводит к сообщению КриптоПро «вставите другой ключевой носитель» Какие есть способы решения данной проблемы? Отредактировано пользователем 30 ноября 2011 г. 18:44:52(UTC) |
|
|
Ivanov-aa |
|
Статус: Сотрудник Группы: Участники Сказал(а) «Спасибо»: 9 раз |
Цитата: в версии 3.6 не обнаружил КриптоПро CSP-Сервис-Протестировать это функция доступна в версии 3.6 R2 Снять значения ключа, как «не экспортируемый», вы не сможете. Если собираетесь переименовывать контейнер, то переименовываете следующим образом <название котейнера>.000 . |
|
|
murgen |
|
Статус: Новичок Группы: Участники
|
Спасибо за ответ. Но есть некоторые детали. Хочу поделится может быть будет кому интересно. Как было предложено скопировал контейнер на флешку с именем папки «Test2.000» далее если зайти в КриптоПро CSP-Сервис-Протестировать (в этот раз использовал R2), в списке устройств. По умолчанию в разделе «В списке показывать» стоит «Дружественные имена», если все оставить как есть и нажать «Ок», то будет показано окно с выбором носителя и на против флешки на которой находится контейнер будет написано «набор ключей не обнаружен». Если повторить операцию но выбрать в разделе «В списке показывать» — «Уникальные имена» то все пройдет отлично, причем после ввода пароля в реестре появится следующая запись: HKEY_LOCAL_MACHINESOFTWAREWow6432NodeCrypto ProSettingsUSERSS-1-5-21-3701810965-1105030993-3891284197-1000KeyDevicespasswordsRaUser-5bxxxxxxxxxxxxxxxxxxxxxxx где будет параметр: «shortcut» с значением: «FAT1246BA4A8_KINGSTONtest2.000F733» После чего обращение к контейнеру будет происходить как по «Дружественному имени» так и по «Уникальному имени», если же пароль введен не будет, то соответственно запись в реестре будет отсутствовать и обращение по дружественному имени будет невозможно. P.S. У кого версия КриптоПро не R2, т.е. нет функции «Протестировать», можно воспльзоватся функцией замены пароля (поменяв на тот же самый), все тоже прекрасно работает. Отредактировано пользователем 1 декабря 2011 г. 14:54:20(UTC) |
|
|
Пользователи, просматривающие эту тему |
Guest |
Форум КриптоПро
»
Устаревшие продукты
»
КриптоПро CSP 3.6
»
Проблема — копирование ключей с дискеты в реестр
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Post Views: 8 612
Ошибка копирования контейнера. У вас нет разрешений на экчспорт ключа, потому что при создании ключа не был установлен соответствующий флаг. Ошибка 0x8009000b: Ключ не может быт использован в указанном состоянии.
Такая вот ошибка стала вылазить, когда хотели скопировать закрытые ключи в реестр. А все дело в том, что при генерации ключа, на том же портале fzs.roskazna.ru вы не придали полю «Экспортируемый закрытый ключ» значения. И оставили его по умолчанию «Нет». Вот такие потом не удобства и возникают. С добавлением ключа в реестр.
Tokens.exe — если неэкспортируемый ключ на токене — тогда эту утилиту юзайте!
При установке обязательно поставьте 3 дополнения которые он предложит. После этого откроется полный функционал для экспорта «не экспортируемых» закрытых ключей с токенов.
CertFix.exe — с флешек лечится этой утилитой.
Чтобы сделать копию такого сертификата, нам нужно:
Запустить утилиту, подождать, когда загрузится список сертификатов. Напротив строки «Поиск» появится информация «Загрузка завершена».
Одновременно нажать кнопку SHIFT на клавиатуре и правой кнопкой мыши кликнуть по нужному контейнеру.
Появится меню «Сделать экспортируемым». Выбираем вариант в зависимости от расположения контейнера.
В принципе на этом все. Пользуемся, очень много случаев — когда по незнанию люди переделывали ЭЦП. А это время и нервы.
Мне постоянно приходится иметь дело
с сертификатами, токенами, закрытыми ключами, криптопровайдерами и
прочим. Сейчас все завязано на это — банкинг, сдача отчетности в разные
гос органы, обращения опять же в эти органы, в том числе и физ лиц. В
общем, с этой темой рано или поздно придется познакомиться многим. Для
того, чтобы перенести все это хозяйство с одного компьютера на другой,
иногда приходится прилично повозиться, особенно тем, кто не в теме.
by zerox https://serveradmin.ru/perenos-konteynerov-zakryityih-klyuchey-i-sertifikatov-cryptopro/
Перенести закрытые ключи и сертификаты КриптоПро на другой компьютер можно двумя способами:
- Перенести
или скопировать контейнер закрытого ключа через стандартную оснастку
CryptoPro в панели управления. Это самый простой и быстрый способ, если у
вас не много сертификатов и ключей. Если же их несколько десятков, а
это не такая уж и редкость, то такой путь вам не подходит. - Скопировать
сертификаты и ключи непосредственно через перенос самих исходных файлов
и данных, где все это хранится. Объем работы одинаков и для 5 и для
50-ти сертификатов, но требуется больше усилий и знаний.
Я
опишу оба этих способа, но подробно остановлюсь именно на втором
способе. В некоторых ситуациях он является единственно возможным.
Важное замечание. Я буду переносить контейнеры закрытого ключа, которые
хранятся в реестре. Если вы храните их только на токене, то переносить
контейнеры вам не надо, только сертификаты.
Копирование закрытого ключа через оснастку КриптоПро
Для того, чтобы скопировать контейнер для хранения закрытого ключа сертификата штатным средством, необходимо в Панели управления открыть оснастку CryptoPro, перейти в раздел Сервис и нажать Скопировать.
Далее
вы выбираете текущий контейнер, который хотите скопировать. Это может
быть либо токен, либо реестр компьютера. Затем новое имя и новое
расположение контейнера. Опять же, это может быть как реестр, так и
другой токен.
Ошибка копирования контейнера
Но
тут есть важный нюанс. Если во время создания закрытого ключа он не был
помечен как экспортируемый, скопировать его не получится. У вас будет
ошибка:
Ошибка
копирования контейнера. У вас нет разрешений на экспорт ключа, потому
что при создании ключа не был установлен соответствующий флаг. Ошибка
0x8009000B (-2146893813) Ключ не может быть использован в указанном
состоянии.
Если получили такую ошибку, то для вас этот способ переноса не подходит. Можно сразу переходить к следующему.
Отдельно
расскажу, как скопировать сертификат и закрытый ключ к нему в файл,
чтобы перенести на другой компьютер без использования токена. Штатные
возможности CryptoPro не позволяют скопировать закрытый ключ в файл.
Запускаем Internet Explorer, открываем его настройки и переходим на вкладку Содержание. Там нажимаем на Сертификаты.
Выбираем нужный сертификат и нажимаем Экспорт.
Если у вас после слов «Экспортировать закрытый ключ вместе с сертификатом» нет возможности выбрать ответ «Да, экспортировать закрытый ключ«,
значит он не помечен как экспортируемый и перенести его таким способом
не получится. Можно сразу переходить к другому способу, который описан
ниже.
Если же такая возможность есть, то выбирайте именно этот пункт и жмите Далее.
В следующем меню ставьте все галочки, так вам будет удобнее и проще в
будущем, если вдруг опять понадобится копировать ключи уже из нового
места.
Укажите
какой-нибудь пароль и запомните его! Без пароля продолжить нельзя. В
завершении укажите имя файла, куда вы хотите сохранить закрытый ключ.
Теперь вам нужно скопировать сам сертификат. Только что мы копировали
закрытый ключ для него. Не путайте эти понятия, это разные вещи. Опять
выбираете этот же сертификат в списке, жмите Экспорт и выберите файл
формата .CER.
Сохраните сертификат для удобства в ту же папку, куда сохранили закрытый ключ от него.
В итоге у вас должны получиться 2 файла с расширениями:
- .pfx
- .cer
Вам
достаточно перенести эти 2 файла на другой компьютер и кликнуть по
каждому 2 раза мышкой. Откроется мастер по установке сертификатов. Вам
достаточно будет выбрать все параметры по-умолчанию и понажимать Далее.
Сертификат и контейнер закрытого ключа к нему будут перенесены на другой
компьютер.
Я описал первый способ
переноса в ручном режиме. Им можно воспользоваться, если у вас немного
сертификатов и ключей. Если их много и руками по одному переносить
долго, то переходим ко второму способу.
Массовый перенос ключей и сертификатов CryptoPro с компьютера на компьютер
В
интернете достаточно легко находится способ переноса контейнеров
закрытых ключей КриптоПро через копирование нужной ветки реестра, где
это все хранится. Я воспользуюсь именно этим способом. А вот с массовым
переносом самих сертификатов у меня возникли затруднения и я не сразу
нашел рабочий способ. Расскажу о нем тоже.
Для
дальнейшей работы нам надо узнать SID текущего пользователя, у которого
мы будем копировать или переносить сертификаты с ключами. Для этого в
командной строке выполните команду:
wmic useraccount where name='zerox' get sid
В данном случай zerox — имя учетной записи, для которой узнаем SID.
Далее скопируем контейнеры закрытых ключей в файл. Для этого на компьютере открываем редактор реестра и переходим в ветку:
HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeCrypto ProSettingsUsersS-1-5-21-4126079715-2548991747-1835893097-1000Keys
где S-1-5-21-4126079715-2548991747-1835893097-1000
— SID пользователя, у которого копируем сертификаты. Выбираем папку
Keys и экспортируем ее.
Сохраняем ветку реестра в файл. В ней хранятся закрытые ключи.
Теперь нам нужно скопировать сразу все сертификаты. В Windows 7, 8 и 10 они живут в директории — C:UserszeroxAppDataRoamingMicrosoftSystemCertificatesMy. Сохраняйте эту директорию.
Для
переноса ключей и сертификатов нам надо скопировать на другой компьютер
сохраненную ветку реестра и директорию с сертификатами My.
Открываем файл с веткой реестра в текстовом редакторе и меняем там SID
пользователя со старого компьютера на SID пользователя нового
компьютера. Можно прям в блокноте это сделать поиском с заменой.
После
этого запускаем .reg файл и вносим данные из файла в реестр. Теперь
скопируйте папку My с сертификатами в то же место в профиле нового
пользователя. На этом перенос сертификатов и контейнеров закрытых ключей
КриптоПро завершен. Можно проверять работу.
Я
не раз пользовался этим методом, на текущий момент он 100% рабочий.
Написал статью,чтобы помочь остальным, так как сам не видел в интернете
подробной и понятной с первого раза статьи на эту тему. Надеюсь, моя
таковой получилась.