имя хоста , используемое для доступа к вашему серверу Jira (например, jira.acme.com в https://jira.acme.com/) должно совпадать с одним из CN
полей имени субъекта или, если нет, одного из Subject Alternative Name
сертификата.
Это подробно описано в RFC 2818 :
В некоторых случаях указывается URI
в качестве IP-адреса, а не
Имя хоста. В этом случае iPAddress
subjectAltName должно присутствовать в
сертификат и должен точно соответствовать
IP в URI.
В вашем случае Java жалуется, потому что ни CN
("Неизвестно"), ни Subject Alternative Name
(так как у вас его нет) не соответствуют имени хоста вашего Сервер Jira.
Итак, либо сгенерируйте сертификат с соответствующим CN
, например, используя keytool
:
Для создания пары ключей и самозаверяющего сертификата
$ keytool -genkey -alias jira_acme_com -keyalg RSA -keysize 2048 -validity 365 -keystore jira_acme_com.jks
Enter keystore password:
Re-enter new password:
What is your first and last name?
[Unknown]: jira.acme.com
What is the name of your organizational unit?
[Unknown]: Our project
What is the name of your organization?
[Unknown]: Our company
What is the name of your City or Locality?
[Unknown]: Our town
What is the name of your State or Province?
[Unknown]: NJ
What is the two-letter country code for this unit?
[Unknown]: US
Is CN=jira.acme.com, OU=Our project, O=Our company, L=Our town, ST=NJ, C=US correct?
[no]: y
Enter key password for
(RETURN if same as keystore password):
Просмотр личной информации
$ keytool -list -v -keystore jira_acme_com.jks
Enter keystore password:
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
Alias name: jira_acme_com
Creation date: Sep 4, 2010
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=jira.acme.com, OU=Our project, O=Our company, L=Our town, ST=NJ, C=US
Issuer: CN=jira.acme.com, OU=Our project, O=Our company, L=Our town, ST=NJ, C=US
Serial number: 4c81e9a9
Valid from: Sat Sep 04 10:39:37 CEST 2010 until: Sun Sep 04 10:39:37 CEST 2011
Certificate fingerprints:
MD5: 15:6A:E3:14:E2:78:F4:95:41:E6:33:C9:F8:8B:64:23
SHA1: CD:A6:9A:84:18:E8:62:50:2C:DC:2F:89:22:F6:BA:E9:1A:63:F6:C6
Signature algorithm name: SHA1withRSA
Version: 3
И настроить Tomcat на использование хранилища ключей.
Из, если вы хотите создать многосетевой сертификат, вам придется использовать OpenSSL (keytool не может добавлять расширения X509, такие как Subject Alternative Name). Эти ссылки являются отличными ресурсами:
Обновление: Учитывая, что вы не можете изменить сертификат (вы действительно должны были это упомянуть), временным решением может быть изменение локального /etc/hosts
файла необходимых машин для разрешения Unknown
к реальному IP машины.
123.123.123.123 Unknown
Чтобы вы могли получить доступ к https://Unknown/ с этих машин. Но очевидно, что это скорее грязный хак, чем реальное решение, и оно не масштабируется.
Связаться с администраторами, чтобы получить настоящий «хороший» сертификат, по-прежнему является действительно хорошим решением.
Ресурсы
Ссылки