{"id":5153,"date":"2015-08-19T10:38:49","date_gmt":"2015-08-19T02:38:49","guid":{"rendered":"http:\/\/rmohan.com\/?p=5153"},"modified":"2015-08-19T10:54:22","modified_gmt":"2015-08-19T02:54:22","slug":"improve-ssl-support","status":"publish","type":"post","link":"https:\/\/mohan.sg\/?p=5153","title":{"rendered":"Improve SSL Support"},"content":{"rendered":"<h2>introduction<\/h2>\n<p>Every WebLogic Server installation comes with SSL support. But for some reason many installations get this interesting error message at startup:<\/p>\n<p class=\"Command_Line_No_Heading\">Ignoring the trusted CA certificate \u201cCN=Entrust Root Certification Authority \u2013 G2,OU=(c) 2009 Entrust, Inc. \u2013 for authorized use only,OU=See www.entrust.net\/legal-terms,O=Entrust, Inc.,C=US\u201d. The loading of the trusted certificate list raised a certificate parsing exception PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11.<\/p>\n<p>This looks odd and many people ignore these error messages. However, if your strategy is to show real error messages only, you are quickly looking for a solution. The Internet is full of possible solutions. Some recommend to remove the certificates from the JDK trust store, some recommend to use a different trust store. But is this the best solution and what are the side effects?<\/p>\n<h2>Main Article<\/h2>\n<p>Our way to the solution starts by understanding the error message. Here it is again.<\/p>\n<p class=\"Command_Line_No_Heading\">Ignoring the trusted CA certificate \u201cCN=Entrust Root Certification Authority \u2013 G2,OU=(c) 2009 Entrust, Inc. \u2013 for authorized use only,OU=See www.entrust.net\/legal-terms,O=Entrust, Inc.,C=US\u201d. The loading of the trusted certificate list raised a certificate parsing exception PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11.<\/p>\n<p>The first sentence is the result while the second sentence explains the reason. Looking at the reason, we quickly find the \u201c<em>certificate parsing exception<\/em>\u201c. But what does \u201c<em>PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11<\/em>\u201d tell us?<\/p>\n<ul>\n<li><em>PKIX<\/em><span class=\"Apple-converted-space\">\u00a0<\/span>stands for the Public Key Infrastructure (X.509). X.509 is the standard used to export, exchange, and import SSL certificates.<\/li>\n<li><em>OID<\/em><span class=\"Apple-converted-space\">\u00a0<\/span>stands for the Object Identifier. Object Identifiers are globally unique and organized in a hierarchy. This hierarchy is maintained by the standards bodies in every country. Every standards body is responsible for a specific branch and can define and assign entries into the hierarchy.<\/li>\n<\/ul>\n<p>With this background information we can lookup the number\u00a0<em>1.2.840.113549.1.1.11<\/em><span class=\"Apple-converted-space\">\u00a0<\/span>in the OID Repository (see References for the link) and get this result \u201c<em>iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-1(1) sha256WithRSAEncryption(11)<\/em>\u201c.<\/p>\n<p>Combining the certificate information in the first sentence and the information from the OID lookup we have the following result:<\/p>\n<p>The certificate from<span class=\"Apple-converted-space\">\u00a0<\/span><em>CN=Entrust Root Certification Authority \u2013 G2,OU=(c) 2009 Entrust, Inc. \u2013 for authorized use only,OU=See www.entrust.net\/legal-terms,O=Entrust, Inc.,C=US<\/em><span class=\"Apple-converted-space\">\u00a0<\/span>uses\u00a0<em>SHA256WithRSAEncryption<\/em><span class=\"Apple-converted-space\">\u00a0<\/span>which is not supported by the JDK!<\/p>\n<p>You will probably see more messages for similar or different encryption algorithms used in other certificates.<\/p>\n<h2>The Root Cause<\/h2>\n<p>These factors cause this (and similar) error messages:<\/p>\n<ul>\n<li>By default the Java Cryptography Extension (JCE), that comes with the JDK, implements only limited strength jurisdication policy files.<\/li>\n<li>The default trust store of the JDK that holds this and other certificates can be found in JAVA_HOME\/jre\/lib\/security\/cacerts.<\/li>\n<li>WebLogic Server versions before 12c come with the Certicom SSL implementation. The Certicom implementation will not be updated because the required JDK already comes with the standard SunJSSE implementation.<\/li>\n<\/ul>\n<h2>The Problem<\/h2>\n<p>The Certicom implementation works perfectly with many SSL certificates but does not support newer and stronger algorithms. Removing certificates from the default trust store or using a new trust store works only if you do not need to install third party certificates, for example from well known Certificate Authorities.<\/p>\n<h2>The Solution<\/h2>\n<p>To remove these error messages and support newer SSL certificates we have to do these steps:<\/p>\n<ul>\n<li>Upgrade the jurisdication policy files with the Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy files. You can download the Unlimites Strength Jurisdication files that fit for your JDK version from the Oracle Technology Network (see References). Follow the installation instructions that come with the distribution.<\/li>\n<li>Enable SunJSSE Support in WebLogic Server\n<ul>\n<li>Login to Weblogic console<\/li>\n<li>Go to [Select your Server] -&gt; SSL -&gt; Advance<\/li>\n<li>Set \u201cEnable JSSE\u201d to true.<\/li>\n<\/ul>\n<\/li>\n<li>Restart your domain completely (including NodeManager)\n<ul>\n<li>If you start your domains with a WLST script:\n<p class=\"Command_Line_No_Heading\">CONFIG_JVM_ARGS=\u2019-Dweblogic.ssl.JSSEEnabled=true -Dweblogic.security.SSL.enableJSSE=true\u2019<\/p>\n<\/li>\n<li>If you start your domains with the scripts startWebLogic.sh, startManagedServer.sh, or startNodeManager.sh:\n<p class=\"Command_Line_No_Heading\">JAVA_OPTIONS=\u2019-Dweblogic.ssl.JSSEEnabled=true -Dweblogic.security.SSL.enableJSSE=true\u2019<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Your Java and WebLogic environment is now ready to support newer SSL certificates!<\/p>\n<p>&nbsp;<\/p>\n<div>PKIX: Unsupported OID in the AlgorithmIdentifier<br \/>\nPOSTED ON FRIDAY, OCTOBER 28, 2011 BY BUNTY RAY<\/div>\n<div><\/div>\n<div>Important Notice Regarding Recent JDK Updates and Oracle WebLogic Server SSL<br \/>\n&lt;Oct 27, 2011 12:25:39 AM IST&gt; &lt;Notice&gt; &lt;Security&gt; &lt;BEA-090898&gt; &lt;Ignoring the trusted CA certificate &#8220;CN=T-TeleSec Globa<br \/>\nlRoot Class 2,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE&#8221;. The loading of the trusted certifica<br \/>\nte list raised a certificate parsing exception PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1<br \/>\n.1.11.&gt;<br \/>\nRecent updates to the Sun JDK (Java Developer Kit) (versions: 1.6.0_13 and 1.5.0_18) are incompatible with the SSL (Secure Socket Layer) implementation in the following versions of Oracle WebLogic Server:<\/div>\n<div><\/div>\n<div>* 11gR1 (10.3.1)<br \/>\n* 10gR3 (10.3.0)<br \/>\n* 10.0 and all maintenance releases of 10.0<br \/>\n* 9.0, 9.1, 9.2 and all maintenance releases of 9.2 prior to 9.2 MP4<br \/>\nOracle JRockit versions from R27.6.4 (1.6.0_13 and 1.5.0_18) and higher also exhibit this issue.<br \/>\nWorkaround<br \/>\n1) Use an earlier version of JDK &#8211; JDK1.6.0_12 and earlier will be ok.<br \/>\nor<br \/>\n2)\u00a0 Replace the trust store file of \\jdk\\jre\\lib\\security\\cacerts with one from earlier JDK<br \/>\nReference: Oracle Doc ID 952078.1<\/div>\n<div><\/div>\n<div><\/div>\n<div><\/div>\n<div><\/div>\n<div><\/div>\n<div>Resolve Oracle Weblogic SSL error: The loading of the trusted certificate list raised a certificate parsing exception PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11<\/div>\n<div><\/div>\n<div>If you encounter SSL error in Oracle Weblogic similar to the following, see a possible tip below.<br \/>\nMay 15, 2013 12:11:07 PM PDT Notice Security BEA-090898 Ignoring the trusted CA certificate &#8220;CN=Go Daddy Root Certificate Authority &#8211; G2,O=GoDaddy.com\\, Inc.,L=Scottsdale,ST=Arizona,C=US&#8221;. The loading of the trusted certificate list raised a certificate parsing exception PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11.<br \/>\nMay 15, 2013 12:11:10 PM PDT Error oracle.soa.bpel.engine BEA-000000 Unhandled exception for ComponentDN=default\/bpel-110-REST!1.0*soa_d1825dc6-95b8-4efc-9028-cbf58b7efcd4\/RestProcess CompositeInstanceId=6860398 ComponentInstanceId=6820014<br \/>\nMay 15, 2013 12:11:10 PM PDT Error oracle.soa.bpel.engine BEA-000000 This exception occurred because the fault thrown in the BPEL flow was not handled by any fault handlers and reached the top-level scope. Root cause :<\/div>\n<div><\/div>\n<div>javax.net.ssl.SSLKeyException: FATAL Alert:BAD_CERTIFICATE &#8211; A corrupt or unuseable certificate was received.<\/div>\n<div><\/div>\n<div>1. Login to Weblogic console<br \/>\n2. Go to [Select your Server] -&gt; SSL -&gt; Advance<br \/>\n3. Set \u201cEnable JSSE\u201d to true.<br \/>\n4. Restart your weblogic.<\/div>\n<div><\/div>\n<div><\/div>\n<div><\/div>\n<div><a href=\"http:\/\/middlewaretimes.blogspot.sg\/2014\/03\/ignoring-trusted-ca-certificate.html\">Ignoring the trusted CA certificate warnings when connecting to Node Manager using WLST nmConnect()<\/a><\/div>\n<div><\/div>\n<div><\/div>\n<div>\n<h2 class=\"km\"><span id=\"pt1:r1:ot71\">Symptoms<\/span><\/h2>\n<p><span id=\"pt1:r1:ot71\"><br \/>\nWhen using Weblogic Scripting Tool (<a class=\"zem_slink\" title=\"WLST\" href=\"http:\/\/maps.google.com\/maps?ll=45.063,-87.657&amp;spn=0.01,0.01&amp;q=45.063,-87.657%20(WLST)&amp;t=h\" target=\"_blank\" rel=\"geolocation\">WLST<\/a>) nmConnect() to connect to the node manager, notice warnings are seen for unsupported certificates (after running setWLSEnv.cmd or .sh)<\/span><\/p>\n<p>&nbsp;<\/p>\n<div class=\"kmcodeblock\"><span id=\"pt1:r1:ot71\">Connecting to Node Manager &#8230;<\/span><br \/>\n<span id=\"pt1:r1:ot71\">CA certificate &#8220;CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services<span class=\"Apple-converted-space\">\u00a0<\/span><a class=\"zem_slink\" title=\"Gesellschaft mit beschr\u00e4nkter Haftung\" href=\"http:\/\/en.wikipedia.org\/wiki\/Gesellschaft_mit_beschr%C3%A4nkter_Haftung\" target=\"_blank\" rel=\"wikipedia\">GmbH<\/a>,C=DE&#8221;. The loading of the trusted certificate list raised a certificate parsing exception<a class=\"zem_slink\" title=\"X.509\" href=\"http:\/\/en.wikipedia.org\/wiki\/X.509\" target=\"_blank\" rel=\"wikipedia\">PKIX<\/a>: Unsupported OID in the AlgorithmIdentifier object:<span class=\"Apple-converted-space\">\u00a0<\/span><\/span><br \/>\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"more\"><\/a><span id=\"pt1:r1:ot71\">1.2.840.113549.1.1.11.&gt;<\/span><br \/>\n<span id=\"pt1:r1:ot71\">&lt;Notice&gt; &lt;Security&gt; &lt;BEA-090898&gt; &lt;Ignoring the trusted CA certificate &#8220;CN=T-TeleSec GlobalRoot Class 2,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE&#8221;. The loading of the trusted certificate list raised a certificate parsing exception PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11.&gt;<\/span><br \/>\n<span id=\"pt1:r1:ot71\">&lt;Security&gt; &lt;BEA-090898&gt; &lt;Ignoring the trusted CA certificate &#8220;CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA &#8211; R3&#8221;. The loading of the trusted certificate list raised a certificate parsing exception PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11.&gt;<\/span><br \/>\n<span id=\"pt1:r1:ot71\">&lt;Notice&gt; &lt;Security&gt; &lt;BEA-090898&gt; &lt;Ignoring the trusted CA certificate &#8220;OU=Security Communication RootCA2,O=SECOM Trust Systems CO.\\,LTD.,C=JP&#8221;. The loading of the trusted certificate list raised a certificate parsing exception PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11.&gt;<\/span><br \/>\n<span id=\"pt1:r1:ot71\">&lt;Notice&gt; &lt;Security&gt; &lt;BEA-090898&gt; &lt;Ignoring the trusted CA certificate &#8220;CN=KEYNECTIS ROOT CA,OU=ROOT,O=KEYNECTIS,C=FR&#8221;. The loading of the trusted certificate list raised a certificate parsing exception PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11.&gt;<\/span><br \/>\n<span id=\"pt1:r1:ot71\">Successfully Connected to Node Manager.<\/span><\/div>\n<p>&nbsp;<\/p>\n<p>Steps<\/p>\n<p>The issue can be reproduced at will with the following steps:<\/p>\n<div class=\"kmcodeblock\"><span id=\"pt1:r1:ot71\">1. Start node manager<\/span><br \/>\n<span id=\"pt1:r1:ot71\">2. Open a command line window (or terminal window) and run setDomainEnv.cmd (or .sh)<\/span><br \/>\n<span id=\"pt1:r1:ot71\">3. Run java weblogic.WLST<\/span><br \/>\n<span id=\"pt1:r1:ot71\">4.nmConnect(&#8216;weblogic&#8217;,&#8217;weblogic1&#8242;,&#8217;test.comain.com&#8217;,&#8217;5556&#8242;,&#8217;testDomain&#8217;,&#8217;D:\\Oracle\\Middleware\\user_projects\\domains\\testDomain&#8217;,&#8217;plain&#8217;)<\/span><\/div>\n<p><span id=\"pt1:r1:ot71\"><br \/>\n<\/span><\/p>\n<h2 class=\"km\"><span id=\"pt1:r1:ot71\"><a href=\"https:\/\/www.blogger.com\/null\" name=\"CAUSE\"><\/a>Cause<\/span><\/h2>\n<p><span id=\"pt1:r1:ot71\">This is caused because of<span class=\"Apple-converted-space\">\u00a0<\/span><a class=\"zem_slink\" title=\"NASDAQ: RIMM\" href=\"http:\/\/www.google.com\/finance?q=NASDAQ:RIMM\" target=\"_blank\" rel=\"googlefinance\">Certicom<\/a><span class=\"Apple-converted-space\">\u00a0<\/span>which is WLS default SSL implementation\u00a0until\u00a0Oracle Weblogic Server\u00a010.3.5, does not support sha256WithRSAEncryption based certificates. Due to this reason, some certificates with that algorithm as signature are ignored and thus, the reason why those warnings are seen.<br \/>\n<\/span><\/p>\n<h2 class=\"km\"><span id=\"pt1:r1:ot71\"><a href=\"https:\/\/www.blogger.com\/null\" name=\"FIX\"><\/a>Solution<\/span><\/h2>\n<p><span id=\"pt1:r1:ot71\"><a href=\"https:\/\/www.blogger.com\/null\" name=\"aref_section31\"><\/a><\/span><\/p>\n<h4 class=\"km\"><span id=\"pt1:r1:ot71\">Solution 1<\/span><\/h4>\n<p><span id=\"pt1:r1:ot71\">You can make a copy of cacerts file before removing these trusted certificates. First you need to find out alias for each of these certificates it is complaining.<br \/>\n<\/span><\/p>\n<div class=\"kmcodeblock\"><span id=\"pt1:r1:ot71\"><span id=\"form1:panelPage1\">keytool -list -keystore cacerts -v<\/span><\/span><\/div>\n<p><span id=\"pt1:r1:ot71\"><br \/>\n<\/span><\/p>\n<div class=\"kmnotebox\"><span id=\"pt1:r1:ot71\">(If it prompts for password, the default password is changeit most of the times).<\/span><\/div>\n<p><span id=\"pt1:r1:ot71\"><br \/>\nFor each of the certificate it is complaining, find the alias name from output of above command and execute following command<br \/>\n<\/span><\/p>\n<div class=\"kmcodeblock\"><span id=\"pt1:r1:ot71\">keytool -delete -keystore cacerts -alias keynectisrootca<\/span><\/div>\n<p><span id=\"pt1:r1:ot71\"><br \/>\n<\/span><\/p>\n<div class=\"kmnotebox\"><span id=\"pt1:r1:ot71\">(When it prompt for the password, the default password is changeit)&#8221;<\/span><\/div>\n<p>This took care of the notice warnings on invalid certs. For example.<\/p>\n<p>After running the setWLSEnv.cmd (or .sh, changed the directory to %JAVA_HOME%\\jre\\lib\\security, made a backup copy of cacerts and ran the scripts:<span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p>1. List out certificates to match them with unsupported ones (default password is changeit):<\/p>\n<div class=\"kmcodeblock\">keytool -list -keystore cacerts -v &gt; certlist.txt<\/div>\n<p>This must be done in a<span class=\"Apple-converted-space\">\u00a0<\/span><a class=\"zem_slink\" title=\"Command-line interface\" href=\"http:\/\/en.wikipedia.org\/wiki\/Command-line_interface\" target=\"_blank\" rel=\"wikipedia\">command window<\/a><span class=\"Apple-converted-space\">\u00a0<\/span>that is started with &#8220;<a class=\"zem_slink\" title=\"User Account Control\" href=\"http:\/\/en.wikipedia.org\/wiki\/User_Account_Control\" target=\"_blank\" rel=\"wikipedia\">Run as Administrator<\/a>&#8221; or the file cannot be read\/updated.<span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p>Redirect this to a file, as the output is large and can overflow cmd window buffer. You can search the certlist file for the owner CN or OU and get the alias name for the cert that precedes it. For example:<\/p>\n<p>Alias name: ttelesecglobalrootclass3ca<br \/>\nCreation date: Feb 10, 2009<br \/>\nEntry type: trustedCertEntry<\/p>\n<p>Owner: CN=T-TeleSec GlobalRoot Class 3, OU=T-Systems Trust Center, O=T-Systems Enterprise Services GmbH, C=DE<br \/>\nIssuer: CN=T-TeleSec GlobalRoot Class 3, OU=T-Systems Trust Center, O=T-Systems Enterprise Services GmbH, C=DE<\/p>\n<p>These five notice warnings correspond to these aliases:<\/p>\n<p>ttelesecglobalrootclass3ca<br \/>\nttelesecglobalrootclass2ca<br \/>\nglobalsignr3ca<br \/>\nsecomscrootca2<br \/>\nkeynectisrootca<\/p>\n<p>2. Then, use these commands to remove the unsupported certificates from the keystore (default password is changeit):<\/p>\n<div class=\"kmcodeblock\">keytool -delete -keystore cacerts -alias ttelesecglobalrootclass3ca<br \/>\nkeytool -delete -keystore cacerts -alias ttelesecglobalrootclass2ca<br \/>\nkeytool -delete -keystore cacerts -alias globalsignr3ca<br \/>\nkeytool -delete -keystore cacerts -alias secomscrootca2<br \/>\nkeytool -delete -keystore cacerts -alias keynectisrootca<\/div>\n<p>If you then connect to the node manager with nmConnect, no warnings occur.<br \/>\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"aref_section32\"><\/a><\/p>\n<h4 class=\"km\">Solution 2<\/h4>\n<p>You can enable the JSSE SSL provider instead of Certicom to support the SHA256 algorithm. To enable JSSE, modify the startNodeManager script and add this java option to the JAVA_OPTIONS variable:<\/p>\n<div class=\"kmcodeblock\">-Dweblogic.security.SSL.enableJSSE=true<\/div>\n<p>This correction would also reduce log file occurrences of the same notice warning messages. Most likely within the node manager log file. There is potential that other processes that communicate with the node manager or when more parts of the WLS\/FMW environment are configured to run on SSL ports that similar reduction in certificate warning messages would be reduced by this procedure.<br \/>\nAdditionally, add the following line to the nodemanager.properties file:<\/p>\n<div class=\"kmcodeblock\"><a class=\"zem_slink\" title=\"Cipher suite\" href=\"http:\/\/en.wikipedia.org\/wiki\/Cipher_suite\" target=\"_blank\" rel=\"wikipedia\">CipherSuite<\/a>=SSL_RSA_EXPORT_WITH_RC4_40_MD5<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span data-iceapw=\"4\">vironmental Information: JDK6_24, weblogic10.3<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p><span data-iceapw=\"9\">On weblogic10.3 applications, and integrated cas<span class=\"Apple-converted-space\">\u00a0<\/span><span id=\"IL_AD2\" class=\"IL_AD\">single<\/span><span class=\"Apple-converted-space\">\u00a0<\/span>sign-on login problems,<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><br \/>\n<span data-iceapw=\"2\">Specific performance:<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p><span data-iceapw=\"6\">1 access to the new application<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><br \/>\n<span data-iceapw=\"6\">Jump to a unified login page<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><br \/>\n<span data-iceapw=\"9\">Log can not jump to the new application page<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><br \/>\n<span data-iceapw=\"9\">4 new application logs in the background continuously output<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<div class=\"dp-highlighter bg_java\" data-iceapw=\"20\" data-iceapc=\"12\">\n<div class=\"bar\" data-iceapc=\"1\">\n<div class=\"tools\"><a class=\"ViewSource\" title=\"view plain\" href=\"http:\/\/www.programdevelop.com\/1058351\/#\">view plain<\/a><\/div>\n<\/div>\n<ol class=\"dp-j\" start=\"1\" data-iceapw=\"20\" data-iceapc=\"9\">\n<li class=\"alt\" data-iceapw=\"20\" data-iceapc=\"8\"><span data-iceapw=\"20\" data-iceapc=\"7\"><span data-iceapw=\"2\">&lt;Security&gt;\u00a0&lt;BEA-<\/span><span class=\"number\" data-iceapw=\"1\">090477<\/span><span data-iceapw=\"7\">&gt;\u00a0&lt;Certificate\u00a0chain\u00a0received\u00a0from\u00a0testserver1.gmcc.net\u00a0&#8211;\u00a0<\/span><span class=\"number\" data-iceapw=\"1\">10.201<\/span><span data-iceapw=\"1\">.<\/span><span class=\"number\" data-iceapw=\"1\">37.41<\/span><span data-iceapw=\"7\">\u00a0was\u00a0not\u00a0trusted\u00a0causing\u00a0SSL\u00a0handshake\u00a0failure.&gt;\u00a0\u00a0<\/span><\/span><\/li>\n<\/ol>\n<\/div>\n<p><span data-iceapw=\"17\">Process (the process can be applied to check with the initial installation of the new access SSO):<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p><span data-iceapw=\"5\">Check for new applications CAS<span class=\"Apple-converted-space\">\u00a0<\/span><span id=\"IL_AD11\" class=\"IL_AD\">configuration<\/span><\/span><span class=\"Apple-converted-space\">\u00a0<\/span><br \/>\n<span data-iceapw=\"8\">Check web.xml whether to join the CAS filter<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><br \/>\n<span data-iceapw=\"9\">(2) Check whether the certificate is successfully imported JRE<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<div class=\"dp-highlighter bg_java\" data-iceapw=\"10\" data-iceapc=\"8\">\n<div class=\"bar\" data-iceapc=\"1\">\n<div class=\"tools\"><a class=\"ViewSource\" title=\"view plain\" href=\"http:\/\/www.programdevelop.com\/1058351\/#\">view plain<\/a><\/div>\n<\/div>\n<ol class=\"dp-j\" start=\"1\" data-iceapw=\"10\" data-iceapc=\"5\">\n<li class=\"alt\" data-iceapw=\"1\" data-iceapc=\"2\"><span data-iceapw=\"1\" data-iceapc=\"1\"><span data-iceapw=\"1\">?\u00a0\u00a0\u00a0<\/span><\/span><\/li>\n<li data-iceapw=\"9\" data-iceapc=\"1\"><span data-iceapw=\"9\">keytool\u00a0-list\u00a0-v\u00a0?alias\u00a0testserver1\u00a0-storepass\u00a0changeit\u00a0-keystore\u00a0${JRE_HOME}\/lib\/security\/cacerts\u00a0\u00a0<\/span><\/li>\n<\/ol>\n<\/div>\n<p><span data-iceapw=\"5\">Check the WebLogic SSL<span class=\"Apple-converted-space\">\u00a0<\/span>configuration<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p><span data-iceapw=\"17\">Enter<span class=\"Apple-converted-space\">\u00a0<\/span><span id=\"IL_AD7\" class=\"IL_AD\">Home<\/span>&gt; Summary of the AdminServer the<span class=\"Apple-converted-space\">\u00a0<\/span><span id=\"IL_AD5\" class=\"IL_AD\">Servers<\/span>&gt; General Tab,<span class=\"Apple-converted-space\">\u00a0<\/span><span id=\"IL_AD3\" class=\"IL_AD\">ensure<\/span><span class=\"Apple-converted-space\">\u00a0<\/span>that the SSL<span class=\"Apple-converted-space\">\u00a0<\/span><span id=\"IL_AD9\" class=\"IL_AD\">Listen<\/span><span class=\"Apple-converted-space\">\u00a0<\/span>Port Enabled &#8220;check status;<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p><span data-iceapw=\"34\">Into the the Keystores Tab,<span class=\"Apple-converted-space\">\u00a0<\/span>ensure<span class=\"Apple-converted-space\">\u00a0<\/span>that the Java Standard Trust keystore &#8220;for $ {the JRE_HOME} \/ lib \/ security \/ cacerts (should be the same with to add jvm parameters the-Dweblogic.security.TrustKeyStore the effect)<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p><span data-iceapw=\"18\">In addition to the problem in Step 3, the other had no problems, after performing step 3 still.<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p><span data-iceapw=\"16\">So open the SSL debugging information (startup<span class=\"Apple-converted-space\">\u00a0<\/span><span id=\"IL_AD6\" class=\"IL_AD\">script<\/span><span class=\"Apple-converted-space\">\u00a0<\/span>add jvm parameter-Dssl.debug = the true-Dweblogic.StdoutDebugEnabled = true &#8220;)<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p><span data-iceapw=\"7\">Start and can see the following log:<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<div class=\"dp-highlighter bg_java\" data-iceapw=\"50\" data-iceapc=\"30\">\n<div class=\"bar\" data-iceapc=\"1\">\n<div class=\"tools\"><a class=\"ViewSource\" title=\"view plain\" href=\"http:\/\/www.programdevelop.com\/1058351\/#\">view plain<\/a><\/div>\n<\/div>\n<ol class=\"dp-j\" start=\"1\" data-iceapw=\"50\" data-iceapc=\"27\">\n<li class=\"alt\" data-iceapw=\"25\" data-iceapc=\"12\"><span data-iceapw=\"25\" data-iceapc=\"11\"><span data-iceapw=\"3\">&lt;Error&gt;\u00a0&lt;WebLogicServer&gt;\u00a0&lt;BEA-<\/span><span class=\"number\" data-iceapw=\"1\">000297<\/span><span data-iceapw=\"13\">&gt;\u00a0&lt;Inconsistent\u00a0security\u00a0configuration,\u00a0java.security.cert.CertificateParsingException:\u00a0PKIX:\u00a0Unsupported\u00a0OID\u00a0in\u00a0the\u00a0AlgorithmIdentifier\u00a0object:\u00a0<\/span><span class=\"number\" data-iceapw=\"1\">1.2<\/span><span data-iceapw=\"1\">.<\/span><span class=\"number\" data-iceapw=\"1\">840.113549<\/span><span data-iceapw=\"1\">.<\/span><span class=\"number\" data-iceapw=\"1\">1.1<\/span><span data-iceapw=\"1\">.<\/span><span class=\"number\" data-iceapw=\"1\">11<\/span><span data-iceapw=\"1\">&gt;\u00a0\u00a0\u00a0<\/span><\/span><\/li>\n<li data-iceapw=\"25\" data-iceapc=\"13\"><span data-iceapw=\"25\" data-iceapc=\"12\">&lt;Emergency&gt;\u00a0&lt;Security&gt;\u00a0&lt;BEA-<span class=\"number\" data-iceapw=\"1\">090034<\/span><span data-iceapw=\"3\">&gt;\u00a0&lt;Not\u00a0listening\u00a0<\/span><span class=\"keyword\" data-iceapw=\"1\">for<\/span><span data-iceapw=\"9\">\u00a0SSL,\u00a0java.io.IOException:\u00a0PKIX:\u00a0Unsupported\u00a0OID\u00a0in\u00a0the\u00a0AlgorithmIdentifier\u00a0object:\u00a0<\/span><span class=\"number\" data-iceapw=\"1\">1.2<\/span><span data-iceapw=\"1\">.<\/span><span class=\"number\" data-iceapw=\"1\">840.113549<\/span><span data-iceapw=\"1\">.<\/span><span class=\"number\" data-iceapw=\"1\">1.1<\/span><span data-iceapw=\"1\">.<\/span><span class=\"number\" data-iceapw=\"1\">11<\/span><span data-iceapw=\"1\">.&gt;\u00a0\u00a0\u00a0<\/span><\/span><\/li>\n<\/ol>\n<\/div>\n<p><span data-iceapw=\"6\">Jump after logging<span class=\"Apple-converted-space\">\u00a0<\/span><span id=\"IL_AD1\" class=\"IL_AD\">exception<\/span><span class=\"Apple-converted-space\">\u00a0<\/span>log as follows:<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<div class=\"dp-highlighter bg_java\" data-iceapw=\"87\" data-iceapc=\"52\">\n<div class=\"bar\" data-iceapc=\"1\">\n<div class=\"tools\"><a class=\"ViewSource\" title=\"view plain\" href=\"http:\/\/www.programdevelop.com\/1058351\/#\">view plain<\/a><\/div>\n<\/div>\n<ol class=\"dp-j\" start=\"1\" data-iceapw=\"87\" data-iceapc=\"49\">\n<li class=\"alt\" data-iceapw=\"10\" data-iceapc=\"4\"><span data-iceapw=\"10\" data-iceapc=\"3\"><span data-iceapw=\"3\">&lt;Debug&gt;\u00a0&lt;SecuritySSL&gt;\u00a0&lt;BEA-<\/span><span class=\"number\" data-iceapw=\"1\">000000<\/span><span data-iceapw=\"6\">&gt;\u00a0&lt;SSLSetup:\u00a0loading\u00a0trusted\u00a0CA\u00a0<span id=\"IL_AD10\" class=\"IL_AD\">certificates<\/span>&gt;\u00a0\u00a0\u00a0<\/span><\/span><\/li>\n<li data-iceapw=\"10\" data-iceapc=\"3\"><span data-iceapw=\"10\" data-iceapc=\"2\">&lt;Debug&gt;\u00a0&lt;SecuritySSL&gt;\u00a0&lt;BEA-<span class=\"number\" data-iceapw=\"1\">000000<\/span><span data-iceapw=\"6\">&gt;\u00a0&lt;Failure\u00a0loading\u00a0trusted\u00a0CA\u00a0list\u00a0\u00a0\u00a0<\/span><\/span><\/li>\n<li class=\"alt\" data-iceapw=\"15\" data-iceapc=\"9\"><span data-iceapw=\"15\" data-iceapc=\"8\">java.security.cert.CertificateParsingException:\u00a0PKIX:\u00a0Unsupported\u00a0OID\u00a0in\u00a0the\u00a0AlgorithmIdentifier\u00a0object:\u00a0<span class=\"number\" data-iceapw=\"1\">1.2<\/span><span data-iceapw=\"1\">.<\/span><span class=\"number\" data-iceapw=\"1\">840.113549<\/span><span data-iceapw=\"1\">.<\/span><span class=\"number\" data-iceapw=\"1\">1.1<\/span><span data-iceapw=\"1\">.<\/span><span class=\"number\" data-iceapw=\"1\">11<\/span>\u00a0\u00a0\u00a0<\/span><\/li>\n<li data-iceapw=\"3\" data-iceapc=\"1\"><span data-iceapw=\"3\">at\u00a0com.certicom.security.cert.internal.x509.X509V3CertImpl.&lt;init&gt;(Unknown\u00a0Source)\u00a0\u00a0\u00a0<\/span><\/li>\n<li class=\"alt\" data-iceapw=\"1\" data-iceapc=\"1\"><span data-iceapw=\"1\">??????\u00a0\u00a0\u00a0<\/span><\/li>\n<li data-iceapw=\"9\" data-iceapc=\"3\"><span data-iceapw=\"9\" data-iceapc=\"2\">&lt;Debug&gt;\u00a0&lt;SecuritySSL&gt;\u00a0&lt;BEA-<span class=\"number\" data-iceapw=\"1\">000000<\/span><span data-iceapw=\"5\">&gt;\u00a0&lt;Certificate\u00a0chain\u00a0is\u00a0untrusted&gt;\u00a0\u00a0\u00a0<\/span><\/span><\/li>\n<li class=\"alt\" data-iceapw=\"9\" data-iceapc=\"5\"><span data-iceapw=\"9\" data-iceapc=\"4\">&lt;Debug&gt;\u00a0&lt;SecuritySSL&gt;\u00a0&lt;BEA-<span class=\"number\" data-iceapw=\"1\">000000<\/span><span data-iceapw=\"3\">&gt;\u00a0&lt;SSLTrustValidator\u00a0returns:\u00a0<\/span><span class=\"number\" data-iceapw=\"1\">16<\/span><span data-iceapw=\"1\">&gt;\u00a0\u00a0\u00a0<\/span><\/span><\/li>\n<li data-iceapw=\"11\" data-iceapc=\"5\"><span data-iceapw=\"11\" data-iceapc=\"4\">&lt;Debug&gt;\u00a0&lt;SecuritySSL&gt;\u00a0&lt;BEA-<span class=\"number\" data-iceapw=\"1\">000000<\/span><span data-iceapw=\"4\">&gt;\u00a0&lt;Trust\u00a0status\u00a0(<\/span><span class=\"number\" data-iceapw=\"1\">16<\/span><span data-iceapw=\"2\">):\u00a0\u00a0CERT_CHAIN_UNTRUSTED&gt;\u00a0\u00a0\u00a0<\/span><\/span><\/li>\n<li class=\"alt\" data-iceapw=\"12\" data-iceapc=\"5\"><span data-iceapw=\"12\" data-iceapc=\"4\">&lt;Debug&gt;\u00a0&lt;SecuritySSL&gt;\u00a0&lt;BEA-<span class=\"number\" data-iceapw=\"1\">000000<\/span><span data-iceapw=\"7\">&gt;\u00a0&lt;NEW\u00a0ALERT\u00a0with\u00a0Severity:\u00a0FATAL,\u00a0Type:\u00a0<\/span><span class=\"number\" data-iceapw=\"1\">42<\/span>\u00a0\u00a0\u00a0<\/span><\/li>\n<li data-iceapw=\"6\" data-iceapc=\"1\"><span data-iceapw=\"6\">java.lang.Exception:\u00a0New\u00a0alert\u00a0stack\u00a0\u00a0\u00a0<\/span><\/li>\n<li class=\"alt\" data-iceapw=\"1\" data-iceapc=\"1\"><span data-iceapw=\"1\">??????\u00a0\u00a0\u00a0<\/span><\/li>\n<\/ol>\n<\/div>\n<p><span data-iceapw=\"14\" data-iceapc=\"1\"><span data-iceapw=\"14\">This shows that WebLogic does not support OID 1.2.840.113549.1.1.11<span class=\"Apple-converted-space\">\u00a0<\/span><span id=\"IL_AD8\" class=\"IL_AD\">algorithm<\/span>, namely SHA256withRSA,<span class=\"Apple-converted-space\">\u00a0<\/span>algorithm;<\/span><\/span><span class=\"Apple-converted-space\">\u00a0<\/span><br \/>\n<span data-iceapw=\"13\" data-iceapc=\"1\"><span data-iceapw=\"13\">Is because the the CA chain certificate of SHA256withRSA<span class=\"Apple-converted-space\">\u00a0<\/span>algorithm, authentication fails.<\/span><\/span><span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p><span data-iceapw=\"14\">This is a bug in JDK1.6.0_13 appear in the official bug database on the<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p><span data-iceapw=\"5\">When they JDK1.6.0_13 several certificate<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p><span data-iceapw=\"22\">Therefore, we need to delete all the<span class=\"Apple-converted-space\">\u00a0<\/span>certificates<span class=\"Apple-converted-space\">\u00a0<\/span>use SHA256withRSA<span class=\"Apple-converted-space\">\u00a0<\/span>algorithm<span class=\"Apple-converted-space\">\u00a0<\/span>Fortunately the JDK1.<span id=\"IL_AD12\" class=\"IL_AD\">6 version<\/span><span class=\"Apple-converted-space\">\u00a0<\/span>keytools command to list the certificate<span class=\"Apple-converted-space\">\u00a0<\/span>algorithm.<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p><span data-iceapw=\"24\">We list all<span class=\"Apple-converted-space\">\u00a0<\/span>certificates, save the results to a text file, and then<span class=\"Apple-converted-space\">\u00a0<\/span><span id=\"IL_AD4\" class=\"IL_AD\">search<\/span><span class=\"Apple-converted-space\">\u00a0<\/span>tool to find the certificate alias contains SHA256withRSA<span class=\"Apple-converted-space\">\u00a0<\/span>algorithm.<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p><span data-iceapw=\"14\">With an alias, we can use the following command to delete one by one:<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<div class=\"dp-highlighter bg_java\" data-iceapw=\"72\" data-iceapc=\"22\">\n<div class=\"bar\" data-iceapc=\"1\">\n<div class=\"tools\"><a class=\"ViewSource\" title=\"view plain\" href=\"http:\/\/www.programdevelop.com\/1058351\/#\">view plain<\/a><\/div>\n<\/div>\n<ol class=\"dp-j\" start=\"1\" data-iceapw=\"72\" data-iceapc=\"19\">\n<li class=\"alt\" data-iceapw=\"8\" data-iceapc=\"2\"><span data-iceapw=\"8\" data-iceapc=\"1\"><span data-iceapw=\"8\">keytool\u00a0-delete\u00a0-keystore\u00a0${JRE_HOME}\/lib\/security\/cacerts\u00a0-alias\u00a0entrustrootcag2\u00a0-storepass\u00a0changeit\u00a0\u00a0\u00a0<\/span><\/span><\/li>\n<li data-iceapw=\"8\" data-iceapc=\"1\"><span data-iceapw=\"8\">keytool\u00a0-delete\u00a0-keystore\u00a0${JRE_HOME}\/lib\/security\/cacerts\u00a0-alias\u00a0thawteprimaryrootcag3\u00a0-storepass\u00a0changeit\u00a0\u00a0\u00a0<\/span><\/li>\n<li class=\"alt\" data-iceapw=\"8\" data-iceapc=\"1\"><span data-iceapw=\"8\">keytool\u00a0-delete\u00a0-keystore\u00a0${JRE_HOME}\/lib\/security\/cacerts\u00a0-alias\u00a0ttelesecglobalrootclass3ca\u00a0-storepass\u00a0changeit\u00a0\u00a0\u00a0<\/span><\/li>\n<li data-iceapw=\"8\" data-iceapc=\"1\"><span data-iceapw=\"8\">keytool\u00a0-delete\u00a0-keystore\u00a0${JRE_HOME}\/lib\/security\/cacerts\u00a0-alias\u00a0ttelesecglobalrootclass2ca\u00a0-storepass\u00a0changeit\u00a0\u00a0\u00a0<\/span><\/li>\n<li class=\"alt\" data-iceapw=\"8\" data-iceapc=\"1\"><span data-iceapw=\"8\">keytool\u00a0-delete\u00a0-keystore\u00a0${JRE_HOME}\/lib\/security\/cacerts\u00a0-alias\u00a0globalsignr3ca\u00a0-storepass\u00a0changeit\u00a0\u00a0\u00a0<\/span><\/li>\n<li data-iceapw=\"8\" data-iceapc=\"1\"><span data-iceapw=\"8\">keytool\u00a0-delete\u00a0-keystore\u00a0${JRE_HOME}\/lib\/security\/cacerts\u00a0-alias\u00a0secomscrootca2\u00a0-storepass\u00a0changeit\u00a0\u00a0\u00a0<\/span><\/li>\n<li class=\"alt\" data-iceapw=\"8\" data-iceapc=\"1\"><span data-iceapw=\"8\">keytool\u00a0-delete\u00a0-keystore\u00a0${JRE_HOME}\/lib\/security\/cacerts\u00a0-alias\u00a0verisignuniversalrootca\u00a0-storepass\u00a0changeit\u00a0\u00a0\u00a0<\/span><\/li>\n<li data-iceapw=\"8\" data-iceapc=\"1\"><span data-iceapw=\"8\">keytool\u00a0-delete\u00a0-keystore\u00a0${JRE_HOME}\/lib\/security\/cacerts\u00a0-alias\u00a0keynectisrootca\u00a0-storepass\u00a0changeit\u00a0\u00a0\u00a0<\/span><\/li>\n<li class=\"alt\" data-iceapw=\"8\" data-iceapc=\"1\"><span data-iceapw=\"8\">keytool\u00a0-delete\u00a0-keystore\u00a0${JRE_HOME}\/lib\/security\/cacerts\u00a0-alias\u00a0geotrustprimarycag3\u00a0-storepass\u00a0changeit\u00a0\u00a0\u00a0<\/span><\/li>\n<\/ol>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>introduction <\/p>\n<p>Every WebLogic Server installation comes with SSL support. But for some reason many installations get this interesting error message at startup:<\/p>\n<p class=\"Command_Line_No_Heading\">Ignoring the trusted CA certificate \u201cCN=Entrust Root Certification Authority \u2013 G2,OU=(c) 2009 Entrust, Inc. \u2013 for authorized use only,OU=See www.entrust.net\/legal-terms,O=Entrust, Inc.,C=US\u201d. The loading of the trusted certificate list raised a certificate parsing [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[56],"tags":[],"_links":{"self":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/5153"}],"collection":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5153"}],"version-history":[{"count":5,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/5153\/revisions"}],"predecessor-version":[{"id":5158,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/5153\/revisions\/5158"}],"wp:attachment":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}