Χρήση
- όνομα: Υπογραφή Artifact με CodeSignTool
χρήσεις: sslcom/actions-codesigner@develop
με:
- Εντολές CodeSignTool:
- get_credential_ids
: Εξαγωγή της λίστας των αναγνωριστικών διαπιστευτηρίων eSigner που σχετίζονται με έναν χρήστη.
- credential_info
: Κλειδί εξόδου και πληροφορίες πιστοποιητικού που σχετίζονται με αναγνωριστικό διαπιστευτηρίου.
- sign
: Αντικείμενο κώδικα σήμανσης και χρονικής σήμανσης.
- batch_sign
: Υπογραφή και χρονική σήμανση πολλαπλών αντικειμένων κώδικα με ένα OTP.
- hash
: Υπολογίστε εκ των προτέρων τους κατακερματισμούς για μελλοντική χρήση με την εντολή batch_hash_sign.
- batch_sign_hash
: Κατακερματισμός υπογραφής προυπολογισμένος με εντολή κατακερματισμού.
εντολή: υπογράψουν
- Όνομα χρήστη λογαριασμού SSL.com.
username: ${{secrets.ES_USERNAME}}
- Κωδικός πρόσβασης λογαριασμού SSL.com.
password: ${{secrets.ES_PASSWORD}}
- Ταυτότητα διαπιστευτηρίου για υπογραφή πιστοποιητικού.
credential_id: ${{secrets.CREDENTIAL_ID}}
- OAuth TOTP Secret (https://www.ssl.com/how-to/automate-esigner-ev-code-signing)
totp_secret: ${{secrets.ES_TOTP_SECRET}}
- Διαδρομή του αντικειμένου κωδικού προς υπογραφή.
file_path: ${GITHUB_WORKSPACE}/test/src/build/HelloWorld.jar
- Κατάλογος όπου θα εγγραφούν υπογεγραμμένα αντικείμενα κώδικα.
output_path: ${GITHUB_WORKSPACE}/artifacts
Είσοδοι
- όνομα χρήστη: Όνομα χρήστη λογαριασμού SSL.com. (Απαιτείται)
- κωδικό πρόσβασης: Κωδικός πρόσβασης λογαριασμού SSL.com (Απαιτείται)
- credential_id: Διαπιστευτήριο για την υπογραφή πιστοποιητικού. Εάν παραληφθεί το credential_id και ο χρήστης έχει μόνο ένα πιστοποιητικό υπογραφής κωδικού eSigner, το CodeSignTool θα το έχει προεπιλογή. Εάν ο χρήστης διαθέτει περισσότερα από ένα πιστοποιητικά υπογραφής κωδικού, αυτή η παράμετρος είναι υποχρεωτική. (Απαιτείται)
- totp_secret: OAuth TOTP Secret. Μπορείτε να έχετε πρόσβαση σε λεπτομερείς πληροφορίες για https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Απαιτείται)
- διαδρομή αρχείου: Διαδρομή του αντικειμένου κωδικού προς υπογραφή. (Απαιτείται)
- έξοδος_ διαδρομή: Κατάλογος όπου θα εγγραφούν υπογεγραμμένα αντικείμενα κώδικα. Εάν παραλειφθεί η διαδρομή output_path, το αρχείο που καθορίζεται στο -file_path θα αντικατασταθεί με το υπογεγραμμένο αρχείο.
Ροή εργασιών για παράδειγμα Java Code (Maven) JAR Signing
Προετοιμάστε τα στοιχεία της ροής εργασίας
- Δημιουργήστε έναν φάκελο Github στον επεξεργαστή σας. Συμπεριλάβετε ροές εργασίας με το φάκελο και δημιουργήστε ένα αρχείο yml κάτω από το φάκελο.
- Ονομάστε το έργο σας και τον τύπο της ροής εργασίας που εμπλέκεται
Όνομα: Maven Build and Sign
- Ενεργοποιήστε αυτήν τη ροή εργασίας με μια ώθηση
on: ώθηση
- Δημιουργήστε μια μεταβλητή περιβάλλοντος
- Οι μεταβλητές περιβάλλοντος χρησιμοποιούνται για να κάνουν τα δείγματα πιο ευανάγνωστα. Στο παραπάνω στιγμιότυπο οθόνης του παραδείγματος ροής εργασίας, τα PROJECT_NAME, PROJECT_VERSION και MAVEN_VERSION παραλείφθηκαν προαιρετικά. Η υπογραφή μπορεί να συνεχιστεί ακόμα και με αυτές τις παραλείψεις.
env: PROJECT_NAME: HelloWorld PROJECT_VERSION: 0.0.1 MAVEN_VERSION: 3.8.5 JAVA_VERSION: 17
- Καθορίστε τις εργασίες στο πρόγραμμα επεξεργασίας σας
θέσεις εργασίας: build-and-sign-jar:
- Εκτέλεση εργασίας στο Ubuntu Runner
runs-on: ubuntu-latest
- Δημιουργήστε ένα όνομα. Όταν εκτελείται η ροή εργασίας, αυτό είναι το όνομα που καταγράφεται.
όνομα: CodeSigner σε Java με Maven
Περιγράψτε τα βήματα για τον έλεγχο του πηγαίου κώδικα, τη ρύθμιση του περιβάλλοντος Java και Maven και τη δημιουργία Καταλόγου Artifact.
1) Ελέγξτε τον πηγαίο κώδικα, ώστε η ροή εργασίας να έχει πρόσβαση σε αυτόν.
βήματα: - χρήσεις: actions/checkout@v2
2) Ρυθμίστε το περιβάλλον Java και Maven για χρήση της ροής εργασίας.
- όνομα: Εγκατάσταση Maven και Java χρησιμοποιεί: s4u/setup-maven-action@v1.3.1 με: java-version: '${{env.JAVA_VERSION}}' maven-έκδοση: '${{env.MAVEN_VERSION}}'
3) Δημιουργήστε κατάλογο τεχνουργημάτων για να αποθηκεύσετε υπογεγραμμένα και ανυπόγραφα αρχεία τεχνουργημάτων
- όνομα: Δημιουργία κελύφους καταλόγου: bash εκτέλεση: | mkdir ${GITHUB_WORKSPACE}/artifacts mkdir ${GITHUB_WORKSPACE}/πακέτα
4) Δημιουργήστε ένα έργο ή λύση maven και όλες τις εξαρτήσεις του.
Αφού δημιουργηθεί το αρχείο jar, αντιγράψτε στον φάκελο «πακέτα» για υπογραφή
- Σε αυτό το παράδειγμα ροής εργασίας γραπτής υπογραφής, δημιουργήθηκαν πολλαπλοί τύποι έργων. Αυτός είναι ο λόγος για τον οποίο διατηρήθηκαν αρχεία διαφορετικών τύπων έργου δημιουργώντας υποφακέλους. Ένας υποφάκελος με το όνομα 'java' δημιουργήθηκε για έργα Java. Στο στιγμιότυπο οθόνης επίδειξης παραπάνω, δεν υπήρχε ανάγκη να δημιουργηθεί ένας υποφάκελος με το όνομα 'java', επομένως δεν συμπεριλήφθηκε στο σενάριο.
- όνομα: Δημιουργία Java Κέλυφος έργου: bash εκτέλεση: | mvn καθαρή εγκατάσταση -f java/pom.xml cp java/target/${{env.PROJECT_NAME}}-${{env.PROJECT_VERSION}}.jar ${GITHUB_WORKSPACE}/packages/${{env.PROJECT_NAME}}. δοχείο
Περιγράψτε τα βήματα για τις εργασίες Υπογραφή και Μεταφόρτωση
- Η εργασία Sign είναι το βήμα όπου τα δημιουργημένα αρχεία JAR (artifact) θα υπογραφούν με το CodeSignTool.
- όνομα: Sign Artifact χρησιμοποιεί: sslcom/actions-codesigner@develop με:
Αντικείμενο κωδικού υπογραφής και χρονικής σφραγίδας.
εντολή: υπογράψω
Όνομα χρήστη λογαριασμού SSL.com.
όνομα χρήστη: ${{secrets.ES_USERNAME}}
Κωδικός πρόσβασης λογαριασμού SSL.com.
κωδικός πρόσβασης: ${{secrets.ES_PASSWORD}}
Ταυτότητα διαπιστευτηρίου για υπογραφή πιστοποιητικού.
credential_id: ${{secrets.CREDENTIAL_ID}}
OAuth TOTP Secret (https://www.ssl.com/how-to/automate-esigner-ev-code-signing)
totp_secret: ${{secrets.ES_TOTP_SECRET}}
Διαδρομή του αντικειμένου κωδικού προς υπογραφή. (Αρχεία DLL, JAR, EXE, MSI vb…)
file_path: ${GITHUB_WORKSPACE}/packages/${{env.PROJECT_NAME}}.jar
Κατάλογος όπου θα εγγραφούν υπογεγραμμένα αντικείμενα κώδικα.
output_path: ${GITHUB_WORKSPACE}/τεχνουργήματα
- Η εργασία μεταφόρτωσης είναι το βήμα όπου θα μεταφορτωθούν τεχνουργήματα από τη ροή εργασίας σας, επιτρέποντάς σας να μοιράζεστε δεδομένα μεταξύ εργασιών και να αποθηκεύετε δεδομένα μόλις ολοκληρωθεί μια ροή εργασίας
- όνομα: Μεταφόρτωση υπογεγραμμένων αρχείων χρησιμοποιεί: actions/upload-artifact@v2 με: όνομα: ${{env.PROJECT_NAME}}.jar διαδρομή: ./artifacts/${{env.PROJECT_NAME}}.jar
Αποκτήστε ένα πρόγραμμα μεταφόρτωσης τεχνουργημάτων κατασκευής από το Github Marketplace
Ελέγξτε το σενάριο κωδικοποίησης σας
Συνολικά, το σενάριο κωδικοποίησης για τις εργασίες εκτύπωσης, υπογραφής και μεταφόρτωσης θα πρέπει να μοιάζει με την παρακάτω εικόνα. Φροντίστε να διορθώσετε τυχόν λάθη, όπως λανθασμένη ορθογραφία ή λανθασμένες αλλαγές γραμμής στο σενάριο, ώστε η διαδικασία υπογραφής να εκτελεστεί ομαλά.
Καθορίστε τις Μεταβλητές Περιβάλλοντος σας
Μεταβείτε στην τοποθεσία του έργου σας στον λογαριασμό σας Github. Κάντε κλικ στο Δράσεις αυτί. Κάντε κλικ στο Νέο μυστικό αποθετηρίου κουμπί για να τοποθετήσετε τις τιμές για κάθε μεταβλητή περιβάλλοντος που απαιτείται για την υπογραφή του κώδικά σας.
Δημιουργήστε ένα νέο αποθετήριο στη γραμμή εντολών
Προχωρήστε στη θέση του έργου σας στο Github και αντιγράψτε κάθε στοιχείο της εντολής push.
Σπρώξτε το έργο
Συμπεριλάβετε κάθε γραμμή εντολών push στον επεξεργαστή κώδικα. Με την ολοκλήρωση, ο κώδικας θα προωθηθεί αυτόματα στο Github.
Περιμένετε να υπογραφεί το τεχνούργημα με το eSigner CodeSignTool
Ανεβάστε το υπογεγραμμένο αρχείο
Κάντε κλικ στο υπογεγραμμένο αρχείο για να το ανεβάσετε.
Δείγμα Github Actions Pipeline
Δείτε το δείγμα του αγωγού Github Actions που δημιουργήσαμε github.com/SSLcom/codesigner-github-sample
Άλλοι οδηγοί ενσωμάτωσης απομακρυσμένης υπογραφής CI/CD
- Cloud Code Signing Integration με το CircleCI
- Cloud Code Signing Integration με το GitLab CI
- Cloud Code Signing Integration με το Jenkins CI
- Cloud Code Signing Integration με το Travis CI
- Ενσωμάτωση υπογραφής κώδικα Cloud με το Azure DevOps
- Αυτοματισμός υπογραφής κωδικού νέφους με υπηρεσίες CI/CD
Χρειάζεστε προσαρμοσμένες λύσεις;
Με τις εξειδικευμένες γνώσεις μας και το προσωπικό υποστήριξης πέντε αστέρων, είμαστε έτοιμοι και πρόθυμοι να συνεργαστούμε μαζί σας για προσαρμοσμένες λύσεις ή εκπτώσεις υπογραφών μεγάλου όγκου σε εταιρικό επίπεδο. Συμπληρώστε την παρακάτω φόρμα και θα επικοινωνήσουμε.