Αυτός ο οδηγός θα σας ξεκινήσει να υπογράφετε τον κώδικα Java με ένα OV / IV or EV πιστοποιητικό υπογραφής κώδικα από το SSL.com. Αυτές οι οδηγίες προϋποθέτουν ότι το Java Development Kit (JDK) είναι εγκατεστημένο στον υπολογιστή σας και ότι το keytool
και jarsigner
Οι εντολές περιλαμβάνονται στο PATH σας. Οι οδηγίες υπογραφής κωδικού Yubikey προϋποθέτουν ότι το πιστοποιητικό σας είναι εγκατεστημένο στην υποδοχή 9a του a YubiKey FIPS διακριτικό, καθώς αποστέλλονται από το SSL.com.
Εάν δεν έχετε ακόμη πιστοποιητικό υπογραφής κώδικα και δεν είστε σίγουροι για τον τύπο που χρειάζεστε, διαβάστε αυτό το FAQ.
Υπογραφή κωδικού OV/IV (μόνο για πιστοποιητικά OV/IV που εκδόθηκαν πριν από την 1η Ιουνίου 2023)
διαμόρφωση
Μέθοδος 1: Δημιουργία CSR και αρχείο PFX στο πρόγραμμα περιήγησης
Η απλούστερη μέθοδος γρήγορης έναρξης με την υπογραφή κώδικα Java είναι η δημιουργία α CSR και PFX κατά την ανάκτηση του πιστοποιητικού σας από το SSL.com και την εγκατάστασή του σε ένα νέο Java keystore.
.jar
αρχεία απευθείας με ένα αρχείο PFX που δεν έχει μετατραπεί προσθέτοντας το -storetype pkcs12
σημαία στο jarsigner
εντολή.- Ακολουθήστε τα βήματα που εμφανίζονται στο Παραγγελία και ανάκτηση πιστοποιητικών υπογραφής κώδικα για να παραγγείλετε το πιστοποιητικό σας και να κατεβάσετε ένα αρχείο PFX με το πιστοποιητικό και το ιδιωτικό σας κλειδί.
- Εισαγάγετε το PFX σε ένα νέο keystore με τον ίδιο κωδικό πρόσβασης χρησιμοποιώντας την παρακάτω εντολή. (Αντικαθιστώ
MY-CERTIFICATE.p12
καιMY-KEYSTORE.jks
με το πραγματικό όνομα του αρχείου PFX και το όνομα αρχείου που θέλετε να δώσετε στο κλειδί σας. Σημειώστε επίσης ότι τοdestalias
είναι αυθαίρετο και μπορείτε να χρησιμοποιήσετε μια άλλη τιμή ψευδωνύμου εάν θέλετε.)keytool -importkeystore -srckeystore MY-PFX.p12 -srcstoretype pkcs12 -srcalias 1 -destkeystore MY-KEYSTORE.jks -deststoretype JKS -destalias codeigning
Σημείωση: Η τιμή για-srcalias
για το αρχείο PFX που έχει ληφθεί από το SSL.com θα πρέπει κανονικά να1
, αλλά μπορείτε να το επιβεβαιώσετε εκτελώντας την εντολήkeytool -list -v -storetype pkcs12 -keystore MY-PFX.P12
και τον έλεγχο της τιμής που εμφανίζεται γιαAlias name
. - Θα σας ζητηθεί κωδικός πρόσβασης για το keystore προορισμού και, στη συνέχεια, για τον κωδικό πρόσβασης keystore (ο κωδικός πρόσβασης που εισαγάγατε κατά τη δημιουργία του PFX). Μπορεί επίσης να δείτε ένα προειδοποιητικό μήνυμα που ξεκινά με
Warning: The JKS keystore uses a proprietary format
. Μπορείτε να αγνοήσετε με ασφάλεια αυτό το μήνυμα.
Μέθοδος 2: Δημιουργία ζεύγους κλειδιών και CSR με Java
Εάν προτιμάτε να δημιουργήσετε το Key Pair και το CSR με Java, ακολουθήστε τα βήματα σε αυτήν την ενότητα. Η διαδικασία είναι η ίδια που χρησιμοποιείται για τη δημιουργία ενός CSR για ένα SSL /TLS πιστοποιητικό στην Ιάβα.
Δημιουργήστε Keystore και Key Pair
- Πρώτον, θα δημιουργήσουμε ένα κλειδί και ένα δημόσιο / ιδιωτικό ζεύγος κλειδιών. Η Java χρησιμοποιεί αρχεία με την επέκταση
.jks
(Java KeyStore) για την αποθήκευση πιστοποιητικών και κρυπτογραφικών κλειδιών. Εισαγάγετε την ακόλουθη εντολή για να δημιουργήσετε ένα ζεύγος κλειδιών και 3072 bit RSA. (ΑντικαθιστώMY-KEYSTORE.jks
με το όνομα που θα θέλατε να έχει το αρχείο.)keytool -genkeypair -alias codeigning -keyalg RSA -keysize 3072 -keystore MY-KEYSTORE.jks
- Θα εμφανιστεί μια σειρά από προτροπές. Αρχικά, δημιουργήστε και επαληθεύστε έναν κωδικό πρόσβασης για το keystore και μετά εισαγάγετε και επαληθεύστε τις ζητούμενες πληροφορίες. (Αντικαταστήστε τις τιμές που εμφανίζονται σε όλα τα κεφαλαία με τις δικές σας πληροφορίες.)
Εισαγάγετε τον κωδικό πρόσβασης αποθήκευσης κλειδιών: Εισαγάγετε ξανά νέο κωδικό πρόσβασης: Ποιο είναι το όνομα και το επώνυμό σας; [Άγνωστο]: FIRSTNAME LASTNAME Ποιο είναι το όνομα του οργανισμού σας; [Άγνωστο]: ΕΤΑΙΡΕΙΑ Ποιο είναι το όνομα της πόλης ή της περιοχής σας; [Άγνωστο]: ΠΟΛΗ Πώς ονομάζεται η πολιτεία ή η επαρχία σας; [Άγνωστο]: ΚΑΤΑΣΤΑΣΗ Ποιος είναι ο κωδικός χώρας δύο γραμμάτων για αυτήν τη μονάδα; [Άγνωστο]: ΗΠΑ Είναι σωστό το CN=FIRSTNAME LASTNAME, OU=DEPARTMENT, O=COMPANY, L=CITY, ST=STATE, C=US; [όχι Ναι
- Το αρχείο keystore δημιουργήθηκε και είστε έτοιμοι να δημιουργήσετε ένα CSR.
Δημιουργία CSR
- Εισαγάγετε την ακόλουθη εντολή για να δημιουργήσετε ένα CSR από το keystore που μόλις δημιουργήσαμε. (Αντικαθιστώ
MY-KEYSTORE.jks
με την τιμή που χρησιμοποιήσατε κατά τη δημιουργία του keystore καιMY-CSR.csr
με το όνομα που θέλετε να χρησιμοποιήσετε για το CSR.)keytool -certreq -alias codeigning -file MY-CSR.csr -keystore MY-KEYSTORE.jks
- Εισαγάγετε τον κωδικό πρόσβασης που δημιουργήσατε κατά τη δημιουργία του keystore.
Εισαγάγετε τον κωδικό πρόσβασης για το κλειδί:
- Η CSR έχει δημιουργηθεί. Εάν είστε έτοιμοι να παραγγείλετε το πιστοποιητικό σας από το SSL.com, ανοίξτε το αρχείο σε πρόγραμμα επεξεργασίας κειμένου για αντιγραφή και επικόλληση στο CSR πεδίο κατά την παραγγελία. Τα περιεχόμενα του αρχείου θα μοιάζουν με το παρακάτω παράδειγμα:
-----BEGIN NEW CERTIFICATE REQUEST----- MIIC5TCCAc0CAQAwcDELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVNUQVRFMQ0wCwYD VQQHEwRDSVRZMRAwDgYDVQQKEwdDT01QQU5ZMRMwEQYDVQQLEwpERVBBUlRNRU5U MRswGQYDVQQDExJGSVJTVE5BTUUgTEFTVE5BTUUwggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQCrRyk8VLs1THls+vfz0YtMJ3qYYl4c5c499d1YSbfQHa6L kIYhKTxvgdtbD+ePDigKB40CpeuMp5Yu8R6g2YIVBpGMrejAZYAmrzs6tfjpelh0 ocSDwYr7H8qQ9jq6MfZTu6J7EjS5RMODB6MVq1usKg3H866xbi6lqAtcktEF+zlM 4FW9Tm3H/DW2G7EnTjlMPzgaXNIU7lLar7YAWPJgv83NV8lQNCDW4lFlZLWBU95r YkJ4gfWUFUyPc+AiGbsyDdrVjPvF5yaebnFDrwheFaWeTTigSfLY688G7bpA8VvE lKioCl8nlJlc9HOBNKKdhs4qEtF0BwSE8tOgbkWPAgMBAAGgMDAuBgkqhkiG9w0B CQ4xITAfMB0GA1UdDgQWBBTmVpJp824krUaJKrQNhsSbVjJA1jANBgkqhkiG9w0B AQsFAAOCAQEALlux89RkXyHN4PQqQHbShSeTTWLURII+F+OSK9N1RS5l8V7AMcRM wvOkPP7JBRCKiaFGTW+5vcLQNnWRqQZMe0I4E0jzhL2gGsdChPIJy9Jwgn3Rzxmw 8V0lBY1SHQ9LKgSK0jIer3PQhXHDJlE2g2Dx8nJ4WJk7l2OTF9Kkly9hg8MOQdeg VIcs3HLsVI9Cwd6UHRT6ruKL3+bRgEcb6qj+qcrKHkzN7KXbOEznd10nAm87wENS mTb012ZFMlpUDvPNAHQgoGJ6slA+pIoH1fvrkosjql7R/H7Q+onm37Qa6d9L2ZqM MhgNpNWVwI0UBU4Xy4p9oUCJnvHhQ7U+3w== -----END NEW CERTIFICATE REQUEST-----
Παραγγελία και ανάκτηση πιστοποιητικού
- Ακολουθήστε τα βήματα που εμφανίζονται στο Παραγγελία και ανάκτηση πιστοποιητικών υπογραφής κώδικα έως το βήμα 24. Αντί να κάνετε αμέσως κλικ στο Δημιουργία πιστοποιητικού κουμπί, επιλέξτε το πλαίσιο με την ένδειξη έχω το δικό μου CSR.
- Επικολλήστε το CSR στο πεδίο φόρμας και κάντε κλικ στο Δημιουργία πιστοποιητικού κουμπί.
- Κάντε κλικ στο Λήψη κουμπί και αποθηκεύστε το
.crt
αρχείο στο ίδιο μέρος που δημιουργήσατε το keystore σας.
Εισαγωγή πιστοποιητικού στο Keystore
- Χρησιμοποιήστε την ακόλουθη εντολή για να εισαγάγετε το πιστοποιητικό στο αρχείο Java keystore. (Αντικαταστήστε το MY-CERTIFICATE.crt και το MY-KEYSTORE.jks με τα πραγματικά ονόματα αρχείων.)
keytool -importcert -file MY-CERTIFICATE.crt -keystore MY-KEYSTORE.jks -trustcacerts -αλιά κωδικοποίηση
- Εισαγάγετε τον κωδικό πρόσβασης keystore όταν σας ζητηθεί.
Εισαγάγετε τον κωδικό πρόσβασης για το κλειδί:
- Το πιστοποιητικό σας είναι εγκατεστημένο στο keystore και είστε έτοιμοι να ξεκινήσετε την υπογραφή αρχείων.
Η απάντηση πιστοποιητικού εγκαταστάθηκε στο keystore
Υπογράψτε αρχεία με Jarsigner
- Χρησιμοποιήστε την ακόλουθη εντολή για να προσθέσετε μια ψηφιακή υπογραφή χρονικής σήμανσης στο a
.jar
αρχείο. (Αντικαθιστώ/PATH/TO/MY-KEYSTORE.jks
καιMY-JAR.jar
με τα πραγματικά ονόματα αρχείων που χρησιμοποιείτε. Εάν χρησιμοποιήσατε διαφορετικό ψευδώνυμο κατά τη ρύθμιση του κλειδιού σας, αντικαταστήστε τοcodesigning
στην εντολή.)jarsigner -tsa http://ts.ssl.com -keystore MY-KEYSTORE.jks MY-JAR.jar κωδικοποίηση
Σημείωση: Είναι επίσης δυνατό να υπογράψετε το δικό σας.jar
αρχεία απευθείας με ένα αρχείο PFX που δεν έχει μετατραπεί προσθέτοντας το-storetype pkcs12
σημαία στοjarsigner
εντολή.
Σημείωση: Από προεπιλογή, το SSL.com υποστηρίζει χρονικές σημάνσεις από κλειδιά ECDSA.
Εάν αντιμετωπίσετε αυτό το σφάλμα:The timestamp certificate does not meet a minimum public key length requirement
, θα πρέπει να επικοινωνήσετε με τον προμηθευτή του λογισμικού σας για να επιτρέψετε χρονικές σημάνσεις από κλειδιά ECDSA.
Εάν δεν υπάρχει τρόπος για τον προμηθευτή του λογισμικού σας να επιτρέψει τη χρήση του κανονικού τερματικού σημείου, μπορείτε να χρησιμοποιήσετε αυτό το παλαιού τύπου τελικό σημείοhttp://ts.ssl.com/legacy
για να λάβετε μια χρονική σήμανση από μια μονάδα χρονοσήμανσης RSA. - Εισαγάγετε τον κωδικό πρόσβασης του κλειδιού στο ερώτημα.
Εισαγάγετε τη φράση πρόσβασης για keystore:
- Το αρχείο έχει πλέον υπογραφεί. Μπορείτε να επαληθεύσετε την υπογραφή με την ακόλουθη εντολή:
jarsigner -επαληθεύστε -λήστε το MY -JAR.jar
- Εάν το αρχείο σας υπογράφηκε με επιτυχία, η έξοδος της εντολής θα πρέπει να περιλαμβάνει αυτήν τη γραμμή:
s = η υπογραφή επαληθεύτηκε
Υπογραφή κωδικών IV, OV και EV με το YubiKey
διαμόρφωση
Εγκαταστήστε το πρόγραμμα οδήγησης PKCS # 11 και δημιουργήστε αρχείο eToken.cfg
Windows
- Εγκαταστήστε το OpenSC ακολουθώντας τις οδηγίες στα OpenSC Γρήγορη εκκίνηση των Windows.
- Εντοπίστε το πρόγραμμα οδήγησης OpenSC PKCS # 11. Η προεπιλεγμένη τοποθεσία εγκατάστασης είναι
C:\Program Files\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll
. - Δημιουργήστε ένα αρχείο διαμόρφωσης και αποθηκεύστε το σε βολική τοποθεσία (όπως ο αρχικός σας κατάλογος). Το όνομα αρχείου είναι αυθαίρετο, αλλά σε αυτόν τον οδηγό θα χρησιμοποιήσουμε
yubikey-pkcs11-java.cfg
. Το αρχείο πρέπει να περιέχει τις ακόλουθες πληροφορίες:Όνομα = περιγραφή OpenSC-PKCS11 = SunPKCS11 μέσω βιβλιοθήκης OpenSC = C: \ Program Files \ OpenSC Project \ OpenSC \ pkcs11 \ opensc-pkcs11.dll slotListIndex = 0
macOS
- εγκαταστήστε OpenSC. Εάν χρησιμοποιείτε Homebrew ως διαχειριστής πακέτων, μπορείτε να εγκαταστήσετε το OpenSC με την ακόλουθη εντολή:
παρασκευάστε το installc
- Εντοπίστε το πρόγραμμα οδήγησης OpenSC PKCS # 11. Εάν εγκαταστήσατε χρησιμοποιώντας το Homebrew, το αρχείο θα πρέπει να είναι διαθέσιμο στη διεύθυνση
/usr/local/lib/opensc-pkcs11.so
. - Δημιουργήστε ένα αρχείο διαμόρφωσης και αποθηκεύστε το σε βολική τοποθεσία (όπως ο αρχικός σας κατάλογος). Το όνομα αρχείου είναι αυθαίρετο, αλλά σε αυτόν τον οδηγό θα χρησιμοποιήσουμε
yubikey-pkcs11-java.cfg
. Το αρχείο πρέπει να περιέχει τις ακόλουθες πληροφορίες:όνομα = περιγραφή OpenSC-PKCS11 = SunPKCS11 μέσω βιβλιοθήκης OpenSC = /usr/local/lib/opensc-pkcs11.so slotListIndex = 0
Υπογράψτε αρχεία με Jarsigner
- Χρησιμοποιήστε την ακόλουθη εντολή για να προσθέσετε μια ψηφιακή υπογραφή χρονικής σήμανσης στο a
.jar
αρχείο. (ΑντικαθιστώMY-JAR.jar
με το πραγματικό όνομα αρχείου που χρησιμοποιείτε.)jarsigner -tsa http://ts.ssl.com -providerClass sun.security.pkcs11.SunPKCS11 -providerArg yubikey-pkcs11-java.cfg -keystore Κανένα -storetype PKCS11 MY-JAR.jar "Πιστοποιητικό για έλεγχο ταυτότητας PIV"
- Εισαγάγετε το PIN YubiKey στην προτροπή φράσης πρόσβασης.
Εισαγάγετε τη φράση πρόσβασης για keystore:
- Το αρχείο έχει πλέον υπογραφεί. Μπορείτε να επαληθεύσετε την υπογραφή με την ακόλουθη εντολή:
jarsigner -επαληθεύστε -λήστε το MY -JAR.jar
- Εάν το αρχείο σας υπογράφηκε με επιτυχία, η έξοδος της εντολής θα πρέπει να περιλαμβάνει αυτήν τη γραμμή:
s = η υπογραφή επαληθεύτηκε