본문으로 건너뛰기

SignTool 명령줄 도구 사용 가이드

SignTool은 sslTrus 원격 코드 서명 서비스의 명령줄 클라이언트로, 터미널 또는 자동화 스크립트에서 코드 서명 작업을 수행하는 데 사용됩니다.

빠른 시작​

다음은 가장 기본적인 서명 명령 예시입니다. 복사한 후 주석에 따라 수정하여 사용할 수 있습니다.

# 视情况而定,是否需要开启调试模式
#export DEBUG=1

# 使用环境变量配置 AK、SK 以及证书订阅号
export SIGNTOOL_ACCESS_KEY='' SIGNTOOL_ACCESS_SECRET='' SIGNTOOL_CERT_CODE=''

# 签名
./signtool sign \
--dry-run \
--access-key=$SIGNTOOL_ACCESS_KEY \
--access-secret=$SIGNTOOL_ACCESS_SECRET \
--cert-code=$SIGNTOOL_CERT_CODE \
--file=app-unsigned.exe \
--out=app.exe \
--sha1=false \
--sha2=true \
--timestamp-rfc3161 http://timestamp.acs.microsoft.com

명령어 상세 설명​

시작하기 전에 다음 세 가지 정보를 준비해야 합니다:

도움말 보기​

-h 또는 --help 매개변수를 사용하면 전체 명령 도움말을 볼 수 있습니다.

./signtool sign -h

핵심 파라미터 분석​

매개변수약어필수 여부설명 및 예시
--access-key-k예API 액세스 키입니다. SIGNTOOL_ACCESS_KEY 환경 변수로도 설정할 수 있습니다.
--access-secret-s예API 액세스 키입니다. SIGNTOOL_ACCESS_SECRET 환경 변수로도 설정할 수 있습니다.
--cert-code-c예원격 코드 서명 서비스의 구독 번호로, 서명 인증서와 과금을 지정하는 데 사용됩니다.
--file-f예서명할 파일의 경로입니다. 예: -f “app.dll”.
--out-o아니요출력 파일의 경로입니다. 기본값은 원본 파일명 뒤에 .signed를 추가합니다. 중요: 파일이 이미 존재하면 작업이 실패합니다.
--override아니요서명할 파일의 경로를 덮어쓸지 여부입니다. 기본값은 false입니다.
--sha1-1아니요SHA1 알고리즘 서명을 활성화합니다(구형 시스템 호환용).
--sha2-2아니요SHA256 알고리즘 서명을 활성화합니다(현대 표준, 활성화 권장).
--nest아니요중첩 서명 여부입니다. 파일에 이미 서명이 있는 경우 --nest=true(기본값)는 기존 서명을 유지하고 새 서명을 추가하며, false는 기존 서명을 제거합니다. 효과 비교는 다음과 같습니다: nest
--timestamp아니요SHA1 서명에 사용할 타임스탬프 서버 URL입니다. 빈 문자열 ""로 설정하면 비활성화됩니다.
--timestamp-rfc3161아니요SHA256 서명에 사용할 RFC 3161 타임스탬프 서버 URL입니다. 빈 문자열 ""로 설정하면 비활성화됩니다.
--desc-n아니요프로그램 설명 정보입니다. 이 정보는 서명에 포함되며, 아래와 같은 시스템 보안 알림에 표시될 수 있습니다: desc
--url-u아니요프로그램의 공식 정보 링크입니다.
--verify아니요서명 후 파일 서명 유효성을 즉시 검증합니다.
--dry-run아니요체험 모드입니다. 이 모드에서는 자체 서명 인증서를 사용하여 서명 프로세스를 검증하며, 해당 액세스 키와 구독 번호는 임의로 입력할 수 있습니다.

불리언 매개변수 정보​

true/false 값을 허용하는 매개변수(예: --sha1, --nest)의 경우 매개변수=값 형식을 사용해야 하며 공백으로 구분하는 방식은 지원되지 않습니다.

  • 올바름: --sha1=true --sha2=false
  • 잘못됨: --sha1 true --sha2 false