2010-02-23 2 views
3

Я работаю над приложением с несколькими клиентами и сервером, на котором работают различные веб-сервисы для клиентов. Чтобы реализовать лицензирование, я думаю об использовании HTTPS в качестве протокола для веб-сервисов с использованием сертификатов, выпущенных нашей компанией. В зависимости от даты истечения срока действия сертификата для клиента мы можем помешать им использовать наше программное обеспечение после срока действия лицензии.Можно ли использовать сертификаты HTTPS для лицензирования?

Это возможно и имеет ли это значение для вас?


Дополнительная информация: Я планирую использовать Qt/C++ для клиентов, и Twisted рамки для веб-сервисов.

+0

Это означает, что если клиент хочет получить лицензию на 3 года, им придется купить сертификат 3yrs. И есть ли вероятность того, что более одного клиента будут получать доступ к одному и тому же веб-сервису? – zapping

+0

Да, несколько клиентов будут обращаться к одной и той же веб-службе. В идеале я хотел бы использовать один сертификат для каждого клиента, который каким-то образом содержит информацию о количестве клиентов, которым они могут пользоваться. –

ответ

1

Он должен работать. Я не очень хорошо знаю Twisted, но вы можете разместить прокси-сервер Apache перед веб-сервисом и иметь этот handle certificate based authentication.

Что касается стороны клиента, посмотрите this bug. libcurl должен предоставить вам маршрут эвакуации, если Qt дает проблемы.

Вам нужно будет продумать процедуры вокруг центра сертификации, чтобы убедиться, что это работает оперативно. Являются ли ваши отделы продаж и биллинга удобными с датой жесткой даты отсечения для каждого клиента? Будет ли сертификат выдаваться по заказу на поставку или оплата счета?

0

Я не думаю, что будет работать, клиент может выбрать игнорировать любые ошибки сертификата, проверьте событие RemoteCertificateValidationCallback в System.Net.Security

http://msdn.microsoft.com/en-us/library/system.net.security.remotecertificatevalidationcallback.aspx

+0

Я должен был упомянуть, что клиенты написаны на C++ и что веб-службы будут использовать среду Twisted. –

+0

Ах, извините, не знаю, почему я предположил C#, подумал, что это было отмечено как таковое (но это не так) – JonoW

Смежные вопросы