Това ръководство ще ви накара да започнете да подписвате Java кода си или с an OV / IV or EV сертификат за подписване на код от SSL.com. Тези инструкции предполагат, че Java Development Kit (JDK) е инсталиран на вашия компютър и че keytool
намлява jarsigner
командите са включени във вашия PATH. Инструкциите за подписване на код на Yubikey предполагат, че вашият сертификат е инсталиран в слот 9a на a YubiKey FIPS токен, тъй като те се изпращат от SSL.com.
Ако все още нямате сертификат за подписване на код и не сте сигурни кой тип ви е необходим, моля, прочетете този често задаван въпрос.
Подписване на OV/IV код (само за OV/IV сертификати, издадени преди 1 юни 2023 г.)
Конфигурация
Метод 1: Генериране CSR и PFX файл в браузър
Най-простият метод за бързо стартиране с подписване на Java код е генерирането на CSR и PFX файл, когато извличате сертификата си от SSL.com и го инсталирате в ново хранилище на ключове на Java.
.jar
файлове директно с неконвертиран PFX файл чрез добавяне на -storetype pkcs12
флаг към jarsigner
команда.- Следвайте стъпките, показани в Поръчка и извличане на сертификати за подписване на код да поръчате вашия сертификат и да изтеглите PFX файл с вашия сертификат и частен ключ.
- Импортирайте PFX в нова хранилище за ключове със същата парола, като използвате командата по-долу. (Заменете
MY-CERTIFICATE.p12
намляваMY-KEYSTORE.jks
с действителното име на вашия PFX файл и името на файла, който искате да дадете на вашия магазин. Обърнете внимание също, чеdestalias
е произволен и можете да използвате друга стойност на псевдоним, ако желаете.)keytool -importkeystore -srckeystore MY-PFX.p12 -srcstoretype pkcs12 -srcalias 1 -destkeystore MY-KEYSTORE.jks -deststoretype JKS -десталии кодиране
Забележка: Стойността за-srcalias
за PFX файла, изтеглен от SSL.com, обикновено трябва да бъде1
, но можете да потвърдите това, като стартирате командатаkeytool -list -v -storetype pkcs12 -keystore MY-PFX.P12
и проверка на показаната стойностAlias name
. - Ще бъдете подканени да въведете парола за хранилището на местоназначението, а след това и за паролата за изходния ключ (паролата, която сте въвели при създаването на PFX). Може да видите и предупредително съобщение, започващо с
Warning: The JKS keystore uses a proprietary format
, Може безопасно да пренебрегнете това съобщение.
Метод 2: Генериране на ключова двойка и CSR с Java
Ако предпочитате да генерирате своя Key Pair и CSR с Java, следвайте стъпките в този раздел. Процесът е същият, който се използва за създаване на CSR за SSL /TLS сертификат на Java.
Създайте Keystore и Key Pair
- Първо ще създадем двойка ключове и публичен / частен ключ. Java използва файлове с разширението
.jks
(Java KeyStore) за съхраняване на сертификати и криптографски ключове. Въведете следната команда, за да генерирате ключодържател и 3072-битова RSA двойка ключове. (ЗаменетеMY-KEYSTORE.jks
с името, което искате файла да има.)keytool -genkeypair -alias codeningning -keyalg RSA -keyysize 3072 -keystore MY-KEYSTORE.jks
- Ще ви бъде представена поредица от подкани. Първо, създайте и потвърдете парола за хранилището на ключове, след това въведете и проверете поисканата информация. (Заменете стойностите, показани в all-caps, със собствена информация.)
Въведете парола за хранилище на ключове: Въведете отново нова парола: Какво е вашето име и фамилия? [Неизвестно]: СОБСТВЕНО ИМЕ ФАМИЛНО ИМЕ Какво е името на вашата организация? [Неизвестно]: КОМПАНИЯ Какво е името на вашия град или населено място? [Неизвестно]: ГРАД Какво е името на вашия щат или провинция? [Неизвестно]: STATE Какъв е двубуквеният код на държавата за това устройство? [Неизвестно]: САЩ Правилно ли е CN=ИМЕ ФАМИЛИЯ, OU=ОТДЕЛ, O=КОМПАНИЯ, L=ГРАД, ST=ЩАТ, C=САЩ? [Не Да
- Файлът на хранилището на ключове е генериран и сте готови да създадете CSR.
Генериране CSR
- Въведете следната команда, за да генерирате a CSR от магазинчето за ключове, което току-що създадохме. (Заменете
MY-KEYSTORE.jks
със стойността, която сте използвали при създаването на хранилището на ключове иMY-CSR.csr
с името, което искате да използвате за CSR.)keytool -certreq -alias кодиране -файл MY-CSR.csr -keystore MY-KEYSTORE.jks
- Въведете паролата, която сте създали при генерирането на хранилището на ключове.
Въведете парола за ключодържател:
- - 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
- Използвайте следната команда, за да импортирате сертификата във вашия файл с хранилище на Java. (Заменете MY-CERTIFICATE.crt и MY-KEYSTORE.jks с действителните имена на файлове.)
keytool -importcert -file MY-CERTIFICATE.crt -keystore MY-KEYSTORE.jks -trustcacerts -alias кодиране
- Въведете паролата за хранилище на ключове, когато бъдете подканени.
Въведете парола за ключодържател:
- Вашият сертификат е инсталиран в хранилището на ключове и сте готови да започнете да подписвате файлове.
Отговорът на сертификата беше инсталиран в магазина за ключове
Подпишете файлове с Jarsigner
- Използвайте следната команда, за да добавите цифрово подписване с време
.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 Timestamping Unit. - Въведете паролата за хранилище на ключове при подкана.
Въведете парола за хранилище на ключове:
- Файлът вече е подписан. Можете да потвърдите подписа със следната команда:
jarsigner -verfy -verbose 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: \ програмни файлове \ OpenSC проект \ OpenSC \ pkcs11 \ opensc-pkcs11.dll slotListIndex = 0
macOS
- инсталирам OpenSC, Ако използвате Homebrew като мениджър на пакети можете да инсталирате OpenSC със следната команда:
варете инсталирайте opensc
- Намерете драйвера 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
- Използвайте следната команда, за да добавите цифрово подписване с време
.jar
файл. (ЗаменетеMY-JAR.jar
с действителното име на файла, което използвате.)jarsigner -tsa http://ts.ssl.com -providerClass sun.security.pkcs11.SunPKCS11 -providerArg yubikey-pkcs11-java.cfg -keystore NONE -storetype PKCS11 MY-JAR.jar "Сертификат за PIV удостоверяване"
- Въведете своя ПИН за YubiKey в подканата за парола.
Въведете парола за хранилище на ключове:
- Файлът вече е подписан. Можете да потвърдите подписа със следната команда:
jarsigner -verfy -verbose MY -JAR.jar
- Ако вашият файл е подписан успешно, изходът на командата трябва да включва този ред:
s = подписът беше потвърден