После генерации хранилища ключей Java с помощью: -keyalg RSA -keysize 2048 и настройки политики java.security с помощью:
jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, RSA keySize < 2048
У меня продолжают появляться ошибки:
java.security.cert.CertPathValidatorException: проверка ограничений алгоритма завершилась неудачно для ключа RSA с размером 1024 бит
Я использую следующую команду для генерации ключа RSA 2048 бит:
keytool -genkey -alias tomcat -keyalg RSA -keysize 2048 -keystore star_domain_name.jks -storetype PKCS12 -dname "CN=*.domain_name.com,OU=Engineering, O=Company Name., L=City Name, ST=State, C=US" && keytool -certreq -alias server -file star_domain_name.com.csr -keystore star_domain_name_io.jks
I затемпроверьте выше с:
openssl s_client -showcerts -connect localhost:443
Это показывает:
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Я также просмотреть хранилище ключей с:
keytool -list -v -keystore star_domain_name.com.jks
, который показывает:
Certificate fingerprints:
MD5: 67:4C:04:90:35:etc...etc...
SHA1: AD:C8:06:74:3A:F1:72:etc...etc...
SHA256: C5:D6:81:3B:C1:F7:CE:2D:43:91:06:E9:9etc...etc...
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Куда бы я ни посмотрел, я вижу 2048-битный ключ RSA.Однако, когда я хочу использовать хранилище ключей java в моем весеннем загрузочном приложении java, оно продолжает жаловаться:
- Причина: java.security.cert.CertPathValidatorException: проверка ограничений алгоритма не выполнена для ключаRSA с размером 1024 бит
- Причина: java.security.cert.CertificateException: сертификаты не соответствуют ограничениям алгоритма
Как только я редактирую java.securityфайл и удалите из него RSA keySize <2048 и перезапустите приложение, все работает… </p>
Это потому, что я не импортировал подписанный сертификат домена?Почему приложение жалуется, хотя я четко настроил политику и хранилище ключей Java для 2048 битов?
Моя конфигурация приложения Java содержит:
ssl.key-store: /opt/cert_path/star_domain_name.com.jks
ssl.enabled: true
ssl.key-store-password: the_password_etc...
ssl.key-store-type: PKCS12
ssl.key-alias: tomcat
Как только я отредактирую файл java.securityи удалите из него RSA keySize <2048 и перезапустите приложение, все работает… </p>
Это потому, что я не импортировал подписанный сертификат домена, а хранилище ключей пусто?Я сомневаюсь в этом.
Почему приложение жалуется, хотя я четко настроил файл политики и хранилище ключей java на 2048 бит?
Файл java.security также содержит:
jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, DSA keySize < 1024
Должно ли это быть отрегулировано?
Я действительно пытался отрегулировать это, но это не имело никакого эффекта ...