Homebrew๐บ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ macOS์ GnuPG2 ์ค์นํ๊ธฐ
Ordinary Life์์ ์ฉ์ผ๋ก ์ฌ์ฉํ๋ Mac์ Homebrew๋ฅผ ์ฌ์ฉํ์ง ์๊ณ macOS์ GnuPG2๋ฅผ ์ค์นํด์ ์ฌ์ฉ ์ค์ ๋๋ค. ํน์ Homebrew ์์ด ์ฌ์ฉ์ ์ํ๋ ์ฌ๋๋ค์ด ์์ ๊ฑฐ ๊ฐ์ ๊ฐ๋จํ ์คํฌ๋ฆฝํธ์ ํจ๊ป ๊ธ์ ์์ฑํ์ต๋๋ค.
- ์๋์ Shell Script๋ฅผ
gnupg2.sh
๋ก ์ ์ฅํฉ๋๋ค.
#!/bin/sh
set -o nounset
set -o errexit
curl https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.40.tar.bz2 | tar xvj
curl https://gnupg.org/ftp/gcrypt/npth/npth-1.6.tar.bz2 | tar xvj
curl https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.46.tar.bz2 | tar xvj
curl https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.10.1.tar.bz2 | tar xvj
curl https://gnupg.org/ftp/gcrypt/libksba/libksba-1.6.2.tar.bz2 | tar xvj
curl https://gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.5.tar.bz2 | tar xvj
curl https://gnupg.org/ftp/gcrypt/pinentry/pinentry-1.2.1.tar.bz2 | tar xvj
echo "# npth 1.6"
( cd npth-1.6 && ./configure )
make -C npth-1.6
make check -C npth-1.6
make install -C npth-1.6
echo "# libgpg-error-1.46"
( cd libgpg-error-1.46 && ./configure \
--enable-install-gpg-error-config \
--disable-pinentry-qt \
--disable-pinentry-emacs \
--disable-inside-emacs \
--disable-pinentry-gtk2 \
--disable-pinentry-curses \
--enable-pinentry-tty )
make -C libgpg-error-1.46
make check -C libgpg-error-1.46
make install -C libgpg-error-1.46
echo "# libgcrypt 1.10.1"
( cd libgcrypt-1.10.1 && ./configure \
--disable-pinentry-qt \
--disable-pinentry-emacs \
--disable-inside-emacs \
--disable-pinentry-gtk2 \
--disable-pinentry-curses \
--enable-pinentry-tty \
--with-libgpg-error-prefix=/usr/local )
make -C libgcrypt-1.10.1
make check -C libgcrypt-1.10.1
make install -C libgcrypt-1.10.1
echo "# libksba 1.6.2"
( cd libksba-1.6.2 && ./configure \
--disable-pinentry-qt \
--disable-pinentry-emacs \
--disable-inside-emacs \
--disable-pinentry-gtk2 \
--disable-pinentry-curses \
--enable-pinentry-tty )
make -C libksba-1.6.2
make check -C libksba-1.6.2
make install -C libksba-1.6.2
echo "# libassuan 2.5.5"
( cd libassuan-2.5.5 && ./configure \
--disable-pinentry-qt \
--disable-pinentry-emacs \
--disable-inside-emacs \
--disable-pinentry-gtk2 \
--disable-pinentry-curses \
--enable-pinentry-tty )
make -C libassuan-2.5.5
make check -C libassuan-2.5.5
make install -C libassuan-2.5.5
echo "# pinentry 1.2.1"
( cd pinentry-1.2.1 && ./configure )
make -C pinentry-1.2.1
make check -C pinentry-1.2.1
make install -C pinentry-1.2.1
echo "# gnupg 2.2.40"
( cd gnupg-2.2.40 && ./configure \
--enable-gpg-is-gpg2 \
--with-pinentry-pgm )
make -C gnupg-2.2.40
make check -C gnupg-2.2.40
make install -C gnupg-2.2.40
make install -C gnupg-2.2.40/dirmngr
- ์๋์ ๋ช ๋ น์ด๋ก ๋น๋ ๋ฐ ์ค์น๋ฅผ ํฉ๋๋ค.
chmod +x ./gnupg2.sh
sudo ./gnupg2.sh
-
๋ชจ๋ ์์ ์ด ๋๋๋ฉด,
export GPG_TTY=$(tty)
๋ฅผ~/.zshrc
ํ์ผ์ ๋งจ ์๋ซ์ค์ ์ถ๊ฐํฉ๋๋ค. -
echo "test" | gpg --clearsign
๋ฅผ ํฐ๋ฏธ๋์ ์ ๋ ฅํด์ ์ ์์ ์ผ๋ก ์๋ํ๋์ง ํ์ธํฉ๋๋ค.