{"id":7544,"date":"2023-02-03T17:55:46","date_gmt":"2023-02-03T08:55:46","guid":{"rendered":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=7544"},"modified":"2025-03-06T18:36:58","modified_gmt":"2025-03-06T09:36:58","slug":"unable-to-find-valid-certification-path-to-requested-target","status":"publish","type":"post","link":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=7544","title":{"rendered":"unable to find valid certification path to requested target"},"content":{"rendered":"<h1>unable to find valid certification path to requested target<\/h1>\n<p>https \ud1b5\uc2e0\uc744 \ud558\ub294 \uc0c1\ud669\uc5d0\uc11c \uc778\uc99d\uc11c\uac00 \uc5c6\ub2e4\uac70\ub098,<br \/>\n\uc0ac\uc2e4\uc778\uc99d\uc11c\ub85c \uc778\uc99d\ub418\uace0 \uc788\ub294 \uacbd\uc6b0,<br \/>\n\ub610\ub294 \uc815\uc0c1\uc801\uc778 \uc778\uc99d\uc11c\ub77c\uace0 \ud574\ub3c4 JDK \uc5d0 \ud3ec\ud568\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub294 \uc778\uc99d\uc11c\ub97c \uc774\uc6a9\ud558\ub294 \uacbd\uc6b0,<br \/>\n\uc704\uc640\uac19\uc740 \uc624\ub958\uac00 \ubc1c\uc0dd\ud55c\ub2e4.<\/p>\n<h2>\ud574\uacb0\ucc45 01<\/h2>\n<p>JDK \uc5d0 \ud3ec\ud568\ub418\uc5b4 \uc788\ub294 \uc778\uc99d\uae30\uad00\uc5d0\uc11c \ubc1c\uae09\ud55c \uc778\uc99d\uc11c\ub97c \uc124\uc815\ud574 \uc900\ub2e4.<\/p>\n<h2>\ud574\uacb0\ucc45 02<\/h2>\n<p>\uc544\ub798 \ubc29\ubc95\uc73c\ub85c \uc778\uc99d\uc11c \uc624\ub958\ub97c \ubb34\uc2dc\ud55c\ub2e4.<\/p>\n<pre><code class=\"language-java\">public class NetworkUtil {\n\n    public static void disableSslVerification() {\n        try {\n            \/\/ ============================================\n            \/\/ trust manager \uc0dd\uc131(\uc778\uc99d\uc11c \uccb4\ud06c \uc804\ubd80 \uc548\ud568)\n            TrustManager[] trustAllCerts =new TrustManager[] {new X509TrustManager() {\n                public java.security.cert.X509Certificate[] getAcceptedIssuers() { return null; }\n                public void checkClientTrusted(X509Certificate[] certs, String authType){ }\n                public void checkServerTrusted(X509Certificate[] certs, String authType){ }\n            }};\n\n            \/\/ trust manager \uc124\uce58\n            SSLContext sc = SSLContext.getInstance(&quot;SSL&quot;);\n            sc.init(null, trustAllCerts, new java.security.SecureRandom());\n            HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());\n\n            \/\/ ============================================\n            \/\/ host name verifier \uc0dd\uc131(\ud638\uc2a4\ud2b8 \ub124\uc784 \uccb4\ud06c\uc548\ud568)\n            HostnameVerifier allHostsValid = (hostname, session) -&gt; true;\n\n            \/\/ host name verifier \uc124\uce58\n            HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);\n        } catch (NoSuchAlgorithmException | KeyManagementException e) {\n            e.printStackTrace();\n        }\n    }\n}<\/code><\/pre>\n<p>https \ud1b5\uc2e0\uc804 \uc704 \uba54\uc18c\ub4dc\ub97c \ud638\ucd9c\ud574\uc11c \uc778\uc99d\uc11c \uccb4\ud06c\ub97c \uc784\uc2dc\ub85c \uc815\uc9c0\uc2dc\ud0a8\ub2e4.<\/p>\n<pre><code class=\"language-java\">@SpringBootApplication\npublic class WarehousewebApplication {\n    public static void main(String[] args) {\n        NetworkUtil.disableSslVerification();\n        SpringApplication.run(WarehousewebApplication.class, args);\n    }\n}<\/code><\/pre>\n<p>\ud55c\ubc88\ub9cc \ud638\ucd9c\ud574 \uc8fc\uba74 \uc774\ud6c4\uc758 \ubaa8\ub4e0 https \ud1b5\uc2e0\uc5d0\uc11c \uc778\uc99d\uc11c \uccb4\ud06c\ub97c \ud558\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n<h2>\ud574\uacb0\ucc45 03<\/h2>\n<p>\uc704 2\ubc88 \ud574\uacb0\ucc45\uc740 \ubcf4\uc548\uc0c1 \uc704\ud5d8\uc131\uc774 \uc788\uc73c\ubbc0\ub85c,<br \/>\nLet\u2019s Encrypt \uc5d0\uc11c \ubc1c\uae09\ud55c \uc778\uc99d\uc11c\ub97c \uc774\uc6a9\ud558\ub294 \ubc29\ubc95\uc774 \ub354 \uc88b\ub2e4.<\/p>\n<h3>Java 9 \uc774\uc0c1<\/h3>\n<p>\uc804\ubd80 \uc9c0\uc6d0\ud569\ub2c8\ub2e4.<\/p>\n<h3>Java 8<\/h3>\n<p>\uc544\ub798\uc5d0 \ud45c\uc2dc\ud55c \ubc84\uc804\ubd80\ud130 JDK \uc5d0 Let\u2019s Encrypt \uc778\uc99d\uc11c\uac00 \ud3ec\ud568\ub418\uc5b4 \uc788\uc73c\ubbc0\ub85c,<br \/>\n\ubcc4\ub2e4\ub978 \uc791\uc5c5\uc5c6\uc774 \uc815\uc0c1\uc801\uc73c\ub85c \uc778\uc99d\uc11c\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n<ul>\n<li>Oracle JDK 8 : 8u101<\/li>\n<li>OpenJDK 8 : \uc6b4\uc601\uccb4\uc81c\uc5d0 \ub530\ub77c \ub2e4\ub984<\/li>\n<li>Amazon Corretto 8 : 8u262<\/li>\n<li>Zulu OpenJDK 8 : 8u112<\/li>\n<li>AdoptOpenJDK 8 : 8u262<\/li>\n<\/ul>\n<h3>Java 7<\/h3>\n<p>\uc5ed\uc2dc \ubc30\ud3ec\ud310\ubcc4\ub85c \uc81c\uac01\uac01\uc785\ub2c8\ub2e4.<br \/>\nJava 8 \uc774\ud6c4 \ubc84\uc804\uc73c\ub85c \ubc84\uc804\uc5c5\uc744 \ud558\ub294 \uac83\uc744 \ucd94\ucc9c\ud569\ub2c8\ub2e4.<\/p>\n<h3>\uc774\uc678 \ubc84\uc804<\/h3>\n<p>\uc544\ub798 \uba85\ub839\uc73c\ub85c \ubc1c\uae09\ubc1b\uc740 \uc778\uc99d\uc11c\ub97c \uc218\ub3d9\uc73c\ub85c \ucd94\uac00\ud574 \uc8fc\uc5b4\uc57c \ud55c\ub2e4.<br \/>\n\ub610\ud55c \ub9e4 3\uac1c\uc6d4\ub9c8\ub2e4 \uc778\uc99d\uc11c\ub97c \uac31\uc2e0\ud574\uc57c \ud558\ubbc0\ub85c,<br \/>\n\uc544\ub798 \uba85\ub839\uc744 \ub9e4\ub2ec \uc2e4\ud589\ud574 \uc8fc\uc5b4\uc57c \ud55c\ub2e4.<\/p>\n<pre><code>keytool -trustcacerts \\\n    -keystore $JAVA_HOME\/jre\/lib\/security\/cacerts \\\n    -storepass changeit \\\n    -noprompt \\\n    -importcert \\\n    -file \/etc\/letsencrypt\/live\/hostname.com\/chain.pem<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>unable to find valid certification path to requested target https \ud1b5\uc2e0\uc744 \ud558\ub294 \uc0c1\ud669\uc5d0\uc11c \uc778\uc99d\uc11c\uac00 \uc5c6\ub2e4\uac70\ub098, \uc0ac\uc2e4\uc778\uc99d\uc11c\ub85c \uc778\uc99d\ub418\uace0 \uc788\ub294 \uacbd\uc6b0, \ub610\ub294 \uc815\uc0c1\uc801\uc778 \uc778\uc99d\uc11c\ub77c\uace0 \ud574\ub3c4 JDK \uc5d0 \ud3ec\ud568\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub294 \uc778\uc99d\uc11c\ub97c \uc774\uc6a9\ud558\ub294 \uacbd\uc6b0, \uc704\uc640\uac19\uc740 \uc624\ub958\uac00 \ubc1c\uc0dd\ud55c\ub2e4. \ud574\uacb0\ucc45 01 JDK \uc5d0 \ud3ec\ud568\ub418\uc5b4 \uc788\ub294 \uc778\uc99d\uae30\uad00\uc5d0\uc11c \ubc1c\uae09\ud55c \uc778\uc99d\uc11c\ub97c \uc124\uc815\ud574 \uc900\ub2e4. \ud574\uacb0\ucc45 02 \uc544\ub798 \ubc29\ubc95\uc73c\ub85c \uc778\uc99d\uc11c \uc624\ub958\ub97c \ubb34\uc2dc\ud55c\ub2e4. public class NetworkUtil\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=7544\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29],"tags":[],"class_list":["post-7544","post","type-post","status-publish","format-standard","hentry","category-spring-boot-2-5"],"_links":{"self":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/7544","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7544"}],"version-history":[{"count":9,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/7544\/revisions"}],"predecessor-version":[{"id":10085,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/7544\/revisions\/10085"}],"wp:attachment":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7544"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7544"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7544"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}