Μεταβλητές περιβάλλοντος
- USERNAME: Όνομα χρήστη λογαριασμού 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 (Απαιτείται)
- ENVIRONMENT_NAME : Περιβάλλον 'TEST' ή 'PROD'. (Απαιτείται)
Είσοδοι
- διαδρομή_αρχείου_εισόδου: Διαδρομή του αντικειμένου κωδικού προς υπογραφή. (Απαιτείται)
- output_dir_path: Κατάλογος όπου θα εγγραφούν υπογεγραμμένα αντικείμενα κώδικα. Εάν παραλειφθεί η διαδρομή output_path, το αρχείο που καθορίζεται στο -file_path θα αντικατασταθεί με το υπογεγραμμένο αρχείο.
.NET Code DLL Signing Παράδειγμα Ροή εργασιών
Δημιουργήστε ένα αρχείο yml
Ομαδοποιήστε τις εργασίες σε στάδια. Όλες οι εργασίες σε ένα στάδιο πρέπει να ολοκληρωθούν πριν από την εκτέλεση του επόμενου σταδίου.
στάδια: - κατασκευή - σημάδι
Καθορισμός μεταβλητών περιβάλλοντος παγκοσμίως. Η ιδιότητα επιπέδου εργασίας παρακάμπτει τις καθολικές μεταβλητές.
- Οι μεταβλητές περιβάλλοντος χρησιμοποιούνται για να κάνουν τα δείγματα πιο ευανάγνωστα. Στο παραπάνω στιγμιότυπο οθόνης του παραδείγματος ροής εργασίας, τα PROJECT_NAME, PROJECT_VERSION και DOTNET_VERSION παραλείφθηκαν προαιρετικά. Η υπογραφή μπορεί να συνεχιστεί με αυτές τις παραλείψεις.
- Στην περιοχή ENVIRONMENT_NAME, τοποθετήστε "TEST" για δοκιμαστική υπογραφή και "PROD" για ζωντανή υπογραφή.
μεταβλητές: PROJECT_NAME: "HelloWorld" PROJECT_VERSION: "0.0.1" DOTNET_VERSION: "3.1" ENVIRONMENT_NAME: "PROD"
Ορίστε το Στάδιο κατασκευής
Παρακάτω είναι ο ορισμός της εργασίας σας για τη δημιουργία τεχνουργήματος dll
build-dotnet:
- Καθορίστε σε ποιο στάδιο θα εκτελεστεί η εργασία.
στάδιο: κατασκευή
- Τοποθετήστε το πλήρες όνομα της εικόνας που πρέπει να χρησιμοποιηθεί. Θα πρέπει να περιέχει το τμήμα Μητρώου εάν χρειάζεται.
εικόνα: mcr.microsoft.com/dotnet/sdk:3.1-bullseye
- Καθορίστε σενάρια που θα πρέπει να εκτελούνται *πριν* από την εργασία. Μπορεί να ρυθμιστεί συνολικά ή ανά εργασία.
before_script: - mkdir -p ${CI_PROJECT_DIR}/artifacts - mkdir -p ${CI_PROJECT_DIR}/πακέτα
- Ορίστε τα σενάρια Shell που εκτελούνται από το Runner. Δημιουργία τεχνουργήματος DLL
script: - dotnet build dotnet/${PROJECT_NAME}.csproj -c Έκδοση - cp dotnet/bin/Release/netcoreapp${DOTNET_VERSION}/${PROJECT_NAME}-${PROJECT_VERSION}.dll ${CI_PROJECT_DIR$}/packages PROJECT_NAME}.dll
- Καθορίστε μια λίστα με αρχεία και καταλόγους που θα πρέπει να επισυναφθούν στην εργασία, εάν είναι επιτυχής.
- Η "expire_inΗ ιδιότητα ' επιτρέπει τη διαγραφή του αρχείου μετά από ένα ορισμένο χρονικό διάστημα. Η χρήση του είναι προαιρετική. Αυτός είναι ο λόγος για τον οποίο το στιγμιότυπο οθόνης του παραδείγματος ροής εργασίας παραπάνω δεν εμφανίζει αυτήν την ιδιότητα.
artifacts: paths: - ${CI_PROJECT_DIR}/packages/HelloWorld.dll expire_in: 5 λεπτά
Καθορίστε το Στάδιο Σήμανσης
Παρακάτω είναι ο ορισμός της εργασίας σας για την υπογραφή τεχνουργήματος dll
sign-dotnet-artifacts:
- Καθορίστε σε ποιο στάδιο θα εκτελεστεί η εργασία.
στάδιο: σημάδι
- Τοποθετήστε το πλήρες όνομα της εικόνας που πρέπει να χρησιμοποιηθεί. Θα πρέπει να περιέχει το τμήμα Μητρώου εάν χρειάζεται.
εικόνα: docker:19.03.0
- Ορίστε τις υπηρεσίες. Αυτή είναι παρόμοια με την ιδιότητα "image", αλλά θα συνδέσει τις καθορισμένες υπηρεσίες με το κοντέινερ "image".
υπηρεσίες: - docker:19.03.0-dind
- Ορίστε μεταβλητές περιβάλλοντος για συγκεκριμένες εργασίες.
- Στο παραπάνω στιγμιότυπο οθόνης, η εντολή sign ορίστηκε απευθείας στη δέσμη ενεργειών υπογραφής και όχι στις μεταβλητές περιβάλλοντος. σιΆλλες μέθοδοι μπορούν να υπογράψουν σωστά με το TravisCI.
μεταβλητές: COMMAND: "sign"
- Καθορίστε σενάρια που θα πρέπει να εκτελούνται *πριν* από την εργασία. Μπορεί να ρυθμιστεί συνολικά ή ανά εργασία.
before_script: - mkdir -p ${CI_PROJECT_DIR}/artifacts - mkdir -p ${CI_PROJECT_DIR}/πακέτα
- Place Shell scripts που εκτελούνται από το Runner. Υπογράψτε το τεχνούργημα .NET dll με το CodeSignTool Docker Image
σενάριο: - docker pull ghcr.io/sslcom/codesigner:latest - docker run -i --rm --dns 8.8.8.8 --network host --volume ${CI_PROJECT_DIR}/packages:/codesign/examples --volume $ {CI_PROJECT_DIR}/artifacts:/codesign/output -e USERNAME=${USERNAME} -e PASSWORD=${PASSWORD} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRETNAME${ENTROVI_EN_e ghcr.io/sslcom/codesigner:latest ${COMMAND} -input_file_path=/codesign/examples/${PROJECT_NAME}.dll -output_dir_path=/codesign/output
- Γράψτε τη δέσμη ενεργειών που μπορεί να χρησιμοποιηθεί για τον καθορισμό μιας λίστας αρχείων και καταλόγων που θα πρέπει να επισυναφθούν στην εργασία εάν είναι επιτυχής.
τεχνουργήματα: διαδρομές: - ${CI_PROJECT_DIR}/artifacts/${PROJECT_NAME}.dll expire_in: 1 ημέρες
- Καθορίστε μια λίστα με ονόματα εργασιών από προηγούμενα στάδια από τα οποία θα πρέπει να φορτωθούν τα τεχνουργήματα.
εξαρτήσεις: - build-dotnet
Ξεκινήστε το στάδιο Build
Δημιουργήστε ένα αποθετήριο
Ανατρέξτε στις οδηγίες της γραμμής εντολών στο Gitlab όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης
Σπρώξτε το φάκελό σας
Κάντε αυτό κάνοντας κλικ τερματικό στο μενού, ακολουθούμενο από Νέο τερματικό.
Πληκτρολογήστε το σενάριο push στο τερματικό σας για να προωθήσετε το έργο
Κάντε κλικ στο κουμπί Δημιουργία
Μετά την ενεργοποίηση του αγωγού, προχωρήστε στην κατασκευή
Ελέγξτε εάν η κατασκευή είναι επιτυχής
Ξεκινήστε το Sign Stage
Προχωρήστε στην υπογραφή του αντικειμένου
Επιβεβαιώστε εάν η υπογραφή κωδικού είναι επιτυχής
Τώρα μπορείτε να κάνετε λήψη του υπογεγραμμένου αρχείου
Δείγμα αγωγού Gitlab CI
Δείτε το δείγμα του αγωγού Gitlab CI που δημιουργήσαμε github.com/SSLcom/codesigner-gitlabci-sampleΆλλοι οδηγοί ενσωμάτωσης απομακρυσμένης υπογραφής CI/CD
- Cloud Code Signing Integration με το CircleCI
- Ενσωμάτωση υπογραφής κώδικα cloud με ενέργειες GitHub
- Cloud Code Signing Integration με το Jenkins CI
- Cloud Code Signing Integration με το Travis CI
- Ενσωμάτωση υπογραφής κώδικα Cloud με το Azure DevOps
- Cloud Code Signing Integration με το BitBucket
- Αυτοματισμός υπογραφής κωδικού νέφους με υπηρεσίες CI/CD
Χρειάζεστε προσαρμοσμένες λύσεις;
Με τις εξειδικευμένες γνώσεις μας και το προσωπικό υποστήριξης πέντε αστέρων, είμαστε έτοιμοι και πρόθυμοι να συνεργαστούμε μαζί σας για προσαρμοσμένες λύσεις ή εκπτώσεις υπογραφών μεγάλου όγκου σε εταιρικό επίπεδο. Συμπληρώστε την παρακάτω φόρμα και θα επικοινωνήσουμε.