Использовать сертификат для доступа к локальной программе? - PullRequest
0 голосов
/ 11 ноября 2009

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

Звучит неправдоподобно? Или это похоже на то, что делают приложения AIR или iPhone?

Какой тип сертификата мне следует использовать? Какое шифрование? Было бы неплохо использовать PGP в качестве отправной точки?

Обновление: идея заключается в использовании сертификата для аутентификации. Это заменяет пароль.

Приветствия

-Крис.

1 Ответ

2 голосов
/ 11 ноября 2009

Эти вещи обычно называют «файлами лицензий», а не сертификатами. Вы используете их для аутентификации пользователей вместо пароля, но это одно и то же.

Обычно вы создаете это с использованием криптосистемы с открытым ключом, такой как RSA (как используется в PGP). Вы генерируете пару ключей и встраиваете открытый ключ в свое приложение. Затем вы пишете файлы лицензий для клиентов и подписываете их цифровым ключом. Когда приложение запускается, оно ищет файл лицензии и проверяет подпись.

Вы можете реализовать это всевозможными способами. Стандартным способом было бы использовать PKCS # 7 в качестве формата конверта со знаком, RSA или DSA в качестве асимметричного алгоритма, SHA-1 в качестве алгоритма хеширования и AES в качестве симметричного алгоритма.

...