|
oracle wallet import cert USDA
|
|||
---|---|---|---|
#18+
Коллеги, Столкнулся с такой проблемой --- не удается вызвать API у серваиса api.nal.usda.gov возникает следующая ошибка ORA-29273: HTTP request failed ORA-06512: at "SYS.UTL_HTTP", line 1130 ORA-29024: Certificate validation failure с wallet и API работаю не первый раз, но тут застрял в тупике. дано - 11.2.0.4 + latest patches Шаги 1. ACL Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
2. CREATE OR REPLACE procedure Код: plsql 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.
3. export certificates and create oracle wallet https://oracle-base.com/articles/misc/utl_http-and-ssl 4. ну и собственно сам вызов процедуры Код: plsql 1. 2. 3. 4.
пробовал создавать wallet и со всеми тремя сертификатами, и только с корневым, и только с корневым и промежуточным. также пробовал использовать wallet manager как 11 так и 12 версии. firewall открыт Код: powershell 1.
- отрабатывает отлично Может быть кто-то подскажет в чем причина или попробует у себя воспроизвести? Заранее спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
09.05.2019, 20:05 |
|
oracle wallet import cert USDA
|
|||
---|---|---|---|
#18+
s uдано - 11.2.0.4 + latest patchesбесперспективняк... Код: plaintext 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.
MOSSNI support is included in 12.2.0.1 version database and thus will need to apply the Patch 25734963 for 12.2.0.1 versionНастраивайте stunnel и ходите через него. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2019, 04:21 |
|
oracle wallet import cert USDA
|
|||
---|---|---|---|
#18+
Андрей Панфилов, скажу вам спасибо помимо автора темы... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2019, 22:49 |
|
oracle wallet import cert USDA
|
|||
---|---|---|---|
#18+
Андрей Панфилов, Спасибо. я тоже обнаружил что 11g не поддерживает. в stunnel не силен... пытаюсь настроить, но видать он тоже как-то хитро с SNI работает /etc/stunnel/stunnel.conf Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
в итоге curl отрабатывает Код: powershell 1.
но сервер возвращает ошибку Код: html 1. 2. 3. 4. 5. 6.
уже хорошо... уже можем достучаться до сервера.. но видать не тот сервис отвечает... запускал curl -v... разные сертификаты возвращаются curl -k 'https://localhost:9443/ndb/reports/?ndbno=01009&type=f&format=json&api_key=DEMO_KEY' -v * About to connect() to localhost port 9443 (#0) * Trying ::1... connected * Connected to localhost (::1) port 9443 (#0) * Initializing NSS with certpath: sql:/etc/pki/nssdb * warning: ignoring value of ssl.verifyhost * skipping SSL peer certificate verification * SSL connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 * Server certificate: * subject: CN=sni-support-required-for-valid-ssl * start date: May 10 03:58:54 2019 GMT * expire date: May 07 03:58:54 2029 GMT * common name: sni-support-required-for-valid-ssl * issuer: CN=sni-support-required-for-valid-ssl > GET /ndb/reports/?ndbno=01009&type=f&format=json&api_key=DEMO_KEY HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: localhost:9443 > Accept: */* > < HTTP/1.1 404 Not Found < Server: openresty < Date: Fri, 10 May 2019 20:42:32 GMT < Content-Type: application/json < Transfer-Encoding: chunked < Connection: keep-alive < Vary: Accept-Encoding < Access-Control-Allow-Origin: * < X-Cache: MISS < Strict-Transport-Security: max-age=31536000; preload < { "error": { "code": "NOT_FOUND", "message": "The requested URL was not found on this server." } * Connection #0 to host localhost left intact * Closing connection #0 } curl 'https://api.nal.usda.gov/ndb/reports/?ndbno=01009&type=f&format=json&api_key=DEMO_KEY' -v > /var/log/curl.log * About to connect() to api.nal.usda.gov port 443 (#0) * Trying 52.0.84.171... connected * Connected to api.nal.usda.gov (52.0.84.171) port 443 (#0) * Initializing NSS with certpath: sql:/etc/pki/nssdb * CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none * SSL connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 * Server certificate: * subject: CN=api.nal.usda.gov * start date: Apr 15 14:40:22 2019 GMT * expire date: Jul 14 14:40:22 2019 GMT * common name: api.nal.usda.gov * issuer: CN=Let's Encrypt Authority X3,O=Let's Encrypt,C=US > GET /ndb/reports/?ndbno=01009&type=f&format=json&api_key=DEMO_KEY HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: api.nal.usda.gov > Accept: */* > % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0< HTTP/1.1 200 < Server: openresty < Date: Fri, 10 May 2019 20:40:02 GMT < Content-Type: application/json;charset=UTF-8 < Transfer-Encoding: chunked < Connection: keep-alive < Vary: Accept-Encoding < X-RateLimit-Limit: 3600 < X-RateLimit-Remaining: 3597 < Access-Control-Allow-Origin: * < Access-Control-Allow-Credentials: true < Access-Control-Allow-Methods: GET, POST, OPTIONS < Access-Control-Allow-Headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type < Strict-Transport-Security: max-age=63072000; includeSubDomains; preload < Age: 0 < Via: https/1.1 api-umbrella (ApacheTrafficServer [cMsSf ]) < X-Cache: MISS < Strict-Transport-Security: max-age=31536000; includeSubDomains; preload < { [data not shown] 100 267k 0 267k 0 0 172k 0 --:--:-- 0:00:01 --:--:-- 187k* Connection #0 to host api.nal.usda.gov left intact * Closing connection #0 ssllabs на sni-support-required-for-valid-ssl сертификат выдает следующее ssllabs Certificate #2: RSA 2048 bits (SHA256withRSA) No SNI Hide Server Certificate Server Key and Certificate #1 Subject sni-support-required-for-valid-ssl Fingerprint SHA256: 17fa3cb3c3c9b09ddca52ceedd556496d0b675e950a7535fae0f4088026bd611 Pin SHA256: h1hvHiwxEdRmYpkyk938vCwVL5T5Bq1jbzv8OV3fL9o= Common names sni-support-required-for-valid-ssl Alternative names - INVALID Serial Number 00a7a679940046d9a0 Valid from Fri, 10 May 2019 03:58:54 UTC Valid until Mon, 07 May 2029 03:58:54 UTC (expires in 9 years and 11 months) Key RSA 2048 bits (e 65537) Weak key (Debian) No Issuer sni-support-required-for-valid-ssl Self-signed Signature algorithm SHA256withRSA Extended Validation No Certificate Transparency No OCSP Must Staple No Revocation information None Trusted No NOT TRUSTED Mozilla Apple Android Java Windows пробовал добавить SNI опцию, но stunnel ругнулся - Specified option name is not valid here Подскажите куда копать? Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2019, 23:50 |
|
oracle wallet import cert USDA
|
|||
---|---|---|---|
#18+
s u в итоге curl отрабатывает Код: powershell 1.
но сервер возвращает ошибку Код: html 1. 2. 3. 4. 5. 6.
... Подскажите куда копать? Ошибка ожидаема, потому что помимо разруливания нужного endpoint через SNI, оно еще через заголовки http разруливается, т.е. когда вы делаете Код: powershell 1.
, оно на сервер шлет 'Host: localhost', а тот такого финта "не ожидает". Есть два варианта: 1. Прописывем в stunnel ip-адрес настоящего endpoint, а в /etc/hosts маппинг api.nal.usda.gov на 127.0.0.1 и в pl/sql ходим на http://api.nal.usda.gov:54321 Код: sql 1. 2. 3. 4. 5.
вариант так себе из-за того что ip нужно указывать, но вполне рабочий 2. используем stunnel в качестве proxy Код: sql 1. 2. 3. 4. 5.
заметьте, что ходим на http, а не https: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2019, 02:52 |
|
oracle wallet import cert USDA
|
|||
---|---|---|---|
#18+
s uпробовал добавить SNI опцию, но stunnel ругнулся - Specified option name is not valid here Подскажите куда копать?Версия stunnel старая? - Потому что старая версия openssl? nginx как TLS termination proxy умеет подставлять правильный HOST. Андрей Панфилов1. Прописывем в stunnel ip-адрес настоящего endpoint, а в /etc/hosts маппинг api.nal.usda.gov на 127.0.0.1 и в pl/sql ходим на http://api.nal.usda.gov:54321 Код: sql 1. 2.
Порт тоже является частью заголовка HOST. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2019, 07:54 |
|
|
start [/forum/topic.php?fid=52&msg=39811958&tid=1882511]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 274ms |
total: | 418ms |
0 / 0 |