Одним из способов является использование криптографической библиотеки, такой как GPG
или OpenSSL
. С ними обоими вы создаете пару открытый / закрытый ключ Вы подписываете заявку с помощью закрытого ключа. Плагин для браузера содержит открытый ключ, который используется для проверки подписи. Эти библиотеки не особенно просты в использовании. Прочитайте, например, dgst.c
из пакета OpenSSL. Вам нужно будет адаптировать его (по крайней мере, часть проверки) к вашему плагину. Есть много API для изучения! Вы можете использовать dgst.c
как есть, чтобы подписать файлы.
Если вы работаете в Windows, вы также можете использовать Windows Crypto API (CAPI) практически таким же образом, но я почти ничего не знаю о Windows API.
Другой способ - реализовать алгоритм подписи с нуля. Это не для слабонервных тоже. Прочитайте http://en.wikipedia.org/wiki/Digital_signature,, выберите метод, который выглядит легко реализуемым (RSA, DSA, ElGamal ...), и реализуйте его (как подписывающую и проверяющую части, так и только проверяющую часть), но затем убедитесь, что он совместим с OpenSSL или GPG, поэтому вы можете использовать их для подписи.