
GnuPG 1.4.19를 다운로드했습니다. 실행 파일 중에는
gpgkeys_hkp.exe
,gpgkeys_finger.exe
그리고gpgkeys_ldap.exe
.
공개 키 서버와의 통신에는 세 가지 실행 파일 중 첫 번째 실행 파일이 필요하다는 것을 알았습니다. 의 기능은 무엇입니까?
gpgkeys_finger.exe
그리고gpgkeys_ldap.exe
?
답변1
이는 주요 서버 프로토콜 드라이버입니다. 즉, GnuPG를 사용하여 주요 서버에 액세스하는 다양한 방법을 구현합니다. 나열된 프로토콜의 경우 HKP가 오늘날 일반적으로 사용되는 프로토콜입니다. 핑거 프로토콜은 이전에 회사에서 리소스 조회 스키마로 더 널리 사용되었지만 여전히 사용할 수 있습니다. 오늘날 회사는 일반적으로 사용자 정보를 저장하고 자격 증명을 확인하는 데 LDAP 데이터베이스를 사용합니다.
이러한 응용 프로그램은 수동으로 실행하기 위한 것이 아니며 사용 방법에 대한 문서도 없습니다. 나 스스로 관심을 끌었기 때문에 gpgkeys_hkp
실제 바이너리에 대한 입력을 가로채는 작은 래퍼 스크립트(Linux 시스템의 경우 Windows에서는 다른 스크립트가 필요함)로 대체했습니다.
#!/usr/bin/env sh
tee /tmp/gpgkeys_hkp.log | /usr/lib/gnupg/gpgkeys_hkp_
tee
STDIN의 모든 것을 에 덤프한 /tmp/gpgkeys_hkp.log
다음 이름이 변경된 실제 gpgkeys_hkp
구현에 동일한 입력을 전달합니다. 키를 검색하면 [email protected]
검색을 위해 키 서버 드라이버로 전송된 다음 명령이 표시됩니다.
# This is a GnuPG 1.4.19 keyserver communications file
VERSION 1
PROGRAM 1.4.19
SCHEME hkp
HOST pool.sks-keyservers.net
PATH /
COMMAND SEARCH
[email protected]
그리고 마침내 열쇠를 가져옵니다
# This is a GnuPG 1.4.19 keyserver communications file
VERSION 1
PROGRAM 1.4.19
SCHEME hkp
HOST pool.sks-keyservers.net
PATH /
COMMAND GET
0x0D69E11F12BDBA077B3726AB4E1F799AA4FF2279
Windows에서 실행하려고 할 때~할 것 같다CRLF
줄 끝의 다른 인코딩(Linux의 / \r\n
대신 Windows 의 LF
/ ) 으로 인해 문제가 발생 \n
하지만 해당 내용을 "UNIX"로 인코딩된 텍스트 파일로 저장하고 마지막으로 해당 파일을 읽으면 제대로 작동하고 결과가 표시됩니다.
gpgkeys_hkp <input.txt # on Linux/other unixoid systems
gpgkeys_hkp.exe <input.txt # for Windows