NeoPG์ ์ฃผ์ ์ฐจ์ด์ ์ ์ค๋๋ ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ์ผ๋ก ์ธํ ์ฝ๋ ์ ๋ฆฌ, C ์ธ์ด์์ C++11๋ก์ ์ ํ, ์ ์ง ๊ด๋ฆฌ๋ฅผ ๋จ์ํํ๊ธฐ ์ํ ์์ค ํ
์คํธ ๊ตฌ์กฐ ์ฒ๋ฆฌ ๋ฐ ๊ฐ๋ฐ์ ์ํ ํ์ฅ ๊ฐ๋ฅํ API ์ ๊ณต์
๋๋ค. ์ถ๊ฐ ๊ธฐ๋ฅ์. ์์ ํ ์๋ก์ด ์ฝ๋
๋ณ๊ฒฝ ์ฌํญ ์ค์๋ cmake ์ด์
๋ธ๋ฆฌ ์์คํ
์ผ๋ก์ ์ ํ๊ณผ Libgcrypt๋ฅผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๊ต์ฒดํ๋ ๊ฒ์ด ์์ต๋๋ค.
NeoPG์ ํต์ฌ ๊ธฐ๋ฅ์ libneopg ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํํ๋ก ๊ตฌํ๋์ด ํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ช ๋ น์ค ์ธํฐํ์ด์ค๋ libneopg ์์ ๊ตฌํ๋์ด GnuPG์ ํฌํจ๋ ์๋ก ๋ค๋ฅธ ์ ํธ๋ฆฌํฐ(gpg, gpgsm, gpgconf, gpgv, gpgtar ๋ฑ)๋ฅผ Git ์คํ์ผ ํ์ ๋ช ๋ น ๋ฐ ์์ ์ถ๋ ฅ ์ง์๊ณผ ํจ๊ป ๋จ์ผ neopg ์คํ ํ์ผ๋ก ๊ฒฐํฉํฉ๋๋ค. GnuPG 2์์ ํธํ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด "neopg gpg2" ๋ช ๋ น ๋ด์ ๋ ์ด์ด๊ฐ ๊ตฌํ๋์์ต๋๋ค.
์ ๋ฆด๋ฆฌ์ค์์๋ gpg2 ์ ํธ๋ฆฌํฐ์์ ํธํ์ฑ์ด ํฅ์๋์์ต๋๋ค. gpg2๊ฐ neopg์ ๋ํ ํ๋ ๋งํฌ์ธ ๊ฒฝ์ฐ GnuPG 2์์ ๋ช ๋ น ํธํ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ๋ ์ด์ด๊ฐ ์๋์ผ๋ก ์ ์ฉ๋ฉ๋๋ค. ์๋ก์ด "ํจํท ๋คํ" ๋ช ๋ น์ด ์ถ๊ฐ๋์์ต๋๋ค. Ubuntu 18.04์ ๋ํ ์ง์์ด ์ ๊ณต๋ฉ๋๋ค. Cmake ๋น๋ ์คํฌ๋ฆฝํธ์ ์ฑ๋ฅ์ด ํฅ์๋์์ต๋๋ค. Boost::format ๋์ fmtlib ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. ํค ์ ์ฅ์์ ๋ํ OpenPGP ํ์๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
์ถ์ฒ : opennet.ru