Integrasi Penandatanganan Kode Cloud dengan Travis CI

Artikel ini menunjukkan bagaimana Anda dapat melakukan penandatanganan kode otomatis di Travis CI dengan mengintegrasikan eSigner CodeSignTool ke saluran Anda. 

eSigner adalah platform penandatanganan kode jarak jauh kami yang memberikan tingkat keamanan yang sama seperti token USB dan HSMS Jaringan tetapi dengan cara yang lebih efisien dan intuitif.  Bagian dari alat eSigner adalah CodeSignTool: utilitas baris perintah aman yang ideal untuk melakukan penandatanganan kode perusahaan di berbagai lingkungan CI/CD termasuk Travis.
SSL.com EV Penandatanganan Kode sertifikat membantu melindungi kode Anda dari gangguan dan kompromi yang tidak sah dengan tingkat validasi tertinggi, dan tersedia hanya untuk $ 249 per tahun. Anda juga bisa gunakan sertifikat Penandatanganan Kode EV Anda dalam skala besar di cloud menggunakan eSigner.

PESAN SEKARANG

Variabel Lingkungan

  • USERNAME: Nama pengguna akun SSL.com. (Yg dibutuhkan)
  • PASSWORD: Kata sandi akun SSL.com (Diperlukan)
  • CREDENTIAL_ID: ID Kredensial untuk menandatangani sertifikat. Jika credential_id dihilangkan dan pengguna hanya memiliki satu sertifikat penandatanganan kode eSigner, CodeSignTool akan menjadi default untuk itu. Jika pengguna memiliki lebih dari satu sertifikat penandatanganan kode, parameter ini wajib. (Yg dibutuhkan)
  • TOTP_RAHASIA: Rahasia TOTP OAuth. Anda dapat mengakses informasi rinci di https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Wajib Isi)
  • LINGKUNGAN_NAME : Lingkungan 'TEST' atau 'PROD'. (Yg dibutuhkan)

Masukan

  • input_file_path: Jalur objek kode yang akan ditandatangani. (Yg dibutuhkan)
  • keluaran_dir_path: Direktori tempat objek kode bertanda akan ditulis. Jika output_path dihilangkan, file yang ditentukan dalam -file_path akan ditimpa dengan file yang ditandatangani.

Kode Java (Maven) Contoh Alur Kerja Penandatanganan JAR

Buat proyek

Di bawah proyek, buat file untuk Travis

Tentukan komponen alur kerja

  1. Tempatkan Arsitektur CPU untuk menjalankan pekerjaan

lengkungan: amd64

  1. Bahasa default untuk menjalankan tes di

bahasa: jawa

  1. Tentukan sistem operasi untuk menjalankan pekerjaan

sistem operasi: linux

  1. Tulis distribusi Ubuntu yang akan digunakan

dist: bionik

  1. Tentukan variabel lingkungan secara global. Properti tingkat pekerjaan menggantikan variabel global.
  • Perhatikan bahwa TERM=dumb hanya diperlukan untuk instance proyek Gradle.
  • Di bawah ENVIRONMENT_NAME, tempatkan “TEST” untuk penandatanganan uji, dan “PROD” untuk penandatanganan langsung.

lingkungan:

  global:

    – PROJECT_NAME=”Halo Dunia”

    – PROJECT_VERSION="0.0.1"

    – TERM = bodoh

    – ENVIRONMENT_NAME=”UJI”

  1. Tentukan urutan tahapan. Semua pekerjaan dalam satu tahap harus diselesaikan sebelum tahap berikutnya dijalankan.

tahapan:

  - membangun

  - tanda

Garis besar tahap pembuatan  

pekerjaan:

  meliputi:

        – tahap: membangun

  1. Nama pekerjaan

      nama: build-maven

  1. Distribusi Ubuntu yang akan digunakan

      dist: bionik

  1. Gunakan perintah buruh pelabuhan untuk menandatangani  

      layanan:

        – buruh pelabuhan

  1. Gunakan dotnet-cli untuk membangun proyek

      bahasa: jawa

  1. Versi Java untuk membangun proyek

      jdk:

      – Oraclejdk17

  1. Cache direktori m2 untuk mempercepat

      cache:

        direktori:

        – $HOME/.m2

  1. Tulis skrip Sebelum untuk dijalankan sebelum membangun proyek

      sebelum_skrip:

        # Buat direktori untuk artefak

        – mkdir -p ${TRAVIS_BUILD_DIR}/artefak

        – mkdir -p ${TRAVIS_BUILD_DIR}/paket

        # Setel opsi pembuatan Maven

        – ekspor MAVEN_CLI_OPTS=”–batch-mode –errors –fail-at-end –show-version -DinstallAtEnd=true -DdeployAtEnd=true”

  1. Tulis skrip untuk membangun proyek.
  • Dalam alur kerja contoh penandatanganan ini, beberapa jenis proyek dibuat. Inilah sebabnya mengapa file dari berbagai jenis proyek disimpan dengan membuat subfolder. Subfolder bernama 'java' dibuat untuk proyek Java. Pada demo screenshot di atas, tidak perlu membuat subfolder bernama 'java' jadi ini tidak termasuk dalam skrip.

      naskah:

        # Bangun proyek Maven dengan Opsi Maven

        – mvn $MAVEN_CLI_OPTS instalasi bersih -f java/pom.xml

         # Salin artefak yang dibuat ke direktori artefak

        – cp java/target/${PROJECT_NAME}-${PROJECT_VERSION}.jar ${TRAVIS_BUILD_DIR}/packages/${PROJECT_NAME}.jar

     

  1. Garis besar cara menentukan daftar file dan direktori yang harus dilampirkan ke pekerjaan jika berhasil.

      ruang kerja:

        membuat:

          nama: maven-jar-artefak

          jalur:

            # Simpan artefak untuk menggunakan pekerjaan penandatanganan

            – ${TRAVIS_BUILD_DIR}/paket/${PROJECT_NAME}.jar

Garis besar tahap tanda

 – panggung: tanda

  1. Tulis nama pekerjaan

      nama: sign-jar-file

  1. Tempatkan distribusi Ubuntu untuk digunakan

      dist: bionik

  1. Gunakan perintah Docker untuk menandatangani  

      layanan:

        – buruh pelabuhan

     

  1. Tentukan variabel lingkungan untuk pekerjaan tertentu.
  • Pada tangkapan layar di atas, perintah tanda didefinisikan langsung dalam skrip tanda dan bukan di bawah variabel lingkungan. Both metode dapat masuk dengan benar dengan TravisCI.

      lingkungan:

        COMMAND = “tanda”

  1. Gunakan dotnet-cli untuk membangun proyek

      bahasa: jawa

  1. Versi Java untuk membangun proyek

      jdk:

      – Oraclejdk17

  1. Sebelum skrip dijalankan sebelum membangun proyek

      sebelum_skrip:

        # Buat direktori untuk artefak

        – mkdir -p ${TRAVIS_BUILD_DIR}/artefak

        – mkdir -p ${TRAVIS_BUILD_DIR}/paket

     

  1. Skrip untuk membangun proyek

      naskah:

        # Docker Tarik CodeSigner Gambar Docker

        – buruh pelabuhan menarik ghcr.io/sslcom/codesigner: terbaru

        # Tanda tangani artefak dengan gambar CodeSigner Docker

        – docker run -i –rm –dns 8.8.8.8 –host jaringan –volume ${TRAVIS_BUILD_DIR}/packages:/codesign/examples

          –volume ${TRAVIS_BUILD_DIR}/artefak:/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:terbaru ${COMMAND}

          -input_file_path=/codesign/examples/${PROJECT_NAME}.jar -output_dir_path=/codesign/output

  1. Digunakan untuk menentukan daftar file dan direktori yang harus dilampirkan ke pekerjaan jika berhasil.

      ruang kerja:

        menggunakan:

          – artefak-maven-jar-artefak

        membuat:

          nama: file-jar-bertanda

          jalur:

            # Simpan artefak yang ditandatangani

            – ${TRAVIS_BUILD_DIR}/artefak/${PROJECT_NAME}.jar

SSL.com EV Penandatanganan Kode sertifikat membantu melindungi kode Anda dari gangguan dan kompromi yang tidak sah dengan tingkat validasi tertinggi, dan tersedia hanya untuk $ 249 per tahun. Anda juga bisa gunakan sertifikat Penandatanganan Kode EV Anda dalam skala besar di cloud menggunakan eSigner.

PESAN SEKARANG

Tentukan Variabel Lingkungan

Pergi ke Travis dan klik Settings tombol

Tambahkan nilai untuk setiap variabel

Gulir ke bawah ke Variabel Lingkungan bagian dan klik tombol Tambah untuk menambahkan nilai untuk setiap variabel

Buat repo Github

Cari perintah push di Github

Tulis perintah push di terminal pada editor Anda

Tunggu pekerjaan build selesai

Di Travis, pekerjaan build akan dimulai secara otomatis setelah Anda memasukkan kode.

Memulai tahap penandatanganan kode

klik menandatangani bagian untuk KodeTandaAlat untuk memulai proses penandatanganan

Tunggu hingga mesin virtual Anda selesai boot

Konfirmasi jika penandatanganan kode berhasil

Anda bisa merujuk ke SSL.com Repositori Github yang berisi kode sumber gambar buruh pelabuhan dan menjelaskan cara menggunakannya: https://github.com/SSLcom/ci-images

Contoh Pipa Travis CI

Lihat contoh pipeline Travis CI yang telah kami buat github.com/SSLcom/codesigner-travisci-sample

Panduan Integrasi Penandatanganan Jarak Jauh Layanan CI/CD lainnya

Butuh Solusi Kustom? 

Dengan pengetahuan ahli kami dan staf pendukung bintang lima, kami siap dan bersedia bekerja sama dengan Anda dalam solusi khusus atau diskon penandatanganan volume tinggi tingkat perusahaan. Isi formulir di bawah ini dan kami akan menghubungi Anda.

Berlangganan Buletin SSL.com

Jangan lewatkan artikel baru dan pembaruan dari SSL.com

Tetap Terinformasi dan Aman

SSL.com adalah pemimpin global dalam keamanan siber, PKI dan sertifikat digital. Daftar untuk menerima berita industri terkini, tips, dan pengumuman produk dari SSL.com.

Kami sangat menantikan tanggapan Anda

Ikuti survei kami dan beri tahu kami pendapat Anda tentang pembelian terakhir Anda.