{"id":12760,"date":"2019-08-31T08:00:44","date_gmt":"2019-08-31T06:00:44","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/documentum-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\/"},"modified":"2019-08-31T08:00:44","modified_gmt":"2019-08-31T06:00:44","slug":"documentum-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/documentum-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\/","title":{"rendered":"Documentum &#8211; Encryption\/Decryption of WebTop 6.8 passwords &#8216;REJECTED&#8217; with recent JDK"},"content":{"rendered":"<p>Recently, we had a project to modernize a little bit a pretty old Documentum installation. As part of this project, there were a refresh of the Application Server hosting a WebTop 6.8. In this blog, I will be talking about an issue that we faced in encryption &amp; decryption of passwords in the refresh environment. This new environment was using WebLogic 12.1.3 with the latest PSU in conjunction with the JDK 1.8u192. Since WebTop 6.8 P08, the JDK 1.8u111 is supported so a newer version of the JDK8 <em>should mostly<\/em> be working without much trouble.<\/p>\n<p>To properly deploy a WebTop application, you will need to encrypt some passwords like the Preferences or Preset passwords. Doing so in the new environment unfortunately failed:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [18,20,21]\">[weblogic@wls_01 ~]$ work_dir=\/tmp\/work\n[weblogic@wls_01 ~]$ cd ${work_dir}\/\n[weblogic@wls_01 work]$\n[weblogic@wls_01 work]$ jar -xf webtop_6.8_P27.war WEB-INF\/classes WEB-INF\/lib\n[weblogic@wls_01 work]$\n[weblogic@wls_01 work]$ kc=\"${work_dir}\/WEB-INF\/classes\/com\/documentum\/web\/formext\/session\/KeystoreCredentials.properties\"\n[weblogic@wls_01 work]$\n[weblogic@wls_01 work]$ sed -i \"s,use_dfc_config_dir=[^$]*,use_dfc_config_dir=false,\" ${kc}\n[weblogic@wls_01 work]$\n[weblogic@wls_01 work]$ sed -i \"s,keystore.file.location=[^$]*,keystore.file.location=${work_dir},\" ${kc}\n[weblogic@wls_01 work]$\n[weblogic@wls_01 work]$ grep -E \"^use_dfc_config_dir|^keystore.file.location\" ${kc}\nuse_dfc_config_dir=false\nkeystore.file.location=\/tmp\/work\n[weblogic@wls_01 work]$\n[weblogic@wls_01 work]$ enc_classpath=\"${work_dir}\/WEB-INF\/classes:${work_dir}\/WEB-INF\/lib\/*\"\n[weblogic@wls_01 work]$\n[weblogic@wls_01 work]$ java -classpath \"${enc_classpath}\" com.documentum.web.formext.session.TrustedAuthenticatorTool \"MyP4ssw0rd\"\nAug 27, 2019 11:02:23 AM java.io.ObjectInputStream filterCheck\nINFO: ObjectInputFilter REJECTED: class com.rsa.cryptoj.o.nc, array length: -1, nRefs: 1, depth: 1, bytes: 72, ex: n\/a\njava.security.UnrecoverableKeyException: Rejected by the jceks.key.serialFilter or jdk.serialFilter property\n        at com.sun.crypto.provider.KeyProtector.unseal(KeyProtector.java:352)\n        at com.sun.crypto.provider.JceKeyStore.engineGetKey(JceKeyStore.java:136)\n        at java.security.KeyStoreSpi.engineGetEntry(KeyStoreSpi.java:473)\n        at java.security.KeyStore.getEntry(KeyStore.java:1521)\n        at com.documentum.web.formext.session.TrustedAuthenticatorUtils.getSecretKey(Unknown Source)\n        at com.documentum.web.formext.session.TrustedAuthenticatorUtils.decryptByDES(Unknown Source)\n        at com.documentum.web.formext.session.TrustedAuthenticatorTool.main(TrustedAuthenticatorTool.java:64)\n[weblogic@wls_01 work]$<\/pre>\n<p>&nbsp;<\/p>\n<p>As you can see above, the encryption of password is failing with some error. The issue is that starting with the JDK 1.8u171, Oracle introduced some new restrictions. From the Oracle release note (<a href=\"https:\/\/www.oracle.com\/technetwork\/java\/javase\/8u171-relnotes-4308888.html#JDK-8189997\" target=\"_blank\" rel=\"noopener noreferrer\">JDK-8189997<\/a>):<\/p>\n<blockquote style=\"font-size: 14px\"><p><strong>New Features<\/strong><br \/>\nsecurity-libs\/javax.crypto<br \/>\n<strong>Enhanced KeyStore Mechanisms<\/strong><br \/>\nA new security property named jceks.key.serialFilter has been introduced. If this filter is configured, the JCEKS KeyStore uses it during the deserialization of the encrypted Key object stored inside a SecretKeyEntry. If it is not configured or if the filter result is UNDECIDED (for example, none of the patterns match), then the filter configured by jdk.serialFilter is consulted.<\/p>\n<p>If the system property jceks.key.serialFilter is also supplied, it supersedes the security property value defined here.<\/p>\n<p>The filter pattern uses the same format as jdk.serialFilter. The default pattern allows java.lang.Enum, java.security.KeyRep, java.security.KeyRep$Type, and javax.crypto.spec.SecretKeySpec but rejects all the others.<\/p>\n<p>Customers storing a SecretKey that does not serialize to the above types must modify the filter to make the key extractable.<\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<p>On recent versions of Documentum Administrator for example, there is no issue because it complies but for WebTop 6.8, it doesn&#8217;t and therefore to be able to encrypt\/decrypt the password, you will have to modify the filter. There are several solutions to our current problem:<\/p>\n<ul>\n<li>Downgrade the JDK: this isn&#8217;t a good solution since it might introduce security vulnerabilities and it will also prevent you to upgrade it in the future so&#8230;<\/li>\n<li>Extend the &#8216;<em>jceks.key.serialFilter<\/em>&#8216; definition inside the &#8216;<em>$JAVA_HOME\/jre\/lib\/security\/java.security<\/em>&#8216; file: that&#8217;s a possibility but it means that any processes using this Java will use the updated filter list. Whether or not that&#8217;s fine, it&#8217;s up to you<\/li>\n<li>Override the &#8216;<em>jceks.key.serialFilter<\/em>&#8216; definition using a JVM startup parameter on a per-process basis: better control on which processes are allowed to use updated filters and which ones aren&#8217;t<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>So the simplest way, and most probably the better way, to solve this issue is to simply add a command line parameter to specify that you want to allow some additional classes. By default, the &#8216;<em>java.security<\/em>&#8216; provides a list of some classes that are allowed and it ends with &#8216;<em>!*<\/em>&#8216; which means that everything else is forbidden.<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [2,3,19,20,21,23,24,26,36,37,39,49,50,51]\">[weblogic@wls_01 work]$ grep -A2 \"^jceks.key.serialFilter\" $JAVA_HOME\/jre\/lib\/security\/java.security\njceks.key.serialFilter = java.lang.Enum;java.security.KeyRep;\n  java.security.KeyRep$Type;javax.crypto.spec.SecretKeySpec;!*\n\n[weblogic@wls_01 work]$\n[weblogic@wls_01 work]$ grep \"^security.provider\" $JAVA_HOME\/jre\/lib\/security\/java.security\nsecurity.provider.1=com.rsa.jsafe.provider.JsafeJCE\nsecurity.provider.2=com.rsa.jsse.JsseProvider\nsecurity.provider.3=sun.security.provider.Sun\nsecurity.provider.4=sun.security.rsa.SunRsaSign\nsecurity.provider.5=sun.security.ec.SunEC\nsecurity.provider.6=com.sun.net.ssl.internal.ssl.Provider\nsecurity.provider.7=com.sun.crypto.provider.SunJCE\nsecurity.provider.8=sun.security.jgss.SunProvider\nsecurity.provider.9=com.sun.security.sasl.Provider\nsecurity.provider.10=org.jcp.xml.dsig.internal.dom.XMLDSigRI\nsecurity.provider.11=sun.security.smartcardio.SunPCSC\n[weblogic@wls_01 work]$\n[weblogic@wls_01 work]$ # Using an empty parameter allows everything (not the best idea)\n[weblogic@wls_01 work]$ java -Djceks.key.serialFilter='' -classpath \"${enc_classpath}\" com.documentum.web.formext.session.TrustedAuthenticatorTool \"MyP4ssw0rd\"\nEncrypted: [4Fc6kvmUc9cCSQXUqGkp+A==], Decrypted: [MyP4ssw0rd]\n[weblogic@wls_01 work]$\n[weblogic@wls_01 work]$ # Using the default value from java.security causes the issue\n[weblogic@wls_01 work]$ java -Djceks.key.serialFilter='java.lang.Enum;java.security.KeyRep;java.security.KeyRep$Type;javax.crypto.spec.SecretKeySpec;!*' -classpath \"${enc_classpath}\" com.documentum.web.formext.session.TrustedAuthenticatorTool \"MyP4ssw0rd\"\nAug 27, 2019 12:05:08 PM java.io.ObjectInputStream filterCheck\nINFO: ObjectInputFilter REJECTED: class com.rsa.cryptoj.o.nc, array length: -1, nRefs: 1, depth: 1, bytes: 72, ex: n\/a\njava.security.UnrecoverableKeyException: Rejected by the jceks.key.serialFilter or jdk.serialFilter property\n        at com.sun.crypto.provider.KeyProtector.unseal(KeyProtector.java:352)\n        at com.sun.crypto.provider.JceKeyStore.engineGetKey(JceKeyStore.java:136)\n        at java.security.KeyStoreSpi.engineGetEntry(KeyStoreSpi.java:473)\n        at java.security.KeyStore.getEntry(KeyStore.java:1521)\n        at com.documentum.web.formext.session.TrustedAuthenticatorUtils.getSecretKey(Unknown Source)\n        at com.documentum.web.formext.session.TrustedAuthenticatorUtils.encryptByDES(Unknown Source)\n        at com.documentum.web.formext.session.TrustedAuthenticatorTool.main(TrustedAuthenticatorTool.java:63)\n[weblogic@wls_01 work]$\n[weblogic@wls_01 work]$ # Adding com.rsa.cryptoj.o.nc to the allowed list\n[weblogic@wls_01 work]$ java -Djceks.key.serialFilter='com.rsa.cryptoj.o.nc;java.lang.Enum;java.security.KeyRep;java.security.KeyRep$Type;javax.crypto.spec.SecretKeySpec;!*' -classpath \"${enc_classpath}\" com.documentum.web.formext.session.TrustedAuthenticatorTool \"MyP4ssw0rd\"\nAug 27, 2019 12:06:14 PM java.io.ObjectInputStream filterCheck\nINFO: ObjectInputFilter REJECTED: class com.rsa.jcm.f.di, array length: -1, nRefs: 3, depth: 2, bytes: 141, ex: n\/a\njava.security.UnrecoverableKeyException: Rejected by the jceks.key.serialFilter or jdk.serialFilter property\n        at com.sun.crypto.provider.KeyProtector.unseal(KeyProtector.java:352)\n        at com.sun.crypto.provider.JceKeyStore.engineGetKey(JceKeyStore.java:136)\n        at java.security.KeyStoreSpi.engineGetEntry(KeyStoreSpi.java:473)\n        at java.security.KeyStore.getEntry(KeyStore.java:1521)\n        at com.documentum.web.formext.session.TrustedAuthenticatorUtils.getSecretKey(Unknown Source)\n        at com.documentum.web.formext.session.TrustedAuthenticatorUtils.encryptByDES(Unknown Source)\n        at com.documentum.web.formext.session.TrustedAuthenticatorTool.main(TrustedAuthenticatorTool.java:63)\n[weblogic@wls_01 work]$\n[weblogic@wls_01 work]$ # Adding com.rsa.jcm.f.* + com.rsa.cryptoj.o.nc to the allowed list\n[weblogic@wls_01 work]$ java -Djceks.key.serialFilter='com.rsa.jcm.f.*;com.rsa.cryptoj.o.nc;java.lang.Enum;java.security.KeyRep;java.security.KeyRep$Type;javax.crypto.spec.SecretKeySpec;!*' -classpath \"${enc_classpath}\" com.documentum.web.formext.session.TrustedAuthenticatorTool \"MyP4ssw0rd\"\nEncrypted: [4Fc6kvmUc9cCSQXUqGkp+A==], Decrypted: [MyP4ssw0rd]\n[weblogic@wls_01 work]$<\/pre>\n<p>&nbsp;<\/p>\n<p>So as you can see above, to encrypt passwords for WebTop 6.8 using a JDK 8u171+, you will need to add both &#8216;<em>com.rsa.cryptoj.o.nc<\/em>&#8216; and &#8216;<em>com.rsa.jcm.f.*<\/em>&#8216; in the allowed list. There is a wildcard for the JCM one because it will require several classes from this package.<\/p>\n<p>The above was for the encryption of the password. That&#8217;s fine but obviously, when you will deploy WebTop, it will need to decrypt these passwords at some point&#8230; So you will also need to put the same JVM parameter for the process of your Application Server (for the Managed Server&#8217;s process in WebLogic):<\/p>\n<pre class=\"brush: bash; gutter: false; first-line: 1\">-Djceks.key.serialFilter='com.rsa.jcm.f.*;com.rsa.cryptoj.o.nc;java.lang.Enum;java.security.KeyRep;java.security.KeyRep$Type;javax.crypto.spec.SecretKeySpec;!*'<\/pre>\n<p>&nbsp;<\/p>\n<p>You can change the order of the classes in the list, it just needs to be before the &#8216;<em>!*<\/em>&#8216; section because everything after that is ignored.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recently, we had a project to modernize a little bit a pretty old Documentum installation. As part of this project, there were a refresh of the Application Server hosting a WebTop 6.8. In this blog, I will be talking about an issue that we faced in encryption &amp; decryption of passwords in the refresh environment.&hellip;&nbsp;<\/p>\n","protected":false},"author":20,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","neve_meta_reading_time":"","_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[4134,4135,4179],"tags":[869,214,1627],"class_list":["post-12760","post","type-post","status-publish","format-standard","hentry","category-application-server","category-digitalization","category-documentum","tag-da","tag-java","tag-jdk"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.4 (Yoast SEO v28.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Documentum - Encryption\/Decryption of WebTop 6.8 passwords &#039;REJECTED&#039; with recent JDK - dbi services | 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-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Documentum - Encryption\/Decryption of WebTop 6.8 passwords &#039;REJECTED&#039; with recent JDK\" \/>\n<meta property=\"og:description\" content=\"Recently, we had a project to modernize a little bit a pretty old Documentum installation. As part of this project, there were a refresh of the Application Server hosting a WebTop 6.8. In this blog, I will be talking about an issue that we faced in encryption &amp; decryption of passwords in the refresh environment.&hellip;&nbsp;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/documentum-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi services | Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/dbiservices\/\" \/>\n<meta property=\"article:published_time\" content=\"2019-08-31T06:00:44+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:site\" content=\"@dbiservices\" \/>\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=\"7 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-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/documentum-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\\\/\"},\"author\":{\"name\":\"Morgan Patou\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/80b23b8d61648c45dd30be73b6b6979d\"},\"headline\":\"Documentum &#8211; Encryption\\\/Decryption of WebTop 6.8 passwords &#8216;REJECTED&#8217; with recent JDK\",\"datePublished\":\"2019-08-31T06:00:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/documentum-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\\\/\"},\"wordCount\":652,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#organization\"},\"keywords\":[\"DA\",\"Java\",\"jdk\"],\"articleSection\":[\"Application Server\",\"Digitalization\",\"Documentum\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/documentum-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/documentum-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/documentum-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\\\/\",\"name\":\"Documentum - Encryption\\\/Decryption of WebTop 6.8 passwords 'REJECTED' with recent JDK - dbi services | Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"datePublished\":\"2019-08-31T06:00:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/documentum-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/documentum-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/documentum-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Documentum &#8211; Encryption\\\/Decryption of WebTop 6.8 passwords &#8216;REJECTED&#8217; with recent JDK\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi services Blog\",\"description\":\"#BeSharing\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#organization\"},\"alternateName\":\"dbi Blog\",\"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\":\"Organization\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#organization\",\"name\":\"dbi services\",\"alternateName\":\"dbi\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/dbi-services-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/dbi-services-logo.png\",\"width\":512,\"height\":512,\"caption\":\"dbi services\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/dbiservices\\\/\",\"https:\\\/\\\/x.com\\\/dbiservices\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/dbi-services\\\/\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/dbiservices\"],\"description\":\"Swiss IT consulting and services company specialised in efficient data infrastructures and platforms: databases, application servers, cloud, DevOps, digitalization, analytics, data quality and monitoring. Headquartered in Del\u00e9mont with offices in Nyon, Basel, Bern and Zurich.\",\"email\":\"info@dbi-services.com\",\"telephone\":\"+41 32 422 96 00\",\"legalName\":\"dbi services SA\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/80b23b8d61648c45dd30be73b6b6979d\",\"name\":\"Morgan Patou\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/MOP_web-min-scaled.jpg\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/MOP_web-min-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/MOP_web-min-scaled.jpg\",\"caption\":\"Morgan Patou\"},\"description\":\"Morgan Patou has over 15 years of experience building and deploying Java\\\/J2EE applications. He specializes in Enterprise Content Management (ECM) solutions such as Alfresco and Documentum, covering open-source (Apache, OpenLDAP, Kerberos) and proprietary (WebLogic) technologies, with deep expertise in business requirement analysis, ECM architecture, and high-availability infrastructure for mission-critical environments. He oversees knowledge management and technology direction for the ECM practice. He holds Alfresco Content Services Certified Administrator (ACSCA) and Certified Engineer (ACSCE) credentials, plus an Engineering degree in Computer Science from ENSISA Mulhouse. His industry experience covers the public sector, IT, financial services\\\/banking, and pharmaceutical industries.\",\"sameAs\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/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 - Encryption\/Decryption of WebTop 6.8 passwords 'REJECTED' with recent JDK - dbi services | 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-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\/","og_locale":"en_US","og_type":"article","og_title":"Documentum - Encryption\/Decryption of WebTop 6.8 passwords 'REJECTED' with recent JDK","og_description":"Recently, we had a project to modernize a little bit a pretty old Documentum installation. As part of this project, there were a refresh of the Application Server hosting a WebTop 6.8. In this blog, I will be talking about an issue that we faced in encryption &amp; decryption of passwords in the refresh environment.&hellip;&nbsp;","og_url":"https:\/\/www.dbi-services.com\/blog\/documentum-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\/","og_site_name":"dbi services | Blog","article_publisher":"https:\/\/www.facebook.com\/dbiservices\/","article_published_time":"2019-08-31T06:00:44+00:00","author":"Morgan Patou","twitter_card":"summary_large_image","twitter_creator":"@MorganPatou","twitter_site":"@dbiservices","twitter_misc":{"Written by":"Morgan Patou","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/documentum-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/documentum-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\/"},"author":{"name":"Morgan Patou","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/80b23b8d61648c45dd30be73b6b6979d"},"headline":"Documentum &#8211; Encryption\/Decryption of WebTop 6.8 passwords &#8216;REJECTED&#8217; with recent JDK","datePublished":"2019-08-31T06:00:44+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/documentum-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\/"},"wordCount":652,"commentCount":0,"publisher":{"@id":"https:\/\/www.dbi-services.com\/blog\/#organization"},"keywords":["DA","Java","jdk"],"articleSection":["Application Server","Digitalization","Documentum"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/documentum-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/documentum-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\/","url":"https:\/\/www.dbi-services.com\/blog\/documentum-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\/","name":"Documentum - Encryption\/Decryption of WebTop 6.8 passwords 'REJECTED' with recent JDK - dbi services | Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2019-08-31T06:00:44+00:00","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/documentum-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/documentum-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/documentum-encryption-decryption-of-webtop-6-8-passwords-rejected-with-recent-jdk\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Documentum &#8211; Encryption\/Decryption of WebTop 6.8 passwords &#8216;REJECTED&#8217; with recent JDK"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi services Blog","description":"#BeSharing","publisher":{"@id":"https:\/\/www.dbi-services.com\/blog\/#organization"},"alternateName":"dbi Blog","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":"Organization","@id":"https:\/\/www.dbi-services.com\/blog\/#organization","name":"dbi services","alternateName":"dbi","url":"https:\/\/www.dbi-services.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/09\/dbi-services-logo.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/09\/dbi-services-logo.png","width":512,"height":512,"caption":"dbi services"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/dbiservices\/","https:\/\/x.com\/dbiservices","https:\/\/www.linkedin.com\/company\/dbi-services\/","https:\/\/www.youtube.com\/user\/dbiservices"],"description":"Swiss IT consulting and services company specialised in efficient data infrastructures and platforms: databases, application servers, cloud, DevOps, digitalization, analytics, data quality and monitoring. Headquartered in Del\u00e9mont with offices in Nyon, Basel, Bern and Zurich.","email":"info@dbi-services.com","telephone":"+41 32 422 96 00","legalName":"dbi services SA"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/80b23b8d61648c45dd30be73b6b6979d","name":"Morgan Patou","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/08\/MOP_web-min-scaled.jpg","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/08\/MOP_web-min-scaled.jpg","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/08\/MOP_web-min-scaled.jpg","caption":"Morgan Patou"},"description":"Morgan Patou has over 15 years of experience building and deploying Java\/J2EE applications. He specializes in Enterprise Content Management (ECM) solutions such as Alfresco and Documentum, covering open-source (Apache, OpenLDAP, Kerberos) and proprietary (WebLogic) technologies, with deep expertise in business requirement analysis, ECM architecture, and high-availability infrastructure for mission-critical environments. He oversees knowledge management and technology direction for the ECM practice. He holds Alfresco Content Services Certified Administrator (ACSCA) and Certified Engineer (ACSCE) credentials, plus an Engineering degree in Computer Science from ENSISA Mulhouse. His industry experience covers the public sector, IT, financial services\/banking, and pharmaceutical industries.","sameAs":["https:\/\/www.dbi-services.com\/blog\/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\/12760","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=12760"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/12760\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=12760"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=12760"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=12760"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}