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 На самом деле я хочу создать https-сервер netty с использованием 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? В этом выпуске я вижу, что он вроде бы их поддерживает, но похоже, что запрос на включение не подразумевает алгоритм шифрования.
Как мне построить сервер GMSSL? Должен ли я использовать специальную версию JCE, Netty или JDK? Или мне нужно самому подразумевать протокол?

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

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

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

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

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

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