| ||||
| ||||
Здравствуйте! Требуется утилита командной строки для установки сертификата с привязкой к ключевому контейнеру (без установленного пароля на контейнер) из командной строки без отбражения какого бы то ни было GUI. После долгого изучения форума выяснилось, что для соляриса такая утилита есть - это storeman(http://www.cryptopro.ru/CryptoPro/forum/view.asp?q=1595). Есть ли что-то аналогичное для Windows 2000/XP/2003? Ссылки на http://www.cryptopro.ru/CryptoPro/products/command.asp и http://www.cryptopro.ru/CryptoPro/products/crypto_arm.asp уже не рабочие, хоть и есть в ответах на форуме (http://www.cryptopro.ru/CryptoPro/forum/view.asp?q=1832). Help!` | ||||
Ответы: | ||||
| ||||
http://www.cryptopro.ru/cryptopro/products/cryptcp/default.htm http://www.cryptopro.ru/cryptopro/products/crypto-arm/default.htm | ||||
| ||||
Спасибо, ссылку на cryptcp я уже нашел и скачал этот файл. Пытаюсь, используя временную лицензию, привязать сертификат к закрытому ключу, хранящемуся в контейнере. использую опцию -instcert cert.cer. После этого выдается список контейнеров, с предложением ввести нужный номер контейнера. Ввожу - получаю ошибку: Cannot find object or property (0x80092004). Привязка через GUI проходит нормально. Возникают вопросы: 1. Есть ли полноценная документация на cryptcp? cryptcp.exe -instcert -help выдает: Утилита командной строки для защиты данных. -instcert - Установка сертификата изданного сертификата из файла PKCS #7. Информация по параметрам команд пока недоступна. Пожалуйста, обратитесь к описанию. [ErrorCode: 0x00000002] 2. Какая же это утилита командной строки, если она выдает приглашения? Мне необходимо полностью автоматизировать процесс привязки сертификата к закрытому ключу, хранящемуся в контейнере, без участия пользователя. Видимо, требуется подробное и полное описание ключей cryptcp. Или на такие подвиги утилита неспособна в принципе? Тогда посоветуйте что-то способное. Help! | ||||
| ||||
Ссылки на документацию собственно внизу страницы http://www.cryptopro.ru/cryptopro/products/cryptcp/default.htm | ||||
| ||||
Спасибо за ссылку, документацию изучил. Теперь натыкаюсь на ту же ошибку, что описана здесь (но без решения): http://www.cryptopro.ru/cryptopro/forum/view.asp?q=4444. использую командную строку: cryptcp.exe -instcert -cont "Avangard2007" -ku -du avangard2007.cer контейнер в реестре, имя у контейнера "Avangard2007", сертификат в формате base64, предварительно создан так: cryptcp -copycert -dn "7702609364 770201001 7702" -u -df avangard2007.cer | ||||
| ||||
Можно прокомментировать: "сертификат в формате base64, предварительно создан так: cryptcp -copycert -dn "7702609364 770201001 7702" -u -df avangard2007.cer" Если всё так, значит, сертификат уже был установлен в хранилище. Зачем его ещё раз ставить? | ||||
| ||||
Поясняю. Есть хранилище с закрытым ключом. Контейнер - реестр. Есть сертификат, созданный вышеуказанным способом. Теперь переносим хранилище на другую машину. Возникает необходимость связать закрытый ключ в хранилище с сертификатом. Пока это получается только вызовом мастера из панели управления CryptoPro. Необходимо делать это в пакетном режиме из командной строки, т.к. предполагается автоматизировать этот процесс и избавить конечного пользователя от необходимости щелкать по кнопкам. Причин для такой автоматизации масса - вплоть до автоматического восстановления разрушенного профиля (личные сертификаты, как известно, храняться в профиле пользователя). Как у пользователя возникает в контейнере "реестр" закрытый ключ - дело десятое, это уже автоматизировано. Осталось лишь автоматизировать связывание сертификата с закрытым ключом, хранящимся в контейнере. По идее, здесь и должна помочь cryptcp. Пока не получается ее так использовать, а очень надо. Help! | ||||
| ||||
Если пояснять дальше необходимость автоматизации, то у нас порядка десятка организаций, сдающих отчетность через Такском. Бухгалтеры, отвечающие за эти организации, могут меняться в соответствии с текущими производственными потребностями. Хочется автоматизировать весь процесс установки сертификатов для большого числа организаций и бухгалтеров, т.к. ручное отслеживание очень трудоемкое. Удаление/установку контейнеров автоматизировать получается, теперь осталось решить вторую половину задачи - связывание сертификатов с закрытыми ключами... | ||||
| ||||
1. Сертификат установлен в контейнер закрытого ключа? 2. Если да, то написать утилиту, устанавливающую все сертификаты из доступных ключевых контейнеров в Store с созданием ссылок на ключ займет у мало-мальски грамотного программиста максимум полчаса. | ||||
| ||||
Со своей стороны, поясню ещё один момент. Личные сертификаты пользователя (Win2000 и выше) хранятся в виде файлов в папке \Documents and Settings\<имя пользователя>\Application Data\Microsoft\SystemCertificates\My\Certificates\ Название файла - это значение поля "Отпечаток" при просмотре сертификата в окне. Чтобы перенести сертификат(ы) вместе с привязкой к ключу(ам) - достаточно скопировать файл(ы) с машины на машину. И отдельно перенести сами секретные ключи. | ||||
| ||||
2 maxdm: я бы и написал, если бы было время с этим разбираться (с CryptoAPI). Василий, спасибо, действительно простое копирование в указанный путь помогает. Совсем вылетело из головы, что My хранится именно там. Думаю, вопрос можно считать закрытым. Спасибо! | ||||