Пароль OpenJDK keytool - PullRequest
       41

Пароль OpenJDK keytool

0 голосов
/ 02 июля 2019

Я пытаюсь зарегистрировать корпоративный сертификат для соединения https в OpenJDK

Я запустил следующую команду в OpenJDK verion 8. Она попросила меня ввести пароль. Пароль по умолчанию для Oracle JDK - «changeit», но он не работает с OpenJDK

Я пытался использовать пароль changeit, но он не работал.

OpenJDK 8:

D:\java8\bin\keytool.exe -keystore "D:\java8\jre\lib\security\cacerts" -importcert -alias sds -file C:\Users\SDS\SDS.crt

OpenJDK версия 11:

D:\jdk-11.0.2\lib\security>D:\jdk-11.0.2\bin\keytool.exe -keystore D:\jdk-11.0.2\lib\security\cacerts -importcert -alias sds -file C:\Users\SDS\SDS.crt

OpenJDK 8:

keytool 오류: java.io.IOException: Keystore was tampered with, or password was incorrect

OpenJDK версии 11, возникает та же проблема:

Warning: use -cacerts option to access cacerts keystore
Enter keystore password:
keytool error: java.io.IOException: Keystore was tampered with, or password was

Ответы [ 2 ]

0 голосов
/ 04 июля 2019

Я использовал AdoptOpenJDK, но он дал мне те же результаты.Он запускается на Windows 10 cmd с правами администратора.

C:\Windows\system32>"C:\Program Files\AdoptOpenJDK\jdk-11.0.3.7-hotspot\bin\keytool"  -keystore  "C:\Program Files\AdoptOpenJDK\jdk-11.0.3.7-hotspot\lib\security\cacerts"  -importcert -alias sds -file C:\Users\SDS\SDS.crt
경고: -cacerts 옵션을 사용하여 cacerts 키 저장소에 액세스하십시오.
키 저장소 비밀번호 입력:
keytool 오류: java.io.IOException: Keystore was tampered with, or password was incorrect

Я выполнил следующую команду и сообщил, что файл хранилища ключей существует (на корейском языке).

C:\Program Files\AdoptOpenJDK\jdk-11.0.3.7-hotspot\bin>.\keytool -list -keystore "C:\Program Files\AdoptOpenJDK\jdk-11.0.3.7-hotspot\lib\security\cacerts" -storepass changeit
경고: -cacerts 옵션을 사용하여 cacerts 키 저장소에 액세스하십시오.
키 저장소 유형: JKS
키 저장소 제공자: SUN

키 저장소에 93개의 항목이 포함되어 있습니다.

verisignclass2g2ca [jdk], 2018. 6. 13., trustedCertEntry,
인증서 지문(SHA-256): 3A:43:E2:20:FE:7F:3E:A9:65:3D:1E:21:74:2E:AC:2B:75:C2:0F:D8:98:03:05:BC:50:2C:AF:8C:2D:9B:41:A1
digicertassuredidg3 [jdk], 2017. 12. 1., trustedCertEntry,
인증서 지문(SHA-256): 7E:37:CB:8B:4C:47:09:0C:AB:36:55:1B:A6:F4:5D:B8:40:68:0F:BA:16:6A:95:2D:B1:00:71:7F:43:05:3F:C2
verisignuniversalrootca [jdk], 2017. 12. 1., trustedCertEntry,
인증서 지문(SHA-256): 23:99:56:11:27:A5:71:25:DE:8C:EF:EA:61:0D:DF:2F:A0:78:B5:C8:06:7F:4E:82:82:90:BF:B8:60:E8:4B:3C
0 голосов
/ 02 июля 2019

Для OpenJDK 8, сначала дважды проверьте пароль:

cd D:\java8\jre\lib\security
keytool -list -keystore cacerts -storepass changeit

Если он продолжает выдавать ту же ошибку, найдите точную версию установки Java 8 и загрузите соответствующий ZIP-архив с AdoptOpenJDK (например, OpenJDK8U-jre_x64_windows_hotspot_8u212b04.zip ).

Извлеките файл cacerts (lib/security/cacerts) и с помощью двоичного инструмента сравнения (например, fc ) сравните содержимое файла cacerts из загруженного архива с вашей локальной версией,Если они не идентичны, возможно, ваш файл D:\java8\jre\lib\security\cacerts был изменен.

Вы можете выполнить аналогичную процедуру для проверки файла cacerts в OpenJDK 11.

Также: выне нужно импортировать пользовательские сертификаты в исходный файл D:\java8\jre\lib\security\cacerts.Я лично редко делаю это.Вместо этого сохраните оригинал, но создайте его копию в пользовательской папке и добавьте в нее свои корпоративные сертификаты.В вашем случае вы можете скопировать файл cacerts из ZIP-файла и переместить его в свой домашний каталог и добавить к нему корпоративные сертификаты, поскольку вы не знаете пароль для D:\java8\jre\lib\security\cacerts.

Затем, когда вы запускаете программу на Java, настройте ее для использования своего пользовательского файла cacerts вместо файла по умолчанию cacerts:

java -Djavax.net.ssl.trustStore=path/to/custom/cacerts
     -Djavax.net.ssl.trustStorePassword=changeit
     ...

Еще одна вещь: спросите своего администратора - возможно, он намеренно изменилпароль для файла cacerts.

...