25.08.2005 11:07:56коннект к серверу Ответов: 14
gromozeka
Написана программа для подписи\шифрации\дешифрации\проверки подписи на локальном компьютере, с использованием CryptoPro 2.0. В качестве носителей ключей- реестр.

Скажите, пожалуйста, а возможно ли следующее.

задача такая: Только на сервере стоит CryptoPro 2.0, Только на сервере ключи в реестре.
Возможно ли пользователям сети присоединяться к криптопровайдеру на сервере и с помощью ключей сервера делать необходимые процедуры по шифрованию\дешифрованию.

Конкретно меня интересует получения контекста криптопровайдера с сервера. можно ли это сделать с помощью CryptAcquireContext или как -нибудь по другому?

Если да, то намекните, пожалуйста, как это можно реализовать.

спасибо.
 
Ответы:
25.08.2005 16:33:00gromozeka
Ну помогите, пожалуйста! Ничего не могу найти по этому поводу...((
Возможно ли работать с CSP, если на машине пользователя его нету, а на серваке есть...
если да, то как?

спасибо.

26.08.2005 8:43:13support
>>>> задача такая:
1. Только на сервере стоит CryptoPro 2.0, Только на сервере ключи в реестре.
Возможно ли пользователям сети присоединяться к криптопровайдеру на сервере и с помощью ключей сервера делать необходимые процедуры по шифрованию\дешифрованию.

Судя по описанию - это режим использования терминального сервера.

>>> Конкретно меня интересует получения контекста криптопровайдера с сервера. можно ли это сделать с помощью CryptAcquireContext или как -нибудь по другому

Контекст с сервера на клиента не передать. А делать вам свое специальное приложение для этой цели, чтобы оно хранило состояние каждого клиента, решать задачу с разграничением ключей и что и чем будет подписываться?! Оно нужно именно в таком варианте?
26.08.2005 9:05:28jopas
TO gromozeka:
Разъясните бестолковому, зачем Вам нужно полученить контекст криптопровайдера с сервера, если по Вашему условию "Только на сервере стоит CryptoPro 2.0, Только на сервере ключи в реестре." ?????????????
Что Вы с ним будете делать на клиенте? Только без анатомических подробностей! :-)
26.08.2005 10:01:33gromozeka
>>"А делать вам свое специальное приложение для этой цели, чтобы оно хранило состояние каждого клиента, решать задачу с разграничением ключей и что и чем будет подписываться?! Оно нужно именно в таком варианте?"

а что значит "хранило состояние каждого клиента"??

>>"Разъясните бестолковому, зачем Вам нужно полученить контекст криптопровайдера с сервера, если по Вашему условию "Только на сервере стоит CryptoPro 2.0, Только на сервере ключи в реестре." ?????????????
"

В идеале нужно работать с криптопровайдером (КриптоПРО), который установлен только на сервере. Инсталляция криптоПро на машины клиентов не предусмотрена.
т.е. CSP и ключи на сервре. Любой пользователь, имеющий доступ должен работать с криптопровайдером, установленным на сервере, шифровать\дешифровать с помощью ключей, которые находятся в реестре сервера. Доступ к ключам - свободный. Т.е. четкого разграничения прав, какому пользователь какой ключ не нужно.

Вот меня и инетерсует, возможно ли работать с КРИПТОПРО, если на клиенте его нету, а на сервере установлен?!

спасибо.
26.08.2005 10:47:27kure
1. Терминальный доступ как стандартный вариант.
2. Разработка своего собственного приложения (краткие требования вы сами описали).
26.08.2005 10:48:52Василий
Если используется терминальный сервер, то, при подключении к нему клиента в терминальной сессии возможно использовать CSP, установленный только на сервере с ключами, расположенными на носителях, подключаемых к серверу.
Более того, если в качестве сервера используется Win2003 SP1, то можно работать с КриптоПро CSP версии 3.0 на сервере, а ключи брать со смарткарт или етокенов, подключаемых к клиентскому компьютеру. На клиенте CSP не нужен, только драйвера считывателей смарткарт (которые устанаыливаются и на сервер).
26.08.2005 10:52:49gromozeka
>>>>1. Терминальный доступ как стандартный вариант.
2. Разработка своего собственного приложения (краткие требования вы сами описали).

то есть возможно использовать CSP сервера?
а как реализовать Терминальный доступ ?
не подскажите, где рыть и что смотреть можно, ибо я ноль в этом...

спасибо
26.08.2005 11:00:10support
>>>> то есть возможно использовать CSP сервера?

Ну такого продукта как CSP сервер нету, но разработать приложение, которое вам нужно кто же мешает.

Терминальные север.
1. Citrix
2. Просто установить службу терминального сервера из виндовс сервера.
26.08.2005 16:14:43zebra
При терминальном доступе, возникает, по-моему, следующий вполне резонный вопрос.
Ведь ключи в реестре HKEY_LOCAL_MASHINE. и не только, по-видимому, ключи. А всё, что нужно для корректной работы КриптоПРО, тоже там...

Будет ли корректной работа с КриптоПРО и с ключами, которые в ветке реестра HKEY_LOCAL_MACHINE в терминальном режиме?! (т.е. вызовы СryptAcquireContext и CertOpenSystemStore будут ли получать контекст криптопровайдера, и пользоваться контейнерами из этой ветви реестра)
26.08.2005 17:14:50Василий
Если есть права администратора сервера у уч.записи, под которой устанавливается терминальная сессия - да, всё так и будет (если используемое приложение умеет работать с ключами и сертификатами LOCAL_MACHINE). Если права только пользователя, то ключи должны быть в ветке реестра, соответствующей этому пользователю. Либо на съёмном носителе.
А настройки КриптоПро CSP из HKLM доступны, т.к. к ним имеет доступ (на чтение) любой входящий в группу пользователей сервера или домена.
26.08.2005 17:39:08zebra
Скажите, пожалуйста, что вы имеете в виду под "Если права только пользователя, то ключи должны быть в ветке реестра, соответствующей этому пользователю. "
в ветке с SID пользователя как , например, HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\USERS\S-1-5-21-897209132-852581992-626671869-3408
или же в HKEY_CURRENT_USER.
Если у пользователя нет прав админа, то, как я понимаю, нету доступа и к ветке HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\USERS\S-1-5-21-897209132-852581992-626671869-3408. ИЛИ все же есть??

спасибо.
26.08.2005 17:50:07Василий
ИЛИ есть или нет - в зависимости от того, тот же это пользователь, что сделал ключевой контейнер или нет.
26.08.2005 18:00:37zebra
>>>>ИЛИ есть или нет - в зависимости от того, тот же это пользователь, что сделал ключевой контейнер или нет.

извините, пожалуйста, еще раз,, все таки уточню. за хранение ключей для пользателей отвечает ветка на сервере HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\USERS\<SID>, где у каждого пользователя свои ключи будут...

--Доступ к этой ветке будет иметь пользователь, имеющий права пользователя, а не админа?

26.08.2005 18:06:28Василий
совершенно верно. Но, только ИМЕННО ЭТОТ пользователь. Как только новый пользователь начинает работать с КриптоПро CSP, для него заводится своя ветка реестра.
А вот получить доступ к ключам компьютера (LOCAL_MACHINE) может любой, имеющий админские права.