Эти вещи обычно называют «файлами лицензий», а не сертификатами. Вы используете их для аутентификации пользователей вместо пароля, но это одно и то же.
Обычно вы создаете это с использованием криптосистемы с открытым ключом, такой как RSA (как используется в PGP). Вы генерируете пару ключей и встраиваете открытый ключ в свое приложение. Затем вы пишете файлы лицензий для клиентов и подписываете их цифровым ключом. Когда приложение запускается, оно ищет файл лицензии и проверяет подпись.
Вы можете реализовать это всевозможными способами. Стандартным способом было бы использовать PKCS # 7 в качестве формата конверта со знаком, RSA или DSA в качестве асимметричного алгоритма, SHA-1 в качестве алгоритма хеширования и AES в качестве симметричного алгоритма.