cargo tauri build
바이너리 자체는 src-tauri/target/release/[앱 이름]에 위치하고, 설치 프로그램은 src-tauri/target/release/bundle/에 위치합니다.
윈도우 코드 서명
애플리케이션에 코드 서명을 하면 사용자로 하여금 앱으로 위장한 맬웨어가 아닌 정식 실행 파일을 다운로드했음을 알 수 있게 해줍니다. 필수는 아니지만, 이는 앱에 대한 사용자의 신뢰를 향상시켜줍니다.
사전 요구 사항
- Windows - 다른 플랫폼을 사용할 수 있지만, 이 자습서에서는 Powershell 기본 기능을 사용합니다.
- 동작하는 Tauri 애플리케이션
- 코드 서명 인증서 - Microsoft's docs에 나열된 서비스 중 하나를 얻을 수 있습니다. 해당 목록에 포함된 것보다 비 EV 인증서에 대한 추가 권한이 있을 가능성이 있으므로, 직접 비교하고 위험을 감수하고 하나를 선택하세요.
- SSL 인증서는 작동하지 않으므로, 코드 서명 인증서를 받아야 합니다!
시작하기
A..cer파일을 .pfx로 전환하기
- 다음 항목이 필요합니다:
- 인증서 파일(cert.cer)
- 비공개 키 파일(private-key.key)
- 명령 프롬프트를 열고 cd Documents/Certs를 입력하여 현재 디렉토리로 바꾸어줍니다.
- openssl pkcs12 -export -in cert.cer -inkey private-key.key -out certificate.pfx를 이용해 .cer을 .pfx로 변환합니다.
- 잊지 마세요! 내보내기 암호를 입력하라는 메시지가 표시되어야 합니다.
B. 키스토어에 .pfx파일 불러오기
이제, .pfx 파일을 가져옵니다.
- $WINDOWS_PFX_PASSWORD = 'MYPASSWORD'를 이용해 내보내기 암호를 변수에 할당해줍니다.
- 이제, Import-PfxCertificate -FilePath Certs/certificate.pfx -CertStoreLocation Cert:\CurrentUser\My -Password (ConvertTo-SecureString -String $env:WINDOWS_PFX_PASSWORD -Force -AsPlainText)를 이용해 인증서를 가져옵니다.
C. 변수 준비
- 인증서의 SHA-1 지문이 필요합니다. openssl pkcs12 -info -in certificate.pfx
Bag Attributes
localKeyID: A1 B1 A2 B2 A3 B3 A4 B4 A5 B5 A6 B6 A7 B7 A8 B8 A9 B9 A0 B0
- localKeyID 공백 없이 를 캡처합니다 . 이 예에서는 A1B1A2B2A3B3A4B4A5B5A6B6A7B7A8B8A9B9A0B0입니다 . 이것은 우리의 certificateThumbprint입니다..
- 인증서에 사용되는 SHA 다이제스트 알고리즘이 필요합니다(sha256)
- 타임스탬프 URL도 필요합니다. 이것은 인증서 서명 시간을 확인하는 데 사용되는 시간 서버입니다. 'http://timestamp.comodoca.com`
tauri.conf.json파일 준비
이제 certificateThumbprint, digestAlgorithm, timestampUrl이 있으므로 tauri.conf.json를 열 것입니다 .
tauri.conf.json에서 tauri -> bundle -> windows섹션을찾습니다 . 아래와 같이 작성합니다.
"windows": {
"certificateThumbprint": "A1B1A2B2A3B3A4B4A5B5A6B6A7B7A8B8A9B9A0B0",
"digestAlgorithm": "sha256",
"timestampUrl": "http://timestamp.comodoca.com"
}
- 저정하고 yarn | yarn build 실행합니다
- 콘솔 출력창에 아래와 같이 출력될 것입니다.
info: signing app
info: running signtool "C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.19041.0\\x64\\signtool.exe"
info: "Done Adding Additional Store\r\nSuccessfully signed: APPLICATION FILE PATH HERE
Linux 패키지 코드 서명
요구사항
- gpg 혹은 gpg2
gpg2 --full-gen-key
AppImages 서명하기
다음 환경 변수를 설정하여 AppImage에 서명을 포함할 수 있습니다:
- SIGN: AppImage에 서명하려면 1로 설정합니다.
- SIGN_KEY: 서명 시 특정 GPG Key ID를 사용하는 것은 선택적인 변수입니다.
- APPIMAGETOOL_SIGN_PASSPHRASE: 서명키 비밀번호. 설정하지 않으면 gpg는 비밀번호를 입력할 수 있도록 대화 상자를 표시합니다. 자동화 작업으로 실행할 때 이를 반드시 설정해야 합니다.
다음 명령을 실행하여 AppImage에 포함된 서명을 표시할 수 있습니다:
./src-tauri/target/release/bundle/appimage/$APPNAME_$VERSION_amd64.AppImage --appimage-signature
$APPNAME 및 $VERSION 값은 당신의 설정에 따라 올바른 값으로 변경해야 합니다.
'Rust' 카테고리의 다른 글
개발자들이 가장 사랑하는 언어 Rust 소개 (158) | 2023.04.17 |
---|---|
Tauri 설치부터 배포까지 (리눅스 빌드) (96) | 2023.04.16 |
Tauri 빌드 (110) | 2023.04.14 |
Tauri 테스트 (42) | 2023.04.14 |
Tauri 디버깅 (106) | 2023.04.13 |