Π½ΠΎΠ²ΡΠΉ Π²ΡΠΏΡΡΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠ° , ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΠΎΡΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ GnuPG (GNU Privacy Guard) c ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
, ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΌΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΌΠΈ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ°ΠΌΠΈ ΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΌ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΠΌ ΠΊΠ»ΡΡΠ΅ΠΉ.
ΠΠ»ΡΡΠ΅Π²ΡΠΌΠΈ ΠΎΡΠ»ΠΈΡΠΈΡΠΌΠΈ NeoPG ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ
Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ Ρ ΡΠ·ΡΠΊΠ° CΠΈ Π½Π° C++11, ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΡΡΠΊΡΡΡΡ ΠΈΡΡ
ΠΎΠ΄Π½ΡΡ
ΡΠ΅ΠΊΡΡΠΎΠ² Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ API Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π°Π΄ΡΡΡΠΎΠ΅ΠΊ. ΠΠ΅ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ BSD Π²ΠΌΠ΅ΡΡΠΎ GPLv3.
Π‘ΡΠ΅Π΄ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° ΡΠ±ΠΎΡΠΎΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ cmake, Π·Π°ΠΌΠ΅Π½Π° Libgcrypt Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ , Π·Π°ΠΌΠ΅Π½Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΏΠ°ΡΡΠ΅ΡΠΎΠ² ΠΈ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΠ Π½Π° libcurl ΠΈ SQLite. Π NeoPG ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ½ Π·Π°ΠΏΡΡΠΊ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ ΡΠΎΠ½ΠΎΠ²ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² gpg-agent, dirmngr (Directory Manager) ΠΈ scdaemon (Smart Card Daemon), Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΡΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, Π·Π°Π²Π΅ΡΡΠ°Π΅ΠΌΡΠ΅ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°Π΄Π°Π½ΠΈΡ.
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ NeoPG ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΡΠΎΡΠΌΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ libneopg, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ . ΠΠΎΠ²Π΅ΡΡ libneopg ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π² GnuPG ΡΠ°Π·ΡΠΎΠ·Π½Π΅Π½Π½ΡΡ ΡΡΠΈΠ»ΠΈΡ (gpg, gpgsm, gpgconf, gpgv, gpgtar ΠΈ Ρ.ΠΏ.) Π² Π΅Π΄ΠΈΠ½ΡΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» neopg Ρ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠ±ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΡΡΠΈΠ»Π΅ Git ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π°. Π ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«neopg gpg2Β» ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠ° Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ GnuPG 2.
Π Π½ΠΎΠ²ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΡΠ»ΡΡΡΠ΅Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ ΡΡΠΈΠ»ΠΈΡΠΎΠΉ gpg2 β Π΅ΡΠ»ΠΈ gpg2 ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΆΡΡΡΠΊΠΎΠΉ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° neopg, ΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ»ΠΎΠΉ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Ρ GnuPG 2. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½ΠΎΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«packet dumpΒ». ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Ubuntu 18.04. Π£Π»ΡΡΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° ΡΠ±ΠΎΡΠΎΡΠ½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Cmake. ΠΠΌΠ΅ΡΡΠΎ boost::format Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° fmtlib. ΠΠΎΠ±Π°Π²Π»Π΅Π½ OpenPGP ΠΏΠ°ΡΡΠ΅Ρ Π΄Π»Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru

