Pomocí GPG s C?

hlasů
3

Píšu komunikační program v C a já jsem hledal nejlepší způsob, jak používat šifrování GnuPG. Jsem již pomocí symetrických šifrovacích algoritmů pomocí knihovny mcrypt ale chtějí začlenit některé veřejné-key schopnosti, pokud možno s použitím GnuPG, pokud je to možné. Je tu dobrá knihovna k dispozici, jak toho dosáhnout? Že by bylo lepší, aby se pokusili komunikovat s sám přímo SVS prostřednictvím programu toho dosáhli? Jakýkoliv pohled by ocenili, jak bych chtěl, aby tato plnění tak čistá, jak je to možné. Dík.

Položena 05/01/2012 v 18:53
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
4

Bohužel, GnuPG je navržen tak, aby být použity interaktivně, a ne jako API.

Zmínil jste, že jste se snaží začlenit některé s veřejným klíčem schopnosti. SSL a TLS jsou alternativy k SVS, které vidí mnohem častější použití.

Pokud s veřejným klíčem schopnosti obecně jsou to, co hledají, GnuTLS je API pro použití v síti založené na programech, které poskytují přesně to, co chcete. To má velkou podporu, a poskytuje SSL a TLS veřejného klíčové funkce šifrování.

Nicméně, pokud jste mrtvý nastavit na použití GPG, GPGME je projekt, který existuje zabalit API kolem GPG. Osobně jsem nepoužil ji a nemůže radit o jeho používání, ale tuší, že to může být trochu vynucený.

Odpovězeno 13/06/2012 v 08:05
zdroj uživatelem

hlasů
2

GPGme je opravdu oficiální API pro SVS a je snadno ovladatelný a dobře zdokumentované (příklady v testech / gpg jsou velmi užitečné)

Zde je příklad pro šifrování pro John Smith:

gpgme_data_t clear_text, encrypted_text;
gpgme_key_t recipients[2] = {NULL, NULL}; 
       /* The array must be NULL-terminated */
...
error = gpgme_op_keylist_start(context, "John Smith", 1);
error = gpgme_op_keylist_next(context, &recipients[0]);
...
error = gpgme_op_encrypt(context, recipients, 
               GPGME_ENCRYPT_ALWAYS_TRUST, 
                           clear_text, encrypted_text);
Odpovězeno 29/07/2015 v 13:05
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more