{"id":9085,"date":"2016-10-28T07:00:12","date_gmt":"2016-10-28T05:00:12","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/"},"modified":"2016-10-28T07:00:12","modified_gmt":"2016-10-28T05:00:12","slug":"documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/","title":{"rendered":"Documentum story \u2013 SSL Password for the JKS of the DSearch &amp; IndexAgent (xPlore)"},"content":{"rendered":"<p>In a previous blog (<a title=\"Documentum story - Setup the DSearch &amp; IndexAgent in HTTPS (xPlore)\" href=\"http:\/\/dbi-services.com\/blog\/documentum-story-setup-the-dsearch-indexagent-in-https-xplore\/\" target=\"_blank\" rel=\"noopener\">click here<\/a>), I described how to setup the DSearch and IndexAgent(s) in HTTPS using the Groovy script provided by EMC in newer versions of Documentum. This script is quite cool because it will allow you to automatically do some stuff like updating the xml configuration files, put the java keystore in the right location and configure JBoss to use it, aso&#8230; It also allows you to quickly apply\/revert changes to do some tests for example. Several months ago when I first used this script, I faced some issues. I will present in this blog some of the errors I&#8217;ve seen and what was the reason behind that.<\/p>\n<p>&nbsp;<\/p>\n<p>Actually I have a &#8220;funny&#8221; story related to these errors: several months after seeing these errors for the first time (and telling EMC about it with complete description of the issue and according solution), I worked on another new issue related to the Full Text Server with the help of EMC. Our EMC contact was trying to replicate our new issue and for that purpose, he had to setup the IndexAgent in SSL and he faced an error with the SSL setup&#8230; So he opened a ticket with the EMC Engineering Team to ask them to check why this was happening. In the meantime, I also asked him to share the error he was facing with me because I was curious&#8230; Of course, it turned out to be one of the errors I saw and shared with EMC several months before that. Therefore I provided him the solution to correct this bug and he was able to install the IndexAgent in SSL. I found that funny how sometimes you can actually be the one helping EMC with their own products ^^.<\/p>\n<p>&nbsp;<\/p>\n<p>So let&#8217;s start with some of the errors I saw:<\/p>\n<p>1. While configuring a DSearch in HTTPS<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [15]\">[xplore@xplore_server_01 admin]$ .\/xplore.sh -f scripts\/ConfigSSL.groovy -enable -component IS \n    -alias ft_alias -keystore \"\/app\/xPlore\/jboss7.1.1\/certs\/xplore_server_01.jks\" \n    -storepass $JKS_Password -indexserverconfig \"\/app\/xPlore\/config\/indexserverconfig.xml\" \n    -isname PrimaryDsearch\n\nComponent: IS\n====== Configure Index Server: PrimaryDsearch ======\nCopy: \/app\/xPlore\/jboss7.1.1\/certs\/xplore_server_01.jks to: .\/..\/..\/jboss7.1.1\/server\/DctmServer_PrimaryDsearch\/configuration\/my.keystore\nCopy: \/app\/xPlore\/config\/indexserverconfig.xml to: \/app\/xPlore\/config\/indexserverconfig.xml.bakHttp\nPrimary instance: PrimaryDsearch\nHost name: xplore_server_01\nHttp port: 9300, https port: 9302\nUpdated: \/app\/xPlore\/config\/indexserverconfig.xml\nCopy: .\/..\/..\/jboss7.1.1\/server\/DctmServer_PrimaryDsearch\/configuration\/standalone.xml to: .\/..\/..\/jboss7.1.1\/server\/DctmServer_PrimaryDsearch\/configuration\/standalone.xml.bakHttp\nException in thread \"main\" java.lang.IndexOutOfBoundsException: No group 6\n        at java.util.regex.Matcher.start(Matcher.java:374)\n        at java.util.regex.Matcher.appendReplacement(Matcher.java:831)\n        at java.util.regex.Matcher.replaceFirst(Matcher.java:955)\n        at java.lang.String.replaceFirst(String.java:2119)\n        at java_lang_String$replaceFirst.call(Unknown Source)\n        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)\n        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)\n        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)\n        at ConfigSSL.configIS(ConfigSSL.groovy:624)\n        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\n        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n        at java.lang.reflect.Method.invoke(Method.java:606)\n        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)\n        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)\n        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:361)\n        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:877)\n        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)\n        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)\n        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)\n        at ConfigSSL$_run_closure1.doCall(ConfigSSL.groovy:333)\n        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\n        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n        at java.lang.reflect.Method.invoke(Method.java:606)\n        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)\n        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)\n        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)\n        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:877)\n        at groovy.lang.Closure.call(Closure.java:412)\n        at groovy.lang.Closure.call(Closure.java:425)\n        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1376)\n        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1348)\n        at org.codehaus.groovy.runtime.dgm$162.invoke(Unknown Source)\n        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:271)\n        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)\n        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)\n        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)\n        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)\n        at ConfigSSL.run(ConfigSSL.groovy:331)\n        at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:266)\n        at groovy.lang.GroovyShell.run(GroovyShell.java:229)\n        at com.emc.documentum.core.fulltext.client.admin.cli.DSearchAdminCLI.callEntrance(DSearchAdminCLI.java:83)\n        at com.emc.documentum.core.fulltext.client.admin.cli.DSearchAdminCLI.main(DSearchAdminCLI.java:22)<\/pre>\n<p>&nbsp;<\/p>\n<p>2. While configuring an IndexAgent in HTTPS<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [10]\">[xplore@xplore_server_01 admin]$ .\/xplore.sh -f scripts\/ConfigSSL.groovy -enable -component IA \n    -alias ft_alias -keystore \"\/app\/xPlore\/jboss7.1.1\/certs\/xplore_server_01.jks\" \n    -storepass $JKS_Password -indexserverconfig \"\/app\/xPlore\/config\/indexserverconfig.xml\" \n    -ianame Indexagent -iaport 9200\n\nComponent: IA\n====== Configure Index Agent: Indexagent ======\nCopy: \/app\/xPlore\/jboss7.1.1\/certs\/xplore_server_01.jks to: .\/..\/..\/jboss7.1.1\/server\/DctmServer_Indexagent\/configuration\/my.keystore\nCopy: .\/..\/..\/jboss7.1.1\/server\/DctmServer_Indexagent\/configuration\/standalone.xml to: .\/..\/..\/jboss7.1.1\/server\/DctmServer_Indexagent\/configuration\/standalone.xml.bakHttp\nException in thread \"main\" java.lang.IndexOutOfBoundsException: No group 6\n        at java.util.regex.Matcher.start(Matcher.java:374)\n        at java.util.regex.Matcher.appendReplacement(Matcher.java:831)\n        at java.util.regex.Matcher.replaceFirst(Matcher.java:955)\n        at java.lang.String.replaceFirst(String.java:2119)\n        at java_lang_String$replaceFirst.call(Unknown Source)\n        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)\n        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)\n        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)\n        at ConfigSSL.configIA(ConfigSSL.groovy:888)\n        at ConfigSSL$configIA.callCurrent(Unknown Source)\n        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)\n        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)\n        at ConfigSSL.run(ConfigSSL.groovy:338)\n        at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:266)\n        at groovy.lang.GroovyShell.run(GroovyShell.java:229)\n        at com.emc.documentum.core.fulltext.client.admin.cli.DSearchAdminCLI.callEntrance(DSearchAdminCLI.java:83)\n        at com.emc.documentum.core.fulltext.client.admin.cli.DSearchAdminCLI.main(DSearchAdminCLI.java:22)<\/pre>\n<p>&nbsp;<\/p>\n<p>3. While configuring an IndexAgent in HTTPS: another one<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [10]\">[xplore@xplore_server_01 admin]$ .\/xplore.sh -f scripts\/ConfigSSL.groovy -enable -component IA \n    -alias ft_alias -keystore \"\/app\/xPlore\/jboss7.1.1\/certs\/xplore_server_01.jks\" \n    -storepass Test4Pass+word$ -indexserverconfig \"\/app\/xPlore\/config\/indexserverconfig.xml\" \n    -ianame Indexagent -iaport 9200\n    \nComponent: IA\n====== Configure Index Agent: Indexagent ======\nCopy: \/app\/xPlore\/jboss7.1.1\/certs\/xplore_server_01.jks to: .\/..\/..\/jboss7.1.1\/server\/DctmServer_Indexagent\/configuration\/my.keystore\nCopy: .\/..\/..\/jboss7.1.1\/server\/DctmServer_Indexagent\/configuration\/standalone.xml to: .\/..\/..\/jboss7.1.1\/server\/DctmServer_Indexagent\/configuration\/standalone.xml.bakHttp\nException in thread \"main\" java.lang.IllegalArgumentException: Illegal group reference\n      at java.util.regex.Matcher.appendReplacement(Matcher.java:808)\n      at java.util.regex.Matcher.replaceFirst(Matcher.java:955)\n      at java.lang.String.replaceFirst(String.java:2119)\n      at java_lang_String$replaceFirst.call(Unknown Source)\n      at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)\n      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)\n      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)\n      at ConfigSSL.configIA(ConfigSSL.groovy:888)\n      at ConfigSSL$configIA.callCurrent(Unknown Source)\n      at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)\n      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)\n      at ConfigSSL.run(ConfigSSL.groovy:338)\n      at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:266)\n      at groovy.lang.GroovyShell.run(GroovyShell.java:229)\n      at com.emc.documentum.core.fulltext.client.admin.cli.DSearchAdminCLI.callEntrance(DSearchAdminCLI.java:83)\n      at com.emc.documentum.core.fulltext.client.admin.cli.DSearchAdminCLI.main(DSearchAdminCLI.java:22)<\/pre>\n<p>&nbsp;<\/p>\n<p>4. The solution?<\/p>\n<p>You might have noticed above that each time the exception is thrown just after the backup of the file standalone.xml. So what is the Groovy script doing in this file exactly which can cause these errors? Well when configuring JBoss in HTTPS, there is only one thing to do in this file: add a new connector to enable the HTTPS and to point to the correct keystore\/password. Based on this information, it is really easy to find the reason for all these exceptions. In addition to that, you might also have noticed that in the two first points above, the password of the keystore was &#8220;$JKS_Password&#8221; while in the last command, the password is in clear text (Test4Pass+word$). So what is that environment variable $JKS_Password? Well we had to use IQs to install all these environments with logging tools to review and validate the installation and since these logging tools are storing everything displayed to the console, we were using environment variable to store our password so it is not displayed on the console or on the history of the &#8220;xplore&#8221; user. This is done as follow:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">[xplore@xplore_server_01 ~]$ stty -echo; read JKS_Password; stty echo\n                                                         =&gt; Enter the password here, it will be invisible\n[xplore@xplore_server_01 ~]$\n[xplore@xplore_server_01 ~]$ echo $JKS_Password\nTest4Pass+word$\n[xplore@xplore_server_01 ~]$<\/pre>\n<p>&nbsp;<\/p>\n<p>Basically the first command will ask you to type the password and when you press Enter, the prompt is returned and the environment variable $JKS_Password contains your password.<\/p>\n<p>&nbsp;<\/p>\n<p>Now that this is clear, what is the solution to correct the errors mentioned above? Well the solution is the same for all errors above and this solution is quite simple: don&#8217;t use any annoying special characters in your passwords (like &#8220;$&#8221; or &#8220;&#8221;). The problem with these characters is that the Groovy script isn&#8217;t able to manage them at the moment and therefore creating a password that contains one of these characters might result is errors and\/or strange results as shown above.<\/p>\n<p>&nbsp;<\/p>\n<p>Even if annoying special characters should be avoided to prevent these errors, you can continue to use some other special characters if you want to use a strong password like &#8220;+&#8221;, &#8220;-&#8220;, &#8220;?&#8221; and you can also continue to use the environment variable if you want. This is an example of the command that is working:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">[xplore@xplore_server_01 ~]$ echo $JKS_Password\nTest4Pass+word\n[xplore@xplore_server_01 ~]$ \n[xplore@xplore_server_01 admin]$ .\/xplore.sh -f scripts\/ConfigSSL.groovy -enable -component IA \n    -alias ft_alias -keystore \"\/app\/xPlore\/jboss7.1.1\/certs\/xplore_server_01.jks\" \n    -storepass $JKS_Password -indexserverconfig \"\/app\/xPlore\/config\/indexserverconfig.xml\" \n    -ianame Indexagent -iaport 9200\n\nComponent: IA\n====== Configure Index Agent: Indexagent ======\nCopy: \/app\/xPlore\/jboss7.1.1\/certs\/xplore_server_01.jks to: .\/..\/..\/jboss7.1.1\/server\/DctmServer_Indexagent\/configuration\/my.keystore\nCopy: .\/..\/..\/jboss7.1.1\/server\/DctmServer_Indexagent\/configuration\/standalone.xml to: .\/..\/..\/jboss7.1.1\/server\/DctmServer_Indexagent\/configuration\/standalone.xml.bakHttp\nUpdated: .\/..\/..\/jboss7.1.1\/server\/DctmServer_Indexagent\/configuration\/standalone.xml\nCopy: .\/..\/..\/watchdog\/config\/dsearch-watchdog-config.xml to: .\/..\/..\/watchdog\/config\/dsearch-watchdog-config.xml.bakHttp\nUpdated: .\/..\/..\/watchdog\/config\/dsearch-watchdog-config.xml\nCopy: .\/..\/..\/jboss7.1.1\/server\/DctmServer_Indexagent\/deployments\/IndexAgent.war\/WEB-INF\/classes\/indexagent.xml to: .\/..\/..\/jboss7.1.1\/server\/DctmServer_Indexagent\/deployments\/IndexAgent.war\/WEB-INF\/classes\/indexagent.xml.bakHttp\nUpdated: .\/..\/..\/jboss7.1.1\/server\/DctmServer_Indexagent\/deployments\/IndexAgent.war\/WEB-INF\/classes\/indexagent.xml\nSSL is enabled, clear jboss cache and start server to verify result.<\/pre>\n<p>&nbsp;<\/p>\n<p>Once this execution completed successfully, you can just continue the SSL setup as described in this blog linked at the top and you shouldn&#8217;t face any other issue.<\/p>\n<p>&nbsp;<\/p>\n<p>As soon as you put a &#8220;$&#8221; in your password and use this password in the command line (or use the environment variable), you will in the end face an error that will depend on whether or not you used the environment variable to hide it. As an additional note, when I was working on these errors, I did a lot of tests and I already saw the script working (or so it seemed) even with a password containing a &#8220;$&#8221; (depending on how it is written, with single quotes, double quotes, escaped, aso&#8230;) when put directly in the command line. But when I tried to start the IndexAgent, it wasn&#8217;t able to start&#8230; Therefore I took a look at the file standalone.xml and it was corrupted! The Groovy script screwed up my standalone.xml file and I had to revert a backup to be able to restart it. Hopefully the script is smart enough to backup all files before doing anything&#8230;<\/p>\n<p>&nbsp;<\/p>\n<p>In case you absolutely want a &#8220;$&#8221; in your password, then it is possible but you will have to do one step manually. First you need to execute the script with a DUMMY password without any special character:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [3]\">[xplore@xplore_server_01 admin]$ .\/xplore.sh -f scripts\/ConfigSSL.groovy -enable -component IA \n    -alias ft_alias -keystore \"\/app\/xPlore\/jboss7.1.1\/certs\/xplore_server_01.jks\" \n    -storepass DUMMY_PASSWORD -indexserverconfig \"\/app\/xPlore\/config\/indexserverconfig.xml\" \n    -ianame Indexagent -iaport 9200\n...<\/pre>\n<p>&nbsp;<\/p>\n<p>Once done, you can simply open the file standalone.xml and replace &#8220;DUMMY_PASSWORD&#8221; with the real password that contains a &#8220;$&#8221;. Restart the IndexAgent and this time, it should work. \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In a previous blog (click here), I described how to setup the DSearch and IndexAgent(s) in HTTPS using the Groovy script provided by EMC in newer versions of Documentum. This script is quite cool because it will allow you to automatically do some stuff like updating the xml configuration files, put the java keystore in [&hellip;]<\/p>\n","protected":false},"author":20,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[525],"tags":[129,382,474],"type_dbi":[],"class_list":["post-9085","post","type-post","status-publish","format-standard","hentry","category-enterprise-content-management","tag-documentum","tag-ssl","tag-xplore"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Documentum story \u2013 SSL Password for the JKS of the DSearch &amp; IndexAgent (xPlore) - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Documentum story \u2013 SSL Password for the JKS of the DSearch &amp; IndexAgent (xPlore)\" \/>\n<meta property=\"og:description\" content=\"In a previous blog (click here), I described how to setup the DSearch and IndexAgent(s) in HTTPS using the Groovy script provided by EMC in newer versions of Documentum. This script is quite cool because it will allow you to automatically do some stuff like updating the xml configuration files, put the java keystore in [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-10-28T05:00:12+00:00\" \/>\n<meta name=\"author\" content=\"Morgan Patou\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@MorganPatou\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Morgan Patou\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/\"},\"author\":{\"name\":\"Morgan Patou\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8\"},\"headline\":\"Documentum story \u2013 SSL Password for the JKS of the DSearch &amp; IndexAgent (xPlore)\",\"datePublished\":\"2016-10-28T05:00:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/\"},\"wordCount\":970,\"commentCount\":0,\"keywords\":[\"Documentum\",\"SSL\",\"xPlore\"],\"articleSection\":[\"Enterprise content management\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/\",\"name\":\"Documentum story \u2013 SSL Password for the JKS of the DSearch &amp; IndexAgent (xPlore) - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2016-10-28T05:00:12+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Documentum story \u2013 SSL Password for the JKS of the DSearch &amp; IndexAgent (xPlore)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8\",\"name\":\"Morgan Patou\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g\",\"caption\":\"Morgan Patou\"},\"description\":\"Morgan Patou has over 12 years of experience in Enterprise Content Management (ECM) systems, with a strong focus in recent years on platforms such as Alfresco, Documentum, and M-Files. He specializes in the architecture, setup, customization, and maintenance of ECM infrastructures in complex &amp; critical environments. Morgan is well-versed in both engineering and operations aspects, including high availability design, system integration, and lifecycle management. He also has a solid foundation in open-source and proprietary technologies - ranging from Apache, OpenLDAP or Kerberos to enterprise-grade systems like WebLogic. Morgan Patou holds an Engineering Degree in Computer Science from ENSISA (\u00c9cole Nationale Sup\u00e9rieure d'Ing\u00e9nieurs Sud Alsace) in Mulhouse, France. He is Alfresco Content Services Certified Administrator (ACSCA), Alfresco Content Services Certified Engineer (ACSCE) as well as OpenText Documentum Certified Administrator. His industry experience spans the Public Sector, IT Services, Financial Services\/Banking, and the Pharmaceutical industry.\",\"sameAs\":[\"https:\/\/blog.dbi-services.com\/author\/morgan-patou\/\",\"https:\/\/x.com\/MorganPatou\"],\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/morgan-patou\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Documentum story \u2013 SSL Password for the JKS of the DSearch &amp; IndexAgent (xPlore) - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/","og_locale":"en_US","og_type":"article","og_title":"Documentum story \u2013 SSL Password for the JKS of the DSearch &amp; IndexAgent (xPlore)","og_description":"In a previous blog (click here), I described how to setup the DSearch and IndexAgent(s) in HTTPS using the Groovy script provided by EMC in newer versions of Documentum. This script is quite cool because it will allow you to automatically do some stuff like updating the xml configuration files, put the java keystore in [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/","og_site_name":"dbi Blog","article_published_time":"2016-10-28T05:00:12+00:00","author":"Morgan Patou","twitter_card":"summary_large_image","twitter_creator":"@MorganPatou","twitter_misc":{"Written by":"Morgan Patou","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/"},"author":{"name":"Morgan Patou","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8"},"headline":"Documentum story \u2013 SSL Password for the JKS of the DSearch &amp; IndexAgent (xPlore)","datePublished":"2016-10-28T05:00:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/"},"wordCount":970,"commentCount":0,"keywords":["Documentum","SSL","xPlore"],"articleSection":["Enterprise content management"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/","url":"https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/","name":"Documentum story \u2013 SSL Password for the JKS of the DSearch &amp; IndexAgent (xPlore) - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2016-10-28T05:00:12+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/documentum-story-ssl-password-for-the-jks-of-the-dsearch-indexagent-xplore\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Documentum story \u2013 SSL Password for the JKS of the DSearch &amp; IndexAgent (xPlore)"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8","name":"Morgan Patou","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g","caption":"Morgan Patou"},"description":"Morgan Patou has over 12 years of experience in Enterprise Content Management (ECM) systems, with a strong focus in recent years on platforms such as Alfresco, Documentum, and M-Files. He specializes in the architecture, setup, customization, and maintenance of ECM infrastructures in complex &amp; critical environments. Morgan is well-versed in both engineering and operations aspects, including high availability design, system integration, and lifecycle management. He also has a solid foundation in open-source and proprietary technologies - ranging from Apache, OpenLDAP or Kerberos to enterprise-grade systems like WebLogic. Morgan Patou holds an Engineering Degree in Computer Science from ENSISA (\u00c9cole Nationale Sup\u00e9rieure d'Ing\u00e9nieurs Sud Alsace) in Mulhouse, France. He is Alfresco Content Services Certified Administrator (ACSCA), Alfresco Content Services Certified Engineer (ACSCE) as well as OpenText Documentum Certified Administrator. His industry experience spans the Public Sector, IT Services, Financial Services\/Banking, and the Pharmaceutical industry.","sameAs":["https:\/\/blog.dbi-services.com\/author\/morgan-patou\/","https:\/\/x.com\/MorganPatou"],"url":"https:\/\/www.dbi-services.com\/blog\/author\/morgan-patou\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/9085","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=9085"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/9085\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=9085"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=9085"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=9085"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=9085"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}