PKG_SIGN(1)

명칭
pkg_sign, pkg_check - package 의 서명을 취급한다

서식
pkg_sign [-sc] [-t type] [-u id] [-k key] [file ...] pkg_check [-sc] [-u id] [-k cert] [file ...]

해설
pkg_sign 유틸리티는 암호화된 서명을 gzip 파일 file 에 묻고 넣습니다. type 에는 pgp (디폴트), sha1, x509 하지만 지정할 수 있습니다. type (을)를 pgp (으)로 하면(자), pgp 비밀열쇠의 이용을 가능하게하기 위한 패스 프레이즈 입력을 재촉하는 prompt가 표시됩니다. 패스 프레이즈를 설정하고 있지 않아도 표시됩니다 (이것은 어쨌든 좋지 않는 상황입니다만). type 하지만 sha1 의 경우는, id (을)를 지정할 필요가 있습니다. 이것은 package (역주: FreeBSD 의 package system 에 있어서의 패키지를 가리키는 경우에 이렇게 표기합니다) 의 이름으로서 기록되어 SHA1 체크 섬으로서 표시됩니다.

pkg_check 유틸리티는 암호화된 서명을 체크합니다. 현재는 type (을)를 무시해, 맨 위 (topmost)의 서명만을 체크합니다. sha1 에 대해서는, pkg_check (은)는 파일의 체크 섬을 취해, 결과가 /var/db/pkg/SHA1 에 기록되고 있는 체크 섬의 리스트에 매치 하는지 어떤지 확인합니다.

옵션 -s 및 -c (은)는 「package 에의 서명」모드 및 「서명 체크」모드를 강제합니다.

pgp 그럼, package 에의 서명이나 서명 체크에 이용한다 id (을)를 -u 그리고 지정할 수 있습니다.

x509 그럼, 서명 키 또는 검증하는 증명서 (certificate)를 -k 옵션으로 지정할 수 있습니다. 지정하지 않으면 package 는 이하로 기술하고 있다 디폴트의 키로 서명 (디폴트의 증명서로 검증)됩니다.

file 하지만 데쉬 하나 (‘-’) (이었)였거나 지정되지 않았던 경우는, pkg_sign (은)는 표준 입력으로부터 읽어들입니다.

package 에의 서명에서는 gzip 형식의 특징을 이용하고 있습니다. 이것은, gzip 의 헤더에는 EXTRA_FIELD 그렇다고 하는 플래그를 설정할 수 있어 여분의 데이터를 gzip 헤더와 압축파일의 사이에 보존할 수 있다, 라는 것입니다. OpenBSD 의 서명 기구에서는, ‘SIGPGP’ + length (이)나 ‘CKSHA1’ + length (와)과 같은 8 바이트의 마커를 서명에 이용하고 있습니다 (이러한 마커는 전통적으로 8 바이트장이 되고 있습니다).

진단
pkg_sign 및 pkg_check 의 유틸리티는, file 의 어느 쪽인가에 무엇인가 문제가 있으면(자), 0 보다 큰 종료 코드를 돌려줍니다. pkg_check 의 경우, 이것은 통상 package 가 서명되어 있지 않은, 혹은 서명이 날조 되고 있는 것을 의미합니다.

File %s is already signed 그 gzip 파일에는, 이미 서명이 파묻히고 있습니다. pkg_sign 유틸리티는 현재 복수의 서명을 취급하지 않습니다.

File %s is not a signed gzip file 이 package 에는 서명이 없습니다.

File %s is not a gzip file gzip 헤더가 발견되지 않았습니다.

File %s contains an unknown extension gzip 파일의 확장 area가, 다른 어떠한 용도에 이미 사용되고 있었습니다.

File %s uses old signatures, no longer supported 이 gzip 파일은, 매우 낡은 판의 ( 꽤 늦어진다) package 서명을 이용하고 있습니다.

버그
pgp(1) (은)는 너무 설계의 좋지 않는 프로그램으로, 인터페이스를 취하는 것이 어렵습니다. 예를 들면 pgp 가 제공하고 있다고 하고 있다 「분리 서명 기능 (separate signing scheme)」 (은)는 불편 마지막 없는 것으로, 파이프를 통한 이용을 할 수 없습니다. 따라서 pgp_sign 그럼 이것을 어떻게든 하기 위해서, pgp 서명의 길이를 알고 있기로 해, pgp 를 「심리스」서명 모드로 기동해, 파일 본체는 압축하지 않고 서명만을 꺼내고 있습니다.

체크 동작에서는 너무 복잡한 (일)것은 하고 있지 않습니다. pgp 에 입력하는 파일을 그 자리에서 재빌드 하고 있습니다.

pgp 및 체크 섬 파일에의 패스는 부정 이용을 방해하기 위해서(때문에) 하드 코드 되고 있습니다. 그 때문에 유연성은 손상되고 있습니다.

관련 파일
file.sign
    pkg_sign 하지만 file (으)로부터 빌드 하는 일시파일
/usr/local/bin/pgp
    pgp(1) 의 디폴트의 패스
/var/db/pkgs/SHA1
    기록 끝난 체크 섬
/etc/ssl/pkg.key
    디폴트의 package 에의 서명 키
/etc/ssl/pkg.crt
    디폴트의 package 검증용 증명서

관련 항목
gzip(1), pgp(1), pkg_add(1), sha1(1)

저자
-nosplit pkg_sign 유틸리티는 Marc Espie 하지만 OpenBSD 프로젝트를 위해서(때문에) 작성했습니다. X. 509 서명과 FreeBSD 서포트는 Wes Peters <wes@softweyr.com> 하지만 추가했습니다.