|
|
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
имеется sping-boot приложение. Появилась задача сделать так, чтобы оно работало по https. я сделал всё как тут написано(через самоподписанный PKCS12 ключ): https://www.thomasvitale.com/https-spring-boot-ssl-certificate/ в коде есть запросы к внешним рест сервисам. Пока что они замоканы внутренними же сервисами. Внешние сервисы тоже будут по https. Код: java 1. После перевода на https такой код теперь не работает. Читаю статью https://myshittycode.com/2015/12/17/java-https-unable-to-find-valid-certification-path-to-requested-target-2/ соответственно если зарегать бин: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. то всё работает, но это судя по всему плохо и толку от такого HTTPS мало. Но второй способ из статьи у меня не работает. У меня винда. в cmd: авторkeytool -list -v -storetype pkcs12 -keystore keystore.p12 Enter keystore password: Keystore type: PKCS12 Keystore provider: SunJSSE Your keystore contains 1 entry Alias name: tomcat Creation date: Jan 9, 2018 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[1]: Owner: CN=localhost, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown Issuer: CN=localhost, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown Serial number: 64cd4d27 Valid from: Tue Jan 09 17:56:07 MSK 2018 until: Fri Jan 07 17:56:07 MSK 2028 Certificate fingerprints: MD5: A6:F5:67:EE:87:65:21:62:50:5B:67:AE:63:F6:AE:C0 SHA1: B8:F5:F7:7D:8C:4C:90:0E:BA:CE:9D:22:3A:D3:A7:6E:BB:12:1B:D8 SHA256: 35:B5:DF:15:FC:3B:DD:D3:05:58:88:92:00:47:8F:62:2C:97:D7:20:77:FA:7D:55:00:64:E9:62:F4:7D:3B:08 Signature algorithm name: SHA256withRSA Version: 3 Extensions: #1: ObjectId: 2.5.29.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: 3E D4 2D F8 AF D2 C2 4E 51 4F 3E A4 01 FE E2 34 >.-....NQO>....4 0010: 48 B0 5F 4F H._O ] ] ******************************************* ******************************************* Также например тут https://stackoverflow.com/a/37824656/2674303 пишут, что запрос надо ещё по другому писать и указывать файл сертификата. С другой стороны если я захожу в личный кабинет своего банка, то я же по https там сижу и я не нажимаю на скачивание сертификата. Может это в фоне как-то происходит? должен ли мне поставщик сервиса предоставлять сертификат отдельным урлом по http ? Расставьте по полочкам пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 00:35 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
redwhite90, Теперь всегда требуется наличие в сертификате subjectAltName с хотя бы одним значением, в котором указан ваш домен: https://groups.google.com/a/chromium.org/d/topic/security-dev/IGT2fLJrAeo/discussion ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 07:35 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
redwhite90, 73.5 Configure SSL : Код: java 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 07:46 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
redwhite90Расставьте по полочкам пожалуйста.Я не смог разобраться в ваших проблемах ("Да как же тебя понять, если ты ничего не говоришь"), но "есть мнение", что вы мешаете в одну кучу "шифрованный канал", "идентификацию по сертификату" и "доверительные отношения". Вкратце можно сказать следующее. Для шифрованного обмена требуется надёжный (доверенный и безопасный) канал для передачи пароля. В данном контексте "безопасный" означает "доступен только для отправителя и получателя", а "доверенный" - "идентифицирует участников". Существуют схемы открытого распределения ключей, позволяющие согласовать (секретный) пароль по открытому (общедоступному) каналу. Эти схемы являются безопасными, но не являются доверенными. Доверие может обеспечиваться разными способами, но общепринятым является инфраструктура открытых ключей (ИОК / PKI). Основой ИОК являются удостоверяющие центры в иерархических или/и сетевых графах. Каждый удостоверяющий центр, тем или иным образом, ведёт списки отзыва сертификатов, позволяющие проверить статус произвольного сертификата, изданного в данном УЦ. Практика проверки всей цепочки (конечный сертификат - промежуточные УЦ - корневой УЦ) по спискам отзыва стала стандартом для корректной реализации TLS/SSL. Когда вы самостоятельно формируете сертификат ключевой пары, хост, использующий такой сертификат не обладает никаким доверием. Это даже если не касаться того факта, что самоизданный сертификат допустим только для корневого УЦ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 08:33 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
redwhite90, У jvm есть keystore и есть trustStore. Вот для того чтобы HTTPS клиент работал нужно чтобы был truststore был сконфигурирован и в нём публичный ключ, соответсвенно. Либо конкретно для Spring Boot: https://stackoverflow.com/questions/27724544/specifying-trust-store-information-in-spring-boot-application-properties ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 08:33 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczВот для того чтобы HTTPS клиент работал нужно чтобы был truststore был сконфигурирован и в нём публичный ключ... удостоверяющего центра, выпустившего сертификат сервера, к которому обращается клиент. Так, наверное, будет правильнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 08:40 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov... удостоверяющего центра, выпустившего сертификат сервера, к которому обращается клиент. Так, наверное, будет правильнее. Да, но у топикастера жа самоподписный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 08:53 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczДа, но у топикастера жа самоподписный.Да, но рано или поздно он осознает, что надо покупать серверный сертификат. Или, как минимум, развернуть собственный УЦ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 09:06 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
авторС другой стороны если я захожу в личный кабинет своего банка, то я же по https там сижу и я не нажимаю на скачивание сертификата. Данный сертификат выдан доверенным центром сертификации (Thawte, Verisign и т.п.) Корневые сертификаты доверенных центров сертификации уже в хранилищах сертификатов браузеров. Если же сертификат выпущен удостоверяющим центром, про который не знают браузеры (например, КриптоПро), то цепочку сертификатов надо будет добавлять в хранилище сертификатов браузера, чтобы браузер не ругался на кривой сертификат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 09:35 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
Usmanredwhite90, 73.5 Configure SSL : Код: java 1. 2. 3. 4. а у меня Код: java 1. 2. 3. 4. Чем отличается server.ssl.key-store-password от server.ssl.key-password ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 11:15 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
redwhite90Чем отличается server.ssl.key-store-password от server.ssl.key-password ? Первый - пароль от JKS файла. Второй - пароль от ключа в нём. Но для SSL/HTTPS их, зачастую, делают одинаковыми. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 11:24 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, кажется получилось. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. в пропертях: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. запрос Код: java 1. теперь работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 11:41 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
Blazkowiczredwhite90Чем отличается server.ssl.key-store-password от server.ssl.key-password ? Первый - пароль от JKS файла. Второй - пароль от ключа в нём. Но для SSL/HTTPS их, зачастую, делают одинаковыми. У меня не JKS а PKCS12. Как-то можно посмотреть/поменять эти пароли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 11:52 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
shadenавторС другой стороны если я захожу в личный кабинет своего банка, то я же по https там сижу и я не нажимаю на скачивание сертификата. Данный сертификат выдан доверенным центром сертификации (Thawte, Verisign и т.п.) Корневые сертификаты доверенных центров сертификации уже в хранилищах сертификатов браузеров. Если же сертификат выпущен удостоверяющим центром, про который не знают браузеры (например, КриптоПро), то цепочку сертификатов надо будет добавлять в хранилище сертификатов браузера, чтобы браузер не ругался на кривой сертификат. а если у меня браузера нет, а есть rest template, то когда у меня появится не самоподписный сертификат, а нормальный, то что мне делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 11:56 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
redwhite90а если у меня браузера нет, а есть rest template, то когда у меня появится не самоподписный сертификат, а нормальный, то что мне делать? Ничего. Корневые сертификаты доверительных центров уже находятся в хранилище JRE, если вы только его не сломали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 12:39 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
Blazkowiczredwhite90а если у меня браузера нет, а есть rest template, то когда у меня появится не самоподписный сертификат, а нормальный, то что мне делать? Ничего. Корневые сертификаты доверительных центров уже находятся в хранилище JRE, если вы только его не сломали. Понял, благодарю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 13:11 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
а помогите ещё с кемелом: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. та же ошибка: Код: java 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 17:02 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
Сертификат привязан к имени домена. Поэтому вместо localhost нужно использовать то имя, которое у сертификата в CN указано. Ну или в CN прописать localhost когда генеришь сертификат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 17:10 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Этот тот же сертификат, что и до этого, а там httpsUrl c localhost Помогло написать вот так: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 17:17 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Теперь дали УРЛ, который уже имеет нормальный сертификат и в постмане запрос прохолдит нормально: а если через RestTemplate: Код: java 1. То старая ошибка: авторCaused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target Конфигурация всего этого дела: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2018, 17:21 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
Есть системное хранилище сертификатов, которое может (не) использоваться конкретным приложением (средой). Если у JRE - собственное хранилище, то вполне логично предположить, что его содержимое может отличаться от системного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2018, 17:58 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2018, 18:10 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
redwhite90Как быть? Use "keytool -command_name -help" for usage of command_name Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2018, 18:19 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, а как его найти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2018, 19:13 |
|
||
|
Как зарегистрировать сертификат?
|
|||
|---|---|---|---|
|
#18+
В lib/security есть умалчиваемое хранилище доверенных сертификатов - файл cacerts (пустой пароль). Можно импортировать его содержимое в используемое вами хранилище, не забыв установить "флаг доверия УЦ" при импорте. Вполне возможно, что сертификат сервера издан одним из "стандартных" УЦ. Можно действовать точечно, тогда варианты могут быть разные. Если известен издатель серверного сертификата - находим страницу загрузки этого издателя, скачиваем и импортируем сертификаты корневого и промежуточных удостоверяющих центров. Можно обратиться к администратору целевого сервера и попросить у него или pem-файл или cer-файлы "россыпью". Можно взять винду, ослика, подключиться к какой-нибудь "нейтральной" (шифрованной) странице сервера - появится возможность посмотреть свойства серверного сертификата. Это будет стандартная системная утилита, где на одной из закладок будет отображена "цепочка доверия". Каждый сертификат в цепочке можно, опять-таки, просмотреть, и на другой одной из закладок - экспортировать в файл. Можно взять любые другие браузер и операционку, но тогда интерфейс просмотра и экспорта сертификатов может (будет) отличаться. Сам функционал общепринятый и есть в любом браузере сложнее links/lynx. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2018, 19:37 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39583472&tid=2122346]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 177ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...