맞춤 빌드 코드 서명
Entry, Professional, Enterprise, Enterprise Advanced 플랜에서 사용할 수 있습니다.
코드 서명은 맞춤 Mattermost 빌드의 진위와 무결성을 보장하는 데 필수적인 과정입니다. 이 가이드에서는 Windows, Mac, Linux에서 자체 인증서로 빌드에 코드 서명을 하는 절차를 설명합니다.
애플리케이션 서명에 관한 각 운영 체제의 가이드라인과 모범 사례를 반드시 따르세요.
사전 요구 사항
Windows
- 코드 서명 인증서: 인증 기관(CA)에서 인증서를 발급받거나, 적절한 경우 자체 서명 인증서를 사용합니다.
- SignTool: Windows SDK에 포함되어 있습니다.
Linux
- GPG 키: GPG 키가 없다면 새로 만듭니다.
- GnuPG: 설치되어 있지 않다면 GnuPG를 설치합니다.
Mac
- Developer ID Application 인증서: Apple에서 발급받습니다. Apple Developer 계정이 필요합니다.
- Xcode: Xcode가 설치되어 있는지 확인합니다.
진행 절차
Windows
SignTool 설치: Windows SDK를 설치해
SignTool유틸리티를 사용할 수 있게 합니다.코드 서명 인증서 발급: CA를 통해 인증서(
.pfx파일)를 구매하거나 생성합니다.인증서 가져오기:
.pfx파일을 열어 Windows 인증서 저장소로 가져옵니다.실행 파일 서명
- 관리자 권한으로 명령 프롬프트를 엽니다.
SignTool로 실행 파일에 서명합니다.
signtool sign /v /s "My" /sha1 <cert hash> /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 <path-to-your-executable>
Linux
GPG 키 생성 또는 가져오기: GPG 키가 없다면 다음과 같이 생성합니다.
gpg --full-generate-key기존 GPG 키가 있다면 다음과 같이 가져옵니다.
gpg --import /path/to/your-key.asc패키지 서명:
dpkg-sig로 Debian 패키지에 서명합니다.dpkg-sig --sign builder your-package.debrpmsign으로 RPM 패키지에 서명합니다.rpmsign --addsign your-package.rpm서명 검증:
.deb패키지의 서명을 검증합니다.dpkg-sig --verify your-package.deb.rpm패키지의 서명을 검증합니다.rpm --checksig your-package.rpm
Mac
코드 서명 인증서 발급: Apple Developer 계정에서
Developer ID Application인증서를 생성해 내려받습니다.인증서 가져오기: 인증서를 더블 클릭해 키체인으로 가져옵니다.
애플리케이션 서명: Xcode의
codesign도구로 애플리케이션에 서명합니다.codesign --deep --force --verify --verbose --sign "Developer ID Application: Your Name (TeamID)" /path/to/your.app[선택] 서명 검증: 모든 항목이 올바르게 서명되었는지 서명을 검증합니다.
spctl --assess --verbose=4 /path/to/your.app codesign -dv --verbose=4 /path/to/your.app
요약
- Windows: 가져온 코드 서명 인증서와 함께 Windows SDK의
SignTool을 사용합니다. - Mac: Apple Developer ID 인증서와 함께 Xcode의
codesign및spctl도구를 사용합니다. - Linux:
GnuPG로 GPG 키를 생성해 서명하고,.deb패키지에는dpkg-sig를,.rpm패키지에는rpmsign을 사용합니다.