Integrasi Penandatanganan Kode Cloud dengan Tindakan GitHub

Artikel panduan ini menunjukkan bagaimana eSigner terintegrasi dengan GitHub Actions untuk penandatanganan kode otomatis dalam pengaturan Continuous Integration/Continuous Delivery (CI/CD).

eSigner adalah platform penandatanganan berbasis cloud kami yang dipercaya oleh pengembang perangkat lunak di seluruh dunia untuk melakukan penandatanganan kode perusahaan tanpa memerlukan token USB atau perangkat keras khusus lainnya.  Salah satu komponen eSigner adalah CodeSignTool: utilitas baris perintah berbasis privasi yang sangat efektif bagi pengembang yang ingin mengotomatiskan penandatanganan kode.  Bagian berikut menunjukkan bagaimana Anda dapat menandatangani kode Java (Maven) di GitHub Actions menggunakan eSigner CodeSignTool.

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

penggunaan

– nama: Tanda tangani Artefak dengan CodeSignTool

  menggunakan: sslcom/actions-codesigner@develop

  dengan:

  •      Perintah CodeSignTool:

     - get_credential_ids: Menampilkan daftar ID kredensial eSigner yang terkait dengan pengguna.

     - credential_info: Kunci keluaran dan informasi sertifikat yang terkait dengan ID kredensial.

     - sign: Objek kode tanda dan cap waktu.

     - batch_sign: Tanda tangani dan stempel waktu beberapa objek kode dengan satu OTP.

     - hash: Pra-komputasi hash untuk digunakan nanti dengan perintah batch_hash_sign.

     - batch_sign_hash: Tanda tangani hash yang telah dihitung sebelumnya dengan perintah hash.

        perintah: menandatangani

 

  • Nama pengguna akun SSL.com.

         username: ${{secrets.ES_USERNAME}}

  •  Kata sandi akun SSL.com.

         password: ${{secrets.ES_PASSWORD}}

  • ID Kredensial untuk menandatangani sertifikat.

         credential_id: ${{secrets.CREDENTIAL_ID}}

         totp_secret: ${{secrets.ES_TOTP_SECRET}}

  • Jalur objek kode yang akan ditandatangani.

          file_path: ${GITHUB_WORKSPACE}/test/src/build/HelloWorld.jar

  • Direktori tempat objek kode yang ditandatangani akan ditulis.

          output_path: ${GITHUB_WORKSPACE}/artifacts

 

Masukan

  • nama pengguna: Nama pengguna akun SSL.com. (Yg dibutuhkan)
  • kata sandi: Kata sandi akun SSL.com (Diperlukan)
  • kredensial_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)
  • rahasia_totp: Rahasia TOTP OAuth. Anda dapat mengakses informasi rinci di https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Wajib Isi)
  • file_path: Jalur objek kode yang akan ditandatangani. (Yg dibutuhkan)
  • jalur keluaran: 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

Siapkan komponen alur kerja

  1. Buat folder Github di editor Anda. Sertakan alur kerja dengan folder dan buat file yml di bawah folder.
    1. Beri nama proyek Anda dan jenis alur kerja yang terlibat
    Nama: Maven Build and Sign
     
    1. Picu alur kerja ini dengan menekan
    pada: dorong
     
    1. Buat variabel lingkungan
    • Variabel lingkungan digunakan untuk membuat sampel lebih mudah dibaca. Pada tangkapan layar di atas contoh alur kerja, PROJECT_NAME, PROJECT_VERSION, dan MAVEN_VERSION secara opsional dihilangkan. Penandatanganan masih dapat dilanjutkan bahkan dengan kelalaian ini.
    env: PROJECT_NAME: HelloWorld PROJECT_VERSION: 0.0.1 MAVEN_VERSION: 3.8.5 JAVA_VERSION: 17
     
    1. Tentukan pekerjaan di editor Anda
    pekerjaan: membangun-dan-menandatangani-jar:
     
    1. Jalankan pekerjaan di Ubuntu Runner
        berjalan-on: ubuntu-terbaru
     
    1. Buat nama. Saat alur kerja berjalan, ini adalah nama yang dicatat.
      nama: CodeSigner di Java dengan Maven
     

Uraikan langkah-langkah untuk memeriksa kode sumber, menyiapkan lingkungan Java dan Maven, dan membuat Direktori Artifact.

  1) Periksa kode sumber sehingga alur kerja dapat mengaksesnya.

   langkah-langkah: - menggunakan: tindakan/checkout@v2
 

  2) Siapkan lingkungan Java dan Maven untuk alur kerja yang akan digunakan.

    - nama: Instal Maven dan Java menggunakan: s4u/setup-maven-action@v1.3.1 dengan: java-version: '${{env.JAVA_VERSION}}' maven-version: '${{env.MAVEN_VERSION}}'

 

      3) Buat Direktori Artefak untuk menyimpan file artefak yang ditandatangani dan tidak ditandatangani

 - nama: Buat Shell Direktori: bash run: | mkdir ${GITHUB_WORKSPACE}/artefak mkdir ${GITHUB_WORKSPACE}/packages

 

      4) Bangun proyek atau solusi pakar dan semua dependensinya.

      Setelah file jar dibuat, salin ke folder 'paket' untuk ditandatangani

  • Dalam alur kerja contoh penandatanganan tertulis 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.
 - nama: Bangun Java Project shell: bash run: | mvn clean install -f java/pom.xml cp java/target/${{env.PROJECT_NAME}}-${{env.PROJECT_VERSION}}.jar ${GITHUB_WORKSPACE}/packages/${{env.PROJECT_NAME}}. stoples
 

Uraikan langkah-langkah untuk pekerjaan Masuk dan Unggah

  1. Pekerjaan Masuk adalah langkah di mana file JAR (artefak) yang dibuat akan ditandatangani dengan CodeSignTool.
 - nama: Sign Artifact menggunakan: sslcom/actions-codesigner@develop dengan:

           Tanda tangani dan objek kode stempel waktu.

perintah: tanda

           Nama pengguna akun SSL.com.

nama pengguna: ${{secrets.ES_USERNAME}}

           Kata sandi akun SSL.com.

sandi: ${{secrets.ES_PASSWORD}}

           ID Kredensial untuk menandatangani sertifikat.

credential_id: ${{rahasia.CREDENTIAL_ID}}

           Rahasia OAuth TOTP (https://www.ssl.com/how-to/automate-esigner-ev-code-signing)

totp_rahasia: ${{rahasia.ES_TOTP_SECRET}}

           Jalur objek kode yang akan ditandatangani. (File DLL, JAR, EXE, MSI vb… )

  file_path: ${GITHUB_WORKSPACE}/packages/${{env.PROJECT_NAME}}.jar

           Direktori tempat objek kode yang ditandatangani akan ditulis.

output_path: ${GITHUB_WORKSPACE}/artefak

 

  1. Pekerjaan unggah adalah langkah di mana artefak dari alur kerja Anda akan diunggah memungkinkan Anda untuk berbagi data antara pekerjaan dan menyimpan data setelah alur kerja selesai
 - nama: Unggah File yang Ditandatangani menggunakan: actions/upload-artifact@v2 dengan: nama: ${{env.PROJECT_NAME}}.jar path: ./artifacts/${{env.PROJECT_NAME}}.jar
 

Dapatkan pengunggah artefak build dari Github Marketplace

Tinjau skrip pengkodean Anda

Secara keseluruhan skrip pengkodean untuk pekerjaan buld, sign, dan upload akan terlihat seperti gambar di bawah ini. Pastikan untuk memperbaiki kesalahan seperti ejaan yang salah atau jeda baris yang salah dalam skrip sehingga proses penandatanganan akan berjalan dengan lancar.

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 Anda

Buka lokasi proyek Anda di akun Github Anda. Klik tindakan tab. Klik Rahasia repositori baru tombol untuk menempatkan nilai untuk setiap variabel lingkungan yang diperlukan dalam menandatangani kode Anda.

Buat repositori baru di baris perintah

Lanjutkan ke lokasi proyek Anda di Github dan salin setiap komponen dari perintah push.

Dorong proyek

Sertakan setiap baris perintah push di editor kode Anda. Setelah selesai, kode akan secara otomatis didorong di Github.

Tunggu artefak ditandatangani dengan eSigner CodeSignTool

Unggah file yang ditandatangani

Klik pada file yang ditandatangani untuk mengunggahnya.

Catatan: Pastikan untuk memperbaiki kesalahan ketik atau jeda baris yang salah dalam skrip agar proses penandatanganan dapat berjalan dengan lancar.

Contoh Pipeline Tindakan Github


Lihat contoh pipeline Github Actions yang telah kami buat github.com/SSLcom/codesigner-github-sample  

Panduan Integrasi Penandatanganan Jarak Jauh 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.