kullanım
- isim: CodeSignTool ile Yapıyı İmzalayın
kullanır: sslcom/actions-codesigner@develop
ile:
- CodeSignTool Komutları:
- get_credential_ids
: Bir kullanıcıyla ilişkili eSigner kimlik bilgileri listesinin çıktısını alın.
- credential_info
: Bir kimlik bilgisi kimliğiyle ilgili çıktı anahtarı ve sertifika bilgileri.
- sign
: İşaret ve zaman damgası kod nesnesi.
- batch_sign
: Birden çok kod nesnesini tek bir OTP ile imzalayın ve zaman damgası ekleyin.
- hash
: Batch_hash_sign komutuyla daha sonra kullanmak üzere hash(ler)i önceden hesaplayın.
- batch_sign_hash
: Hash komutu ile önceden hesaplanmış hash(ler)i imzalayın.
komut: işaret
- SSL.com hesabı kullanıcı adı.
username: ${{secrets.ES_USERNAME}}
- SSL.com hesap şifresi.
password: ${{secrets.ES_PASSWORD}}
- Sertifika imzalamak için kimlik bilgisi kimliği.
credential_id: ${{secrets.CREDENTIAL_ID}}
- OAuth TOTP Gizli Anahtarı (https://www.ssl.com/how-to/automate-esigner-ev-code-signing)
totp_secret: ${{secrets.ES_TOTP_SECRET}}
- İmzalanacak kod nesnesinin yolu.
file_path: ${GITHUB_WORKSPACE}/test/src/build/HelloWorld.jar
- İmzalı kod nesnesinin/nesnelerinin yazılacağı dizin.
output_path: ${GITHUB_WORKSPACE}/artifacts
Girdiler
- kullanıcı adı: SSL.com hesabı kullanıcı adı. (Gerekli)
- şifre: SSL.com hesap şifresi (Gerekli)
- kimlik bilgisi_kimliği: İmza sertifikası için kimlik bilgisi. credential_id atlanırsa ve kullanıcının yalnızca bir eSigner kod imzalama sertifikası varsa, CodeSignTool varsayılan olarak bunu ayarlar. Kullanıcının birden fazla kod imzalama sertifikası varsa bu parametre zorunludur. (Gerekli)
- totp_secret: OAuth TOTP Gizli. adresinden detaylı bilgilere ulaşabilirsiniz. https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Gereklidir)
- dosya yolu: İmzalanacak kod nesnesinin yolu. (Gerekli)
- çıkış yolu: İmzalı kod nesnesinin/nesnelerinin yazılacağı dizin. output_path atlanırsa, -file_path içinde belirtilen dosyanın üzerine imzalı dosya yazılır.
Java Kodu (Maven) JAR İmzalama Örnek İş Akışı
İş akışının bileşenlerini hazırlayın
- Editörünüzde bir Github klasörü oluşturun. Klasöre iş akışlarını dahil edin ve klasörün altında bir yml dosyası oluşturun.
- Projenizi ve ilgili iş akışının türünü adlandırın
İsim: Maven İnşa Et ve İmzala
- Bu iş akışını bir itme ile tetikleyin
açık: itin
- Bir ortam değişkeni oluşturun
- Örnekleri daha okunaklı hale getirmek için ortam değişkenleri kullanılır. Örnek iş akışının yukarıdaki ekran görüntüsünde PROJECT_NAME, PROJECT_VERSION ve MAVEN_VERSION isteğe bağlı olarak çıkarılmıştır. İmzalama, bu eksikliklerle bile devam edebilir.
env: PROJECT_NAME: HelloWorld PROJECT_VERSION: 0.0.1 MAVEN_VERSION: 3.8.5 JAVA_VERSION: 17
- Editörünüzdeki işleri tanımlayın
işler: yap ve imzala kavanoz:
- Ubuntu Runner'da işi çalıştır
çalışır durumda: ubuntu-en son
- Bir ad oluşturun. İş akışı çalıştığında, günlüğe kaydedilen ad budur.
isim: Maven ile Java üzerinde CodeSigner
Kaynak kodunu kontrol etme, Java ve Maven ortamını ayarlama ve Artifact Dizini oluşturma adımlarını ana hatlarıyla belirtin.
1) İş akışının erişebilmesi için kaynak kodunu kontrol edin.
adımlar: - kullanır: eylemler/checkout@v2
2) İş akışının kullanması için Java ve Maven ortamını ayarlayın.
- ad: Maven'i yükleyin ve Java şunları kullanır: s4u/setup-maven-action@v1.3.1 ile: Java sürümü: '${{env.JAVA_VERSION}}' maven sürümü: '${{env.MAVEN_VERSION}}'
3) İmzalı ve imzasız yapı dosyalarını depolamak için Yapıt Dizini oluşturun
- ad: Dizin kabuğu oluşturun: bash çalıştırma: | mkdir ${GITHUB_WORKSPACE}/artifacts mkdir ${GITHUB_WORKSPACE}/packages
4) Bir maven projesi veya çözümü ve tüm bağımlılıklarını oluşturun.
Jar dosyası oluşturulduktan sonra, imzalamak için 'packages' klasörüne kopyalayın
- Bu yazılı imza örneği iş akışında birden çok proje türü oluşturulmuştur. Bu nedenle alt klasörler oluşturularak farklı proje türlerine ait dosyalar tutulmuştur. Java projeleri için 'java' adında bir alt klasör oluşturuldu. Yukarıdaki demo ekran görüntüsünde, 'java' adında bir alt klasör oluşturmaya gerek yoktu, bu yüzden bu komut dosyasına dahil edilmedi.
- ad: Java Projesi kabuğunu oluşturun: bash çalıştırma: | mvn temiz kurulum -f Java/pom.xml cp Java/target/${{env.PROJECT_NAME}}-${{env.PROJECT_VERSION}}.jar ${GITHUB_WORKSPACE}/packages/${{env.PROJECT_NAME}}. kavanoz
İmzala ve Karşıya Yükle işlerinin adımlarını özetleyin
- Sign işi, oluşturulan JAR (artifact) dosyalarının CodeSignTool ile imzalanacağı adımdır.
- ad: Sign Artifact şunu kullanır: sslcom/actions-codesigner@develop:
İşaret ve zaman damgası kodu nesnesi.
komut: işaret
SSL.com hesabı kullanıcı adı.
kullanıcı adı: ${{secrets.ES_USERNAME}}
SSL.com hesap şifresi.
şifre: ${{secrets.ES_PASSWORD}}
Sertifika imzalamak için kimlik bilgisi kimliği.
kimlik bilgisi_kimliği: ${{secrets.CREDENTIAL_ID}}
OAuth TOTP Sırrı (https://www.ssl.com/how-to/automate-esigner-ev-code-signing)
totp_secret: ${{secrets.ES_TOTP_SECRET}}
İmzalanacak kod nesnesinin yolu. (DLL, JAR, EXE, MSI dosyaları vb… )
dosya_yolu: ${GITHUB_WORKSPACE}/packages/${{env.PROJECT_NAME}}.jar
İmzalı kod nesnesinin/nesnelerinin yazılacağı dizin.
çıktı_yolu: ${GITHUB_WORKSPACE}/artifacts
- Yükleme işi, bir iş akışı tamamlandığında işler arasında veri paylaşmanıza ve veri depolamanıza olanak tanıyan, iş akışınızdaki yapıların yükleneceği adımdır.
- ad: İmzalı Dosyaları Yükle şunları kullanır: eylemler/upload-artifact@v2 ile: ad: ${{env.PROJECT_NAME}}.jar yolu: ./artifacts/${{env.PROJECT_NAME}}.jar
Github Marketplace'ten bir yapı yapıtı yükleyicisi edinin
Kodlama komut dosyanızı gözden geçirin
Buld, sign ve upload işleri için genel olarak kodlama betiği aşağıdaki resimdeki gibi görünmelidir. İmzalama işleminin sorunsuz çalışması için komut dosyasındaki yanlış yazım veya hatalı satır sonları gibi hataları düzelttiğinizden emin olun.
Ortam Değişkenlerinizi Tanımlayın
Github hesabınızda projenizin konumuna gidin. Tıkla İşlemler sekmesi. Tıkla Yeni depo sırrı kodunuzu imzalamak için gereken her ortam değişkeninin değerlerini yerleştirmek için düğme.
Komut satırında yeni bir depo oluşturun
Projenizin Github'daki konumuna ilerleyin ve push komutunun her bir bileşenini kopyalayın.
Projeyi itin
Her bir push komut satırını kod düzenleyicinize ekleyin. Tamamlandığında, kod otomatik olarak Github'a aktarılacaktır.
Yapıtın eSigner CodeSignTool ile imzalanmasını bekleyin
İmzalı dosyayı yükleyin
Yüklemek için imzalı dosyaya tıklayın.
Örnek Github Eylemleri Ardışık Düzeni
Oluşturduğumuz örnek Github Actions işlem hattına göz atın github.com/SSLcom/codesigner-github-sample
Diğer CI/CD Uzaktan İmzalama Entegrasyon Kılavuzları
- CircleCI ile Bulut Kod İmzalama Entegrasyonu
- GitLab CI ile Bulut Kod İmzalama Entegrasyonu
- Jenkins CI ile Bulut Kod İmzalama Entegrasyonu
- Travis CI ile Bulut Kod İmzalama Entegrasyonu
- Azure DevOps ile Bulut Kod İmzalama Entegrasyonu
- CI/CD Hizmetleri ile Bulut Kod İmzalama Otomasyonu
Özel Çözümlere mi ihtiyacınız var?
Uzman bilgi birikimimiz ve beş yıldızlı destek ekibimizle, özel çözümler veya kurumsal düzeyde yüksek hacimli imza indirimleri konusunda sizinle birlikte çalışmaya hazır ve istekliyiz. Aşağıdaki formu doldurun, sizinle iletişime geçelim.