Keytool сообщил, что «пароль хранилища ключей неверен»JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Keytool сообщил, что «пароль хранилища ключей неверен»

Сообщение Anonymous »

Я использую эти команды для создания самозаверяющего сертификата:

Код: Выделить всё

gmssl ecparam -genkey -name sm2p256v1 -out ca.key
gmssl req -new -key ca.key -out ca.csr
gmssl x509 -req -days 3650 -sm3 -signkey ca.key -in ca.csr -out ca.crt

gmssl ecparam -genkey -name sm2p256v1 -out server.key
gmssl req -new -key server.key -out server.csr
gmssl x509 -req -days 3650 -sm3 -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt

gmssl pkcs12 -export -in server.crt -inkey server.key -out server.p12 -name serverkey
и я ввожу 123456 всякий раз, когда он говорит, что необходимо ввести пароль.
но когда я пытаюсь импортировать сертификат сервера и ключ в файл jks, это не работает, я также пытаюсь заменить часть пароля на «changeit», но keytool показывает ту же ошибку:

Код: Выделить всё

keytool -importkeystore -deststorepass 123456 -destkeypass 123456 \
-destkeystore server.jks -srckeystore server.p12 -srcstoretype PKCS12 \
-srcstorepass 123456 -alias serverkey

keytool error: java.io.IOException: keystore password was incorrect
некоторые дополнительные сведения:
ответ на ответ @dave_thompson_085:
большое спасибо за ответ на мой вопрос.
на самом деле я хочу создать сервер netty https с использованием GMSSL, но я с этим не знаком и не нашел руководства о том, как создать сервер gmssl с использованием netty, поэтому я хочу сначала создать обычный SSL-сервер, а затем изменить его на GMSSL. В учебнике по созданию SSL-сервера, который я нашел, используется файл jks, поэтому я пытаюсь поместить в него ключ SM2 и сертификат, чтобы изменить его на GMSSL.
Я также нахожу другой способ использования непосредственно файла сертификата и ключа, например, создание SSLContext с помощью этого кода:

Код: Выделить всё

File certChainFile = new File("server.crt");
File keyFile = new File("server.key");
File rootFile = new File("ca.crt");
SslContext sslCtx = SslContextBuilder.forServer(certChainFile, keyFile)
.trustManager(rootFile).protocols("GMSSLv.1.0")
// will it recognize these string "GMSSLv.1.0"? I'dont konw, I just try.
.clientAuth(ClientAuth.NONE).build();
но при попытке запуска выдает ошибку:

Код: Выделить всё

java.lang.IllegalArgumentException: File does not contain valid certificates
Я ищу эти ошибки в Google, кто-то сказал, что мне нужно использовать сертификат pkcs8, поэтому я пробую эту команду:

Код: Выделить всё

gmssl pkcs8 -topk8 -inform PEM -outform PEM -in server.p12 -out server.p8 -nocrypt
и это тоже не работает:

Код: Выделить всё

unable to load key
4577107392:error:25066067:DSO support routines:dlfcn_load:could not load the shared library:crypto/dso/dso_dlfcn.c:113:filename(libproviders.dylib): dlopen(libproviders.dylib, 2): image not found
4577107392:error:25070067:DSO support routines:DSO_load:could not load the shared library:crypto/dso/dso_lib.c:161:
4577107392:error:0E07506E:configuration file routines:module_load_dso:error loading dso:crypto/conf/conf_mod.c:220:module=providers, path=providers
4577107392:error:0E076071:configuration file routines:module_run:unknown module name:crypto/conf/conf_mod.c:162:module=providers
4577107392:error:0906D06C:PEM routines:PEM_read_bio:no start line:crypto/pem/pem_lib.c:695:
на самом деле я очень смущен, я не знаю, как использовать netty для создания сервера gmssl.
поддерживает ли netty алгоритм gmssl и SM2 SM3 SM4? Я вижу эту проблему, которую он, кажется, поддерживает (https://github.com/netty/netty/issues/11406), но он увидел, что запрос на включение не подразумевает алгоритм шифрования.
как мне сделать, чтобы создать сервер GMSSL? следует ли мне использовать специальную версию JCE, Netty или JDK? или мне нужно самому указать протокол?

Подробнее здесь: https://stackoverflow.com/questions/712 ... -incorrect
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»