Azure DevOps 클라우드 서명 통합 가이드

Azure DevOps를 eSigner CodeSignTool과 통합하여 자동화된 코드 서명을 수행하는 방법에 대한 가이드입니다.

CodeSignTool은 클라우드 코드 서명 프로세스에 적합하고 다양한 CI/CD 플랫폼과 원활하게 통합되는 명령줄 유틸리티입니다. eSigner의 일부를 구성합니다. 코드 서명에 대한 효율적이고 안전하며 사용자 친화적인 접근 방식을 제공하는 원격 서명 서비스입니다.

SSL.com EV 코드 서명 인증서는 최고 수준의 유효성 검사를 통해 무단 변조 및 손상으로부터 코드를 보호하는 데 도움이 되며 최소한의 비용으로 사용할 수 있습니다. 연간 $ 249. 당신은 또한 수 EV 코드 서명 인증서를 대규모로 사용 eSigner를 사용하여 클라우드에서

지금 주문하세요

환경 변수

  • 사용자 이름: SSL.com 계정 사용자 이름. (필수의)
  • PASSWORD: SSL.com 계정 비밀번호(필수)
  • CREDENTIAL_ID: 인증서 서명을 위한 자격 증명 ID입니다. credential_id가 생략되고 사용자에게 하나의 eSigner 코드 서명 인증서만 있는 경우 CodeSignTool은 기본적으로 이 인증서를 사용합니다. 사용자에게 둘 이상의 코드 서명 인증서가 있는 경우 이 매개변수는 필수입니다. (필수의)
  • TOTP_비밀: OAuth TOTP 비밀. 에 대한 자세한 정보에 액세스할 수 있습니다. https://www.ssl.com/how-to/automate-esigner-ev-code-signing (필수)
  • 환경_이름 : 'TEST' 또는 'PROD' 환경. (필수의)

 

입력

  • 입력_파일_경로: 서명할 코드 개체의 경로입니다. (필수의)
  • 출력_디렉터_경로: 서명된 코드 개체가 작성될 디렉터리입니다. output_path를 생략하면 -file_path에 지정된 파일을 서명된 파일로 덮어씁니다.

Visualstudio.com에서 프로젝트 만들기

코드 편집기에서 새 .yml 파일 만들기

통합 트리거 및 환경 변수 설정

지속적인 통합 트리거

방아쇠:

  – 없음

 

환경 변수를 전역으로 정의합니다. 작업 수준 속성이 전역 변수를 재정의합니다.

변수:

  buildConfiguration: '릴리스'

작업을 단계로 그룹화

빌드 단계의 단계를 작성합니다. 한 단계의 모든 작업은 다음 단계가 실행되기 전에 완료되어야 합니다.

단계:

  – 단계: 빌드

    # 워크플로가 실행될 때 기록되는 이름입니다.

    디스플레이 이름: 빌드

    작업:

      - 직업:

        수영장:

           Windows VM에서 작업 실행

          vmImage: '최신 창'

        단계 :

           닷넷 6.0.x 설치

        – 작업: UseDotNet@2

          displayName: '.NET Core SDK 설치'

          입력 :

            버전: '6.0.x'

            performMultiLevelLookup: 참

            includePreviewVersions: 참

       

            Dotnet 프로젝트 복원

        – 작업: DotNetCoreCLI@2

          displayName: 복원

          입력 :

            명령: '복원'

 

           릴리스 구성으로 dotnet 프로젝트 빌드

        – 작업: DotNetCoreCLI@2

          디스플레이 이름: 빌드

          입력 :

            명령: 빌드

            프로젝트: HelloWorld.csproj

            인수: '–구성 $(buildConfiguration)'

 

           서명된 아티팩트에 대한 디렉터리 만들기

        – powershell: New-Item -ItemType 디렉터리 -Path ./artifacts

          displayName: '아티팩트에 대해 생성된 디렉터리'

 

           서명된 패키지에 대한 디렉토리 생성

        – powershell: New-Item -ItemType 디렉터리 -Path ./packages

          displayName: '패키지용 디렉터리 생성'

 

           서명 경로가 될 아티팩트 복사

        – powershell: 항목 복사 ./bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll -Destination ./packages/HelloWorld.dll

          displayName: "빌드된 아티팩트를 패키지 디렉토리에 복사"

 

           서명 작업을 사용하기 위해 아티팩트 저장

        – 작업: PublishBuildArtifacts@1

          displayName: '다운로드를 위해 서명된 아티팩트에 저장'

          입력 :

            게시할 경로: ./packages/HelloWorld.dll

            아티팩트 이름: HelloWorld.dll

서명 단계의 단계 작성

– 무대: 사인

    # 워크플로가 실행될 때 기록되는 이름입니다.

    표시 이름: 서명

    작업:

    - 직업:

      수영장:

         Ubuntu VM에서 작업 실행

        vmImage: “우분투 최신”

      단계 :

         서명된 아티팩트에 대한 디렉터리 만들기

      – 스크립트: mkdir -p ./artifacts && mkdir -p ./packages

        displayName: "아티팩트 및 패키지를 위한 생성된 디렉토리"

 

         서명할 아티팩트 다운로드

      – 작업: DownloadPipelineArtifact@2

        입력 :

          아티팩트: HelloWorld.dll

          다운로드 경로: ./packages

 

         도커 17.09.0-ce 설치

      – 작업: DockerInstaller@0

        displayName: 도커 설치 프로그램

        입력 :

          docker버전: 17.09.0-ce

          릴리스 유형: 안정

 

         Docker 풀 CodeSigner Docker 이미지

      – 스크립트: docker pull ghcr.io/sslcom/codesigner:latest

        displayName: '도커 풀 CodeSigner 도커 이미지'

         CodeSigner 도커 이미지로 아티팩트 서명

      – 스크립트: docker run -i –rm –dns 8.8.8.8 –네트워크 호스트 –volume $PWD/packages:/codesign/examples –volume $PWD/artifacts:/codesign/output

                -e USERNAME=$(USERNAME) -e PASSWORD=$(PASSWORD) -e CREDENTIAL_ID=$(CREDENTIAL_ID) -e TOTP_SECRET=$(TOTP_SECRET)

암호에 특수 문자가 있는 경우 따옴표로 묶어야 합니다.

                -e ENVIRONMENT_NAME=$(ENVIRONMENT_NAME) ghcr.io/sslcom/codesigner:최신 서명 -input_file_path=/codesign/examples/HelloWorld.dll

                -output_dir_path=/codesign/출력

        displayName: 'CodeSigner 도커 이미지로 아티팩트 서명'

 

         다운로드를 위해 서명된 아티팩트 저장

      – 작업: PublishBuildArtifacts@1

        displayName: '다운로드를 위해 서명된 아티팩트 저장'

        입력 :

          게시할 경로: ./artifacts/HelloWorld.dll

          아티팩트 이름: HelloWorld.dll

새 .gitignore 파일 만들기

입력 :

큰 상자

obj

.vscode

메시지 표시줄에 Created pipeline.yml을 입력하고 커밋 단추

SSL.com EV 코드 서명 인증서는 최고 수준의 유효성 검사를 통해 무단 변조 및 손상으로부터 코드를 보호하는 데 도움이 되며 최소한의 비용으로 사용할 수 있습니다. 연간 $ 249. 당신은 또한 수 EV 코드 서명 인증서를 대규모로 사용 eSigner를 사용하여 클라우드에서

지금 주문하세요

다음을 클릭하세요. 변경 사항 동기화 단추

Visualstudio.com으로 이동하여 휴식 대시보드에서

yml 파일을 보려면 페이지를 새로고침하세요.

파이프 라인 대시보드에서

다음을 클릭하십시오. 파이프라인 생성

Azure Repos Git을 클릭합니다.

YAML 파일 선택

변수 버튼 다음에 새 변수

각 환경 변수에 대한 값을 배치하고 OK 단추

각 변수를 계속 추가하려면 + 기호를 클릭하세요.

모든 변수를 배치한 후 파이프라인 생성을 진행합니다.

파이프라인 실행

파이프 라인 대시보드에서. 파이프라인에서 점 XNUMX개(추가 옵션)를 클릭합니다. 딸깍 하는 소리 파이프라인 실행. 마지막으로 달리기 버튼을 클릭합니다.

빌드를 클릭하여 빌드 단계를 시작합니다.

빌드 단계의 각 작업이 성공했는지 확인

옆에 있는 드롭다운 화살표를 클릭합니다. 각 빌드 작업의 상태를 보려면

를 클릭하여 서명 단계를 시작합니다.

서명 프로세스의 각 단계가 성공적인지 확인

빌드 및 서명 단계가 모두 성공적인지 다시 확인하십시오.

다음을 참조 할 수 있습니다. SSL.com 도커 이미지의 소스 코드를 포함하고 사용 방법을 설명하는 Github 리포지토리: https://github.com/SSLcom/ci-images 

샘플 Azure DevOps 파이프라인

우리가 만든 샘플 Azure DevOps 파이프라인을 확인하세요. github.com/SSLcom/codesigner-azuredevops-sample

기타 원격 서명 통합 가이드

맞춤형 솔루션이 필요하십니까? 

우리의 전문 지식과 XNUMX성급 지원 직원을 통해 맞춤형 솔루션 또는 엔터프라이즈 수준의 대량 서명 할인에 대해 귀하와 협력할 준비가 되어 있습니다. 아래 양식을 작성해 주시면 연락드리겠습니다.

트위터
페이스북
링크드인
레딧
이메일

최신 정보를 얻고 보안을 유지하세요

SSL.com 사이버 보안 분야의 글로벌 리더입니다. PKI 그리고 디지털 인증서. 최신 업계 뉴스, 팁, 제품 공지 사항을 받아보려면 등록하세요. SSL.com.

우리는 귀하의 피드백을 환영합니다

설문조사에 참여하여 최근 구매에 대한 의견을 알려주세요.