{"id":2921,"date":"2019-02-22T07:19:08","date_gmt":"2019-02-22T06:19:08","guid":{"rendered":"https:\/\/www.oradba.ch\/?p=2921"},"modified":"2019-02-22T08:14:35","modified_gmt":"2019-02-22T07:14:35","slug":"oud-12c-sslhandshakeexception-with-no-cipher-suites-in-common","status":"publish","type":"post","link":"https:\/\/www.oradba.ch\/wordpress\/2019\/02\/oud-12c-sslhandshakeexception-with-no-cipher-suites-in-common\/","title":{"rendered":"OUD 12c &#8211; SSLHandshakeException with &#8220;no cipher suites in common&#8221;"},"content":{"rendered":"\r\n<p>Recently I&#8217;ve update the java installation of my Oracle Unified Directory (OUD) 12.2.1.0.3 to the latest release. Java 1.8.0 update 202 to be exact (<a href=\"https:\/\/updates.oracle.com\/ARULink\/PatchDetails\/process_form?patch_num=28916775\" target=\"_blank\" rel=\"noopener noreferrer\">p28916775_180202_Linux-x86-64.zip<\/a>). Actually a piece of cake, I&#8217;ve done this a few times in the past. My Enterprise User Security (EUS) test environment is running in Docker. A container for the database and an other one for the directory server. Updates are usually straight forward. Stop the containers, rebuild the images with the latest software \/ patches and recreate the containers. But not this time. After restarting OUD, my EUS authentication seems to be broken. When trying to log in, I did get a friendly <em>ORA-01017<\/em> error.<\/p>\r\n<p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\"> SQL&gt; connect blofeld\/******** ERROR: ORA-01017: invalid username\/password; logon denied Warning: You are no longer connected to ORACLE. <\/pre> The control of the OUD access log file did show a cipher error. <pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\"> [21\/Feb\/2019:06:21:27] CONNECT conn=5 from=172.20.0.3:50376 to=172.20.0.2:1636 protocol=LDAPS [21\/Feb\/2019:06:21:27] DISCONNECT conn=5 reason=&quot;I\/O Error&quot; msg=&quot;no cipher suites in common&quot; <\/pre><\/p>\r\n<p><a href=\"https:\/\/www.collinsdictionary.com\/dictionary\/english\/groundhog-day\" target=\"_blank\" rel=\"noopener noreferrer\">Groundhog Day?<\/a> Endless loop? I knew I did fix this before. So I&#8217;ve checked again the solution in MOS Note <em><a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocumentDisplay?id=2397791.1\" target=\"_blank\" rel=\"noopener noreferrer\">2397791.1<\/a> <\/em> and <em><a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocumentDisplay?id=2304757.1\" target=\"_blank\" rel=\"noopener noreferrer\">2304757.1<\/a><\/em>. According to my understanding the <em>java.security<\/em> file did look ok. The required legacy ciphers has been enabled by removing <em>3DES_EDE_CBC<\/em> from the list of <em>jdk.tls.disabledAlgorithms<\/em>.<br \/>I finally did several tests with different Java versions (1.8.0 update 192 and 1.8.0 update 202) and different <em>java.security<\/em> files. In the third attempt, database authentication with EUS and OUD in combination with Java 1.8.0 Update 202 also worked. The solution was rather simple. I did use the <em>java.security<\/em> file from java 1.8.0 update 192 rather than using the new version and enable <em>3DES_EDE_CBC<\/em>. Running diff on both files has uncovered the culprits.<\/p>\r\n<p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\"> diff java.security java.security_202_default 645c645 &lt; EC keySize &lt; 224 --- &gt; EC keySize &lt; 224, 3DES_EDE_CBC, anon, NULL 700c700,701 &lt; RC4_128, RC4_40, DES_CBC, DES40_CBC --- &gt; RC4_128, RC4_40, DES_CBC, DES40_CBC, \\ &gt; 3DES_EDE_CBC <\/pre> Or just the lines with <em>jdk.tls.disabledAlgorithms<\/em>. <pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\"> jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, DH keySize &lt; 1024, \\ EC keySize &lt; 224, 3DES_EDE_CBC, anon, NULL <\/pre> A difference due to 3DES_EDE_CBC was to be expected, since I made the comparison to the standard file java.security and there this algorithm was not yet removed. But <em>anon, NULL<\/em><\/p>\r\n<p>is new. The list of disabled algorithms <em>jdk.tls.disabledAlgorithms<\/em> has been altered in Java 1.8.0 update 202. I could have seen this myself if I had looked through the <a href=\"https:\/\/www.oracle.com\/technetwork\/java\/javase\/8u201-relnotes-5209271.html\" target=\"_blank\" rel=\"noopener noreferrer\">release notes<\/a> before installing the software \ud83d\ude42 . There is a java bug related to this, see <em><a href=\"https:\/\/bugs.java.com\/bugdatabase\/view_bug.do?bug_id=JDK-8211883\" target=\"_blank\" rel=\"noopener noreferrer\">JDK-8211883<\/a> Disable anon and NULL cipher suites<\/em>. The problem is now that my EUS is working again, but it will use unsecure and legacy algorithms. A proper fix of this issue has to be implemented in the LDAP \/ EUS stack of the Oracle database binaries.<\/p>\r\n<h2>Conclusion<\/h2>\r\n<p>First of all do read the release notes before updating production environments \ud83d\ude42 . As always in IT, do a little change on one side can unexpectedly break something on the other side. The solution presented here can only be a workaround, because we endanger security with legacy algorithms. Oracle should soon update the LDAP \/ EUS stack in the Oracle binaries.<\/p>\r\n<ul>\r\n<li><strong>Fix for Java 1.8.0 update 192 and older:<\/strong> Use the solution described in MOS note <em><a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocumentDisplay?id=2304757.1\" target=\"_blank\" rel=\"noopener noreferrer\">2304757.1<\/a><\/em> update <em>java.security<\/em> and remove <em>3DES_EDE_CBC<\/em> from the <em>jdk.tls.disabledAlgorithms<\/em><\/li>\r\n<li><strong>Fix for Java 1.8.0 update 201 and newer:<\/strong> Use either an old <em>java.security<\/em> which does work for you EUS environment or remove <em>3DES_EDE_CBC<\/em>, <em>anon<\/em> and <em>NULL<\/em> from the <em>jdk.tls.disabledAlgorithms<\/em> in your <em>java.security<\/em><\/li>\r\n<\/ul>\r\n<h2>Links<\/h2>\r\n<p>A few links related to this post:<\/p>\r\n<ul>\r\n<li>OUD 12c &#8211; EUS Integration Failing with Message &#8220;no cipher suites in common&#8221;<em>[<a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocumentDisplay?id=2397791.1\" target=\"_blank\" rel=\"noopener noreferrer\">2397791.1<\/a>]<\/em><\/li>\r\n<li>OUD 11g &#8211; EUS Authentication Fails with Error Message &#8220;no cipher suites in common&#8221;<em>[<a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocumentDisplay?id=2304757.1\" target=\"_blank\" rel=\"noopener noreferrer\">2304757.1<\/a>]<\/em><\/li>\r\n<li>Java 1.8.0 update 201 <a href=\"https:\/\/www.oracle.com\/technetwork\/java\/javase\/8u201-relnotes-5209271.html\">release notes<\/a><\/li>\r\n<li>Java bug <em><a href=\"https:\/\/bugs.java.com\/bugdatabase\/view_bug.do?bug_id=JDK-8211883\" target=\"_blank\" rel=\"noopener noreferrer\">JDK-8211883<\/a> Disable anon and NULL cipher suites<\/em><\/li>\r\n<li>Preview of my Docker compose files to setup an Oracle Enterprise User Security Environment on Docker <a href=\"https:\/\/github.com\/oehrlis\/docker\/tree\/master\/samples\/eus\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub oehrlis\/docker<\/a><\/li>\r\n<\/ul>\r\n","protected":false},"excerpt":{"rendered":"<p>Recently I&#8217;ve update the java installation of my Oracle Unified Directory (OUD) 12.2.1.0.3 to the latest release. Java 1.8.0 update 202 to be exact (p28916775_180202_Linux-x86-64.zip). Actually a piece of cake, I&#8217;ve done this a few times in the past. My Enterprise User Security (EUS) test environment is running in Docker. A container for the database [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"OUD 12c - SSLHandshakeException with \"no cipher suites in common\"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[180,154,142,184,1],"tags":[144,185,150],"class_list":["post-2921","post","type-post","status-publish","format-standard","hentry","category-18c","category-enterprise-user-security","category-oud","category-troubleshooting","category-uncategorized","tag-eus","tag-ora-01017","tag-oud"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1aErb-L7","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":2053,"url":"https:\/\/www.oradba.ch\/wordpress\/2015\/10\/wallet_location-in-sqlnet-ora-for-container-databases\/","url_meta":{"origin":2921,"position":0},"title":"WALLET_LOCATION in sqlnet.ora for Container Databases","author":"Stefan","date":"31. October 2015","format":false,"excerpt":"Recently I've setup Oracle Enterprise User Security (EUS) with Oracle Unified Directory (OUD) on my favorite linux test system. Among regular 11.2.0.4 and 12.1.0.2 databases I do also have a 12.1.0.2 Container Database. EUS work like a charm on the regular databases but not on the PDB. [cc lang=\"sql\"] SQL>\u2026","rel":"","context":"In &quot;12cR1&quot;","block_context":{"text":"12cR1","link":"https:\/\/www.oradba.ch\/wordpress\/category\/oracle-database\/12cr1\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2943,"url":"https:\/\/www.oradba.ch\/wordpress\/2019\/03\/configure-oracle-eusm-to-use-ldaps\/","url_meta":{"origin":2921,"position":1},"title":"Configure Oracle EUSM to use LDAPS","author":"Stefan","date":"1. March 2019","format":false,"excerpt":"With the introduction of Oracle 18c, [cci]eusm[\/cci] is officially designated as an Enterprise User Security Utility. It is now officially documented of the Enterprise User Security Administrator's Guide. Before we had to be content with the somewhat sparse MOS note 1085065.1 EUSM, Command Line Tool For EUS Administration and Some\u2026","rel":"","context":"In &quot;18c&quot;","block_context":{"text":"18c","link":"https:\/\/www.oradba.ch\/wordpress\/category\/oracle-database\/18c\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2786,"url":"https:\/\/www.oradba.ch\/wordpress\/2018\/09\/oracle-unified-directory-access-log-parsing-system-alps\/","url_meta":{"origin":2921,"position":2},"title":"Oracle Unified Directory Access Log Parsing System ALPS","author":"Stefan","date":"25. September 2018","format":false,"excerpt":"For one of my customers I had to analyse the log files of Oracle Unified Directory from time to time. In particular the access log file. During my research I came across the MOS note 2042620.1 and the Access Log Parsing System or short ALPS. ALPS is a small and\u2026","rel":"","context":"In &quot;Oracle Unified Directory&quot;","block_context":{"text":"Oracle Unified Directory","link":"https:\/\/www.oradba.ch\/wordpress\/category\/oud\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.oradba.ch\/wordpress\/wp-content\/uploads\/ALPS_Dashboard-300x221.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.oradba.ch\/wordpress\/wp-content\/uploads\/ALPS_Dashboard-300x221.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.oradba.ch\/wordpress\/wp-content\/uploads\/ALPS_Dashboard-300x221.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":2344,"url":"https:\/\/www.oradba.ch\/wordpress\/2017\/08\/oracle-unified-directory-12-released\/","url_meta":{"origin":2921,"position":3},"title":"Oracle Unified Directory 12 Released","author":"Stefan","date":"31. August 2017","format":false,"excerpt":"Finally end of working day. But while reading some newsletter and mails on my way home, I realised that there will be some work at home. After a long wait, Oracle has finally released Oracle Unified Directory 12c :-) A overview of the new features: Improved performance and scalability Support\u2026","rel":"","context":"In &quot;Oracle Unified Directory&quot;","block_context":{"text":"Oracle Unified Directory","link":"https:\/\/www.oradba.ch\/wordpress\/category\/oud\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2799,"url":"https:\/\/www.oradba.ch\/wordpress\/2018\/09\/oracle-security-at-trivadis-techevent-fall-2018\/","url_meta":{"origin":2921,"position":4},"title":"Oracle Security at Trivadis TechEvent Fall 2018","author":"Stefan","date":"26. September 2018","format":false,"excerpt":"A few days ago the semi-annual Trivadis TechEvent took place. As always, it was a great IT event where Trivadis employees and customers had the opportunity to exchange and discuss a variety of topics. I had the pleasure to give one lecture about Oracle 18c New Security Features as well\u2026","rel":"","context":"In &quot;12cR2&quot;","block_context":{"text":"12cR2","link":"https:\/\/www.oradba.ch\/wordpress\/category\/oracle-database\/12cr2\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2456,"url":"https:\/\/www.oradba.ch\/wordpress\/2017\/12\/oracle-unified-directory-on-docker\/","url_meta":{"origin":2921,"position":5},"title":"Oracle Unified Directory on Docker","author":"Stefan","date":"13. December 2017","format":false,"excerpt":"A bit a while ago I've started to use Docker for miscellaneous purposes. Not really an early adopter, but I still hope I caught the train just in time. :-) In one of my customer project, I did have to set up a couple of OUD instance to develop and\u2026","rel":"","context":"In &quot;Docker&quot;","block_context":{"text":"Docker","link":"https:\/\/www.oradba.ch\/wordpress\/category\/docker\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.oradba.ch\/wordpress\/wp-content\/uploads\/OUD_Moby-300x209.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.oradba.ch\/wordpress\/wp-json\/wp\/v2\/posts\/2921","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.oradba.ch\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.oradba.ch\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.oradba.ch\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.oradba.ch\/wordpress\/wp-json\/wp\/v2\/comments?post=2921"}],"version-history":[{"count":6,"href":"https:\/\/www.oradba.ch\/wordpress\/wp-json\/wp\/v2\/posts\/2921\/revisions"}],"predecessor-version":[{"id":2927,"href":"https:\/\/www.oradba.ch\/wordpress\/wp-json\/wp\/v2\/posts\/2921\/revisions\/2927"}],"wp:attachment":[{"href":"https:\/\/www.oradba.ch\/wordpress\/wp-json\/wp\/v2\/media?parent=2921"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.oradba.ch\/wordpress\/wp-json\/wp\/v2\/categories?post=2921"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.oradba.ch\/wordpress\/wp-json\/wp\/v2\/tags?post=2921"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}