Αυτή η ιστοσελίδα παρέχει οδηγίες σχετικά με τη χρήση ενός SSL.com OV or EV Πιστοποιητικό υπογραφής κώδικα με το SignTool της Microsoft και το SSL.com SSL Manager.
Αυτές οι οδηγίες προϋποθέτουν ότι το πιστοποιητικό υπογραφής κώδικα έχει εγκατασταθεί ή ότι το έχετε σε διακριτικό υλικού. Για υπογραφή κώδικα που βασίζεται σε σύννεφο χρησιμοποιώντας την πλατφόρμα eSigner, ανατρέξτε στο σελίδα επισκόπησης και αυτό οδηγός εγγραφής.
Να θυμάστε ότι για πιστοποιητικά υπογραφής κωδικών OV και EV που βασίζονται σε υλικό το ιδιωτικό κλειδί υπάρχει μόνο στο διακριτικό YubiKey FIPS USB που σας εστάλη και ότι το διακριτικό πρέπει να επισυνάπτεται στον υπολογιστή που χρησιμοποιείται για την υπογραφή της εφαρμογής. Οι χρήστες Windows με διακριτικά YubiKey FIPS θα πρέπει επίσης να κάνουν λήψη και εγκατάσταση του Minidriver Smart Card YubiKey πριν χρησιμοποιήσουν το διακριτικό τους.
Υπογραφή ενός εκτελέσιμου με SignTool
εγκαταστήστε Windows SDK και SignTool
Το SignTool περιλαμβάνεται στο Windows 10 SDK. Μετά την εγκατάσταση, το SignTool θα βρίσκεται κάτω από:
C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ \ x64 \ signtool.exe
Αρχική Powershell
Ξεκινήστε ένα Powershell παράθυρο εντολών αναζητώντας το "Powershell" στο Αρχική μενού και κάνοντας κλικ στην εφαρμογή επιφάνειας εργασίας.
Το Powershell είναι μια διεπαφή γραμμής εντολών για τις βασικές υπηρεσίες των Windows. Μπορείτε να το χρησιμοποιήσετε για να εκτελέσετε το SignTool και να υπογράψετε τον κωδικό σας.
Για EV κωδικός υπογράφοντας, συνδέστε το διακριτικό USB στον υπολογιστή σας (αν δεν το έχετε κάνει ήδη). Εάν χρησιμοποιείτε eSigner, εγκαταστήστε Προσαρμογέας κλειδιού eSigner Cloud
Να θυμάστε ότι το ιδιωτικό κλειδί υπάρχει μόνο στο διακριτικό USB που σας έχει σταλεί και αυτό το διακριτικό πρέπει να επισυνάπτεται σε υπολογιστή που χρησιμοποιείται για την υπογραφή της εφαρμογής. Αυτό το βήμα θα πρέπει να παραλειφθεί εάν χρησιμοποιείτε πιστοποιητικό υπογραφής κώδικα OV.
Σημάδι Εκτελέσιμο
Μπορείτε να υπογράψετε ένα εκτελέσιμο αρχείο εκδίδοντας την ακόλουθη εντολή στο παράθυρο του Powershell. Εάν χρησιμοποιείτε το eSigner cloud signing με το signtool.exe, φροντίστε να το εγκαταστήσετε eSigner CKA
. \ signtool.exe sign / fd sha256 / a "C: \ path \ to \ MyExecutable.exe"
- Η
/fd
Η επιλογή επιλέγει τον αλγόριθμο σύνοψης που θα χρησιμοποιηθεί κατά την υπογραφή. Windows 10 SDK, HLK, WDK και ADK 20236 και παραπάνω απαιτείται να οριστεί αυτή η επιλογή κατά την υπογραφή. Το SHA256 συνιστάται έναντι του SHA1 για ασφάλεια. - Η
/a
Η επιλογή δίνει εντολή στο SignTool να βρει αυτόματα ένα κατάλληλο πιστοποιητικό υπογραφής κώδικα για το εκτελέσιμο. - Εάν χρησιμοποιείτε πιστοποιητικό υπογραφής κωδικού EV, θα σας ζητηθεί το PIN του διακριτικού USB. Εάν χρειάζεστε βοήθεια για την εύρεση του PIN σας, ανατρέξτε στο αυτό το πώς.
Επιλογή πιστοποιητικού υπογραφής
Καθορίστε το όνομα θέματος
Εάν έχετε εγκαταστήσει περισσότερα από ένα κωδικά USB ή πιστοποιητικά υπογραφής κωδικών, μπορείτε καθορίστε το πιστοποιητικό θέλετε να χρησιμοποιήσετε συμπεριλαμβάνοντας το Όνομα θέματος μέσω του /n
επιλογή.
Μπορείτε να βρείτε το όνομα θέματος του πιστοποιητικού EV CS χρησιμοποιώντας το εργαλείο διαχείρισης πιστοποιητικών της Microsoft πιστοποιητικό. Ανοίξτε το εργαλείο από το μενού Έναρξη και αναζητήστε το πιστοποιητικό EV CS στο φάκελο "Προσωπικά", στην ενότητα "Πιστοποιητικά", όπως φαίνεται στην παρακάτω εικόνα. Το όνομα θέματος είναι το πεδίο "Issued To" στο certmgr.
Στην παραπάνω εικόνα είναι το Όνομα Θέματος του πιστοποιητικού example
. Μπορείτε να καθορίσετε αυτήν την τιμή στο SignTool με την ακόλουθη εντολή.
. \ signtool.exe sign / fd sha256 / n "παράδειγμα" "C: \ path \ to \ MyExecutable.exe"
Καθορίστε το SHA1 Hash
Εάν έχετε πολλά πιστοποιητικά με το ίδιο όνομα θέματος, μπορείτε επίσης να χρησιμοποιήσετε το κατακερματισμό SHA1 (ή "αποτύπωμα") ενός πιστοποιητικού για να το επιλέξετε για υπογραφή. Αντικαθιστώ THUMBPRINT
στην παρακάτω εντολή με το πραγματικό SHA1 κατακερματισμό του πιστοποιητικού σας. Μπορείτε να βρείτε αυτήν την τιμή βλέποντας τις λεπτομέρειες του πιστοποιητικού στο certmgr και αναζητώντας το Thumbprint
πεδίο (βεβαιωθείτε και αφαιρέστε τυχόν διαστημικούς χαρακτήρες από το αποτύπωμα πριν τον χρησιμοποιήσετε στην εντολή σας).
. \ signtool.exe sign / fd sha256 / sha1 THUMBPRINT "C: \ path \ to \ MyExecutable.exe"
Χρησιμοποιήστε ένα αρχείο PKCS # 12 / PFX
Εάν έχετε πιστοποιητικό υπογραφής κώδικα και ιδιωτικό κλειδί σε ένα αρχείο PKCS # 12 (επίσης γνωστό ως αρχείο PFX ή P12), μπορείτε να καθορίσετε το αρχείο και τον κωδικό πρόσβασης στη γραμμή εντολών:
. \ signtool.exe sign / fd sha256 / f "C: \ path \ to \ MyCertificate.pfx" / p password "C: \ path \ to \ MyExecutable.exe"
Χρονική σήμανση
Η χρονική σήμανση του κωδικού σας θα επιτρέψει την αξιοπιστία της μετά τη λήξη του πιστοποιητικού υπογραφής κώδικα. Εάν θέλετε να προσθέσετε ένα timestamp στο υπογεγραμμένο δυαδικό αρχείο, μπορείτε να το κάνετε χρησιμοποιώντας το SignTool's /tr
επιλογή, την οποία πρέπει να ακολουθήσετε με τον καθορισμό του αλγορίθμου χρονικής σήμανσης /td
. Η εντολή στο παρακάτω απόσπασμα περιλαμβάνει μια χρονική σήμανση από SSL.comυπηρεσία χρονικής σήμανσης κατά την υπογραφή ενός εκτελέσιμου.
. \ signtool.exe sign / fd sha256 / tr http://ts.ssl.com / td sha256 / a "C: \ path \ to \ MyExecutable.exe"
/tr
επιλογή (καθορίστε τη διεύθυνση URL του διακομιστή χρονικών γραμματοσήμων RFC 3161), δεν /t
(URL του διακομιστή χρονικής σήμανσης), ο οποίος δεν είναι συμβατός με το διακομιστή χρονικής σήμανσης του SSL.com./td
επιλογή πρέπει ακολουθα το /tr
επιλογή. Εάν ο αλγόριθμος χρονικής σήμανσης έχει καθοριστεί πριν από το διακομιστή χρονικής σήμανσης, θα χρησιμοποιηθεί ο προεπιλεγμένος αλγόριθμος SHA-1. Windows 10 SDK, HLK, WDK και ADK 20236 και παραπάνω απαιτούν τη χρήση του /tr
κατά τη χρονική σήμανση. Συνιστάται το SHA256 έναντι του SHA1 για ασφάλεια.Εάν αντιμετωπίσετε αυτό το σφάλμα:
The timestamp certificate does not meet a minimum public key length requirement
, θα πρέπει να επικοινωνήσετε με τον προμηθευτή του λογισμικού σας για να επιτρέψετε χρονικές σημάνσεις από κλειδιά ECDSA.Εάν δεν υπάρχει τρόπος για τον προμηθευτή του λογισμικού σας να επιτρέψει τη χρήση του κανονικού τερματικού σημείου, μπορείτε να χρησιμοποιήσετε αυτό το παλαιού τύπου τελικό σημείο
http://ts.ssl.com/legacy
για να λάβετε μια χρονική σήμανση από μια μονάδα χρονοσήμανσης RSA.Άλλες επιλογές
Άλλες σημαντικές επιλογές SignTool είναι:
/d
: Προσθέστε μια περιγραφή του υπογεγραμμένου κώδικα. Για παράδειγμα,/d "test code"
./du
: Προσθέστε μια διεύθυνση URL με εκτεταμένη περιγραφή του υπογεγραμμένου κώδικα. Για παράδειγμα,/du https://your_website.tld/project/description
.
Χρησιμοποιώντας όλες τις παραπάνω επιλογές (αλλά παραλείποντας /a
, /sha1
, ή /f
επειδή καθορίζουμε το Όνομα Θέματος του πιστοποιητικού με /n
, η γραμμή εντολών μας μοιάζει με:
signtool.exe sign / n "example" / fd sha256 / tr http://ts.ssl.com / td sha256 / d "test code" / du https: //your_website.tld/project/description "C: \ path \ to \ MyExecutable.exe "
Επαλήθευση υπογραφής
Χρησιμοποιήστε αυτήν την εντολή για να επαληθεύσετε τον υπογεγραμμένο κωδικό σας (σημειώστε ότι το /pa
η επιλογή πρέπει να υπάρχει στην εντολή):
. \ signtool.exe verify / pa "C: \ path \ to \ MyExecutable.exe"
Εάν το αρχείο σας έχει υπογραφεί επιτυχώς, θα πρέπει να βλέπετε έξοδο ως εξής:
Αρχείο: C: \ path \ to \ MyExecutable.exe Index Algorithm Timestamp =================================== ===== 0 sha256 RFC3161 Επαληθεύτηκε επιτυχώς: C: \ path \ to \ MyExecutable.exe
Μπορείτε επίσης να επαληθεύσετε ότι ένα αρχείο έχει υπογραφεί κάνοντας δεξί κλικ στο εικονίδιο του και επιλέγοντας Ιδιοκτησίες από το μενού και, στη συνέχεια, επιλέγοντας το Ψηφιακές υπογραφές αυτί. Δείτε λεπτομέρειες σχετικά με μια υπογραφή επιλέγοντας την και κάνοντας κλικ στο Περιγραφή κουμπί.
Εδώ μπορούμε να δούμε ότι το αρχείο περιέχει μια έγκυρη ψηφιακή υπογραφή, που δημιουργήθηκε από την SSL Corp στις 28 Ιουνίου 2020.
Υπογραφή ενός εκτελέσιμου με SSL Manager
Εάν προτιμάτε μια προσέγγιση με βάση τα γραφικά μπορείτε να χρησιμοποιήσετε SSL.comτο εσωτερικό λογισμικό, SSL Manager, για να υπογράψετε τα αρχεία σας. Πολλοί πελάτες προτιμούν να χρησιμοποιούν SSL Manager επειδή προσφέρει το πρόσθετο πλεονέκτημα της εύκολης πρόσβασης σε όλα τα πιστοποιητικά σας σε μια ενοποιημένη διεπαφή. Για οδηγίες σχετικά με τη λήψη και την εγκατάσταση SSL Manager, ανατρέξτε στο μας οδηγός εγκατάστασης.
Για να υπογράψετε ένα εκτελέσιμο, ξεκινήστε επιλέγοντας Υπογραφή κώδικα> Πακέτο κώδικα σήμανσης και χρονικής σήμανσης από SSL Managerμενού.
Στη φόρμα υπογραφής κώδικα, μπορείτε να επιλέξετε το εκτελέσιμο και το πιστοποιητικό υπογραφής κώδικα (είτε από αρχείο είτε από χώρο αποθήκευσης πιστοποιητικών) και έναν από τους διαθέσιμους διακομιστές χρονικής σήμανσης. Όταν τελειώσετε, κάντε κλικ στο Σημάδι για να υπογράψετε τον κωδικό σας. Εάν φορτώνετε ένα πιστοποιητικό από ένα αρχείο PFX, θα πρέπει να εισαγάγετε τον κωδικό πρόσβασης του αρχείου. Εάν χρησιμοποιείτε πιστοποιητικό υπογραφής κωδικού EV, θα σας ζητηθεί το PIN του διακριτικού USB.
Εκτός από την υπογραφή κώδικα, SSL Manager προσφέρει πολλά ισχυρά χαρακτηριστικά. Για περισσότερες λεπτομέρειες, ανατρέξτε στο SSL Managerτεκμηρίωση, ειδικά το Μενού υπογραφής κώδικα.