사전준비
인증서를 준비한다. 자세한 내용은 아래에
windows 설치파일 digitcert로 전자서명 하기
digitcert 인증서 구입 하면 이렇게 명함과 함께 usb를 전달받는다.뒷면에 써있는 홈페이지로 들어가본다. 뭔데 겁나 의심스럽게 인증서 페이지가 https 인증도 안되어있는거지..? 잘못 들어온게
haesummy.tistory.com
자동업데이트 구현. 자세한 내용은 아래에
electron s3 github actions 자동 배포 및 autoUpdater 설정
서론autoUpdater는 electron에 내장된것과 'electron-updater'에 내장된것 두가지가 있다. 'electron-updater'가 좀 더 많은 기능을 제공하며 사용하기 편했다. 처음에는 electron 앱의 자동 배포가 gtihub release에
haesummy.tistory.com
Windows 인증서 저장소에서 인증서 확인
인증서가 올바르게 설치되었는지 확인하려면 certmgr.msc를 실행하여 Windows 인증서 저장소에서 인증서를 확인한다. "개인" -> "인증서" 항목에 인증서가 있어야 한다.
electron-builder에 코드 서명 설정 추가
package.json의 build, win 부분을 아래와 같이 구성해준다.
{
"build": {
"appId": "com.example.yourapp",
"win": {
"target": "nsis",
"signingHashAlgorithms": ["sha256"],
"certificateSubjectName": "Your Company Name",
"rfc3161TimeStampServer": "http://timestamp.digicert.com"
}
}
}
- certificateSubjectName: EV 인증서에 등록된 회사 이름을 사용한다.
- rfc3161TimeStampServer: 타임스탬프 서버 URL을 지정한다. DigiCert의 타임스탬프 서버를 사용한다.
인증서 비밀번호 입력 설정
set CSC_KEY_PASSWORD=your_cert_password
토큰을 사용할 때 입력하는 암호
인증서를 통한 코드 서명 명령 실행
Electron Builder는 Windows에서 signtool.exe를 사용해 서명한다. EV 인증서를 사용한 코드 서명을 수행하려면, electron-builder가 signtool을 호출할 때 USB 토큰을 인식하도록 구성해야 한다.
npx electron-builder --win
electron-builder 옵션에 --win을 사용
중요 사항 (정리)
- USB 토큰 연결 및 드라이버 설치: USB 토큰이 시스템에 연결되어 있고, 해당 드라이버(SafeNet Authentication Client 등)가 올바르게 설치되어 있어야 한다.
- 인증서 접근 권한: 인증서가 Windows 인증서 저장소에 설치되어 있어야 하며, certificateSubjectName에 정확한 회사 이름을 입력해야 한다.
- 환경 변수 설정: CSC_KEY_PASSWORD가 올바르게 설정되어 있어야 한다.
이슈
이렇게 하면 명령어 입력 시 서명이 된 앱이 빌드된다.
근데 나는 앱 서명을 하기 전에 기존 자동 배포, 업데이트 시스템을 github action을 사용해서 s3에 업로드 되도록 구축해두었었다. 근데 문제는 윈도우 EV 인증서는 usb 토큰이라 github runner에서 사용할수가 없다,,,
그래서 결국 macos 만 github runner를 사용하고, 윈도우는 로컬 피씨에서 자동 배포 되도록 스크립트를 짜서 사용했다.
electron-builder의 deploy 사용하려했다가 acl 옵션을 지워도 자꾸 acl 오류가 나서 그냥 스크립트 짜서 aws에 배포하게 함
'🩵electron' 카테고리의 다른 글
apple 개발자 계정으로 macOS application 코드서명+공증 하기(code sign, notarization) (0) | 2024.07.21 |
---|---|
windows 설치파일 digitcert로 전자서명 하기 (0) | 2024.07.17 |
직접 개발한 exe 실행파일을 실 유저에게 배포하려면? (코드 전자 서명) (2) | 2024.05.27 |
electron s3 github actions 자동 배포 및 autoUpdater 설정 (0) | 2024.05.07 |
electron 디컴파일 해보기, 방지하기 (2) | 2024.04.29 |