{"id":4452,"date":"2015-03-17T12:53:59","date_gmt":"2015-03-17T11:53:59","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/use-a-wallet-to-encrypt-oracle-client-passwords\/"},"modified":"2015-03-17T12:53:59","modified_gmt":"2015-03-17T11:53:59","slug":"use-a-wallet-to-encrypt-oracle-client-passwords","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/use-a-wallet-to-encrypt-oracle-client-passwords\/","title":{"rendered":"Use a wallet to encrypt Oracle client passwords"},"content":{"rendered":"<p>In our more and more connected world, security is a big concern. Storing password is a very important topic because if a machine is compromised, we can assume that any password stored in clear text are also compromised. I had the question from a customer how can we encrypt the password in our application and monitoring scripts? In this blog we will discuss one solution: using the Oracle client wallet<\/p>\n<p>We find passwords for Oracle users in configuration files more often than we want. And in general, the configuration itself is a simple clear text file whitout encryption and we rely on file system permissions to deny read access to the file for other users.<\/p>\n<p>The thing is that anyone having access to the user who owns the file can just open the file and grab the password to connect directly to the database from another machine. Our objective on this blog is to remove the clear text password from the script or from a configuration file.<\/p>\n<p>This features doesn&#8217;t require an extra-cost option. You can use it without restriction on any Oracle editions (see note Using The Secure External Password Store &#8211; Doc ID 340559.1). This technique works for SQL Plus and JDBC connections so we should definitively use it more.<\/p>\n<h3>What is a wallet?<\/h3>\n<p>From the <a href=\"http:\/\/docs.oracle.com\/cd\/E11882_01\/network.112\/e36292\/authentication.htm#DBSEG99815\">Oracle documentation<\/a>, a wallet is a secure container that stores authentication and signing credentials. It means that a wallet can store user\/password (authentication credentials) or certificates (signing and client authentication).<br \/>\nPhysically, a wallet is a directory on a file system containing two files:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">oracle@vmtestoel6:\/home\/oracle\/ [DB121] ll\ntotal 16\ndrwxr-xr-x 3 oracle oinstall 4096  6 janv.  2014 oradiag_oracle\n-rw-r--r-- 1 oracle oinstall  248 23 janv. 09:11 sqlnet.ora\n-rw-r--r-- 1 oracle oinstall 3007 23 janv. 09:08 tnsnames.ora\ndrwx------ 2 oracle oinstall 4096 23 janv. 09:05  14:15 wallets\noracle@vmtestoel6:\/home\/oracle\/ [DB121] ll wallets\/\ntotal 8\n-rw------- 1 oracle oinstall 3949 23 janv. 09:05 cwallet.sso\n-rw------- 1 oracle oinstall 3872 23 janv. 09:05 ewallet.p12<\/pre>\n<p>Both files are only read\/write for the current user and are not readable. You can try to use cat or strings command in Linux but you won&#8217;t be able to get a clear text password.<\/p>\n<h3>How to create a wallet?<\/h3>\n<p>Now we know what is a wallet, the main question is how can we create it?<br \/>\nIt&#8217;s very easy, Oracle provides the command <strong>mkstore<\/strong> to manipulate wallets. Examples are done using a Linux environment but it also works in Windows. You don&#8217;t need to create the directory before running the command, you just have to choose where the wallet will be stored.<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">oracle@vmtestoel6:\/home\/oracle\/ [DB121] mkstore -wrl \/home\/oracle\/wallets -create\nOracle Secret Store Tool : Version 12.1.0.1\nCopyright (c) 2004, 2012, Oracle and\/or its affiliates. All rights reserved.\n\nEnter password:       \n\nPKI-01002: Invalid password:Passwords must have a minimum length of eight characters and contain alphabetic characters combined with numbers or special characters. \nEnter password:               \n\nEnter password again:               \n\noracle@vmtestoel6:\/home\/oracle\/ [DB121]<\/pre>\n<p>In that example, I stored the wallet in \/home\/oracle. The command asks for a password twice and the good thing is that the tool will force a &#8220;good enough&#8221; password with 8 characters minimum and at least one numeric or special character. So the famous &#8220;password&#8221; is not possible here.<\/p>\n<h3>Storing credentials in a wallet and use them<\/h3>\n<p>The same command allows us to store database credentials in the newly created wallet. When creating a credential we need to provide the TNS entry (db_alias in the documentation) and the username. Then the command asks for the user password twice and the wallet password.<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">oracle@vmtestoel6:\/home\/oracle\/ [DB121] mkstore -wrl \/home\/oracle\/wallets\/ -createCredential DB121 NIJ\nOracle Secret Store Tool : Version 12.1.0.1\nCopyright (c) 2004, 2012, Oracle and\/or its affiliates. All rights reserved.\n\nYour secret\/Password is missing in the command line \nEnter your secret\/Password:       \n\nRe-enter your secret\/Password:       \n\nEnter wallet password:           \n\nCreate credential oracle.security.client.connect_string1<\/pre>\n<p>Caution, the command doesn&#8217;t validate the parameters. So neither the TNS entry neither the couple user\/password is checked. If you made a mistake here, you will probably receive an error like &#8220;ORA-01017: invalid username\/password; logon denied&#8221;<\/p>\n<p>In order to use the wallet, we need to adapt the SQL*Net configuration. At this stage, the system doesn&#8217;t know that there is a wallet and where it&#8217;s located. We have to edit the sqlnet.ora file (located in our TNS_ADMIN directory) to add the following:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">WALLET_LOCATION =\n   (SOURCE =\n     (METHOD = FILE)\n     (METHOD_DATA =\n       (DIRECTORY = \/home\/oracle\/wallets)\n     )\n    )\n\nSQLNET.WALLET_OVERRIDE = TRUE<\/pre>\n<p>We can use several wallets on the same system as we have the ability to have several sqlnet.ora files. The script has to correctly set the TNS_ADMIN variable to get the right wallet used. To use the credential from the wallet, we just need them to start our client using the syntax \/@TNS_ENTRY<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">oracle@vmtestoel6:\/home\/oracle\/ [DB121] tnsping DB121\nTNS Ping Utility for Linux: Version 12.1.0.1.0 - Production on 17-MAR-2015 15:08:44\nCopyright (c) 1997, 2013, Oracle.  All rights reserved.\n\nUsed parameter files: \/home\/oracle\/sqlnet.ora\n\nUsed TNSNAMES adapter to resolve the alias\nAttempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = vmtestoel6)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = DB121_SITE1)))\nOK (0 msec)\noracle@vmtestoel6:\/home\/oracle\/ [DB121] sqlplus \/@DB121\n\nSQL*Plus: Release 12.1.0.1.0 Production on Tue Mar 17 15:10:17 2015\n\nCopyright (c) 1982, 2013, Oracle.  All rights reserved.\n\nLast Successful login time: Tue Mar 17 2015 15:08:08 +01:00\n\nConnected to:\nOracle Database 12c Release 12.1.0.1.0 - 64bit Production\n\nSQL&gt; show user\nUSER is \"NIJ\"\nSQL&gt; exit\nDisconnected from Oracle Database 12c Release 12.1.0.1.0 - 64bit Production<\/pre>\n<p>You have probably noticed that we didn&#8217;t had to specify the password AND the username. The key is the TNS entry itself, so it&#8217;s a good idea to create dedicated TNS entry in tnsnames.ora if you have several distinct users that need to have the password secured in the wallet.<\/p>\n<p>There are other useful commands when using a wallet to manage the credentials:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">Change password\/username: \nmkstore -wrl wallet_location -modifyCredential dbase_alias username\n\nDelete a credential: \nmkstore -wrl wallet_location -deleteCredential db_alias\n\nList the credentials: \nmkstore -wrl wallet_location -listCredential<\/pre>\n<h3>Conclusion<\/h3>\n<p>Using a wallet doesn&#8217;t prevent people from accessing to the database. Anyone having access to the wallet can use the stored credentials without a password. However the passwords are stored in an encrypted way and we need the wallet password to change or delete credentials. So we now have control of password knowledge, if we don&#8217;t share the password we know that the team has to start the script only from the client where the wallet is. We need to stricly control who can access the wallet but it was the same case for the uncrypted way!<\/p>\n<p>I like using this solution when we need to run some monitoring scripts. A dedicated TNS entry is created for a dedicated read user in the database and the password is stored in a secure way.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In our more and more connected world, security is a big concern. Storing password is a very important topic because if a machine is compromised, we can assume that any password stored in clear text are also compromised. I had the question from a customer how can we encrypt the password in our application and [&hellip;]<\/p>\n","protected":false},"author":16,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[198],"tags":[447,96,545,25],"type_dbi":[],"class_list":["post-4452","post","type-post","status-publish","format-standard","hentry","category-database-management","tag-encryption","tag-oracle","tag-oracle-wallet","tag-security"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Use a wallet to encrypt Oracle client passwords - dbi Blog<\/title>\n<meta name=\"description\" content=\"Blog post about password encryption using Oracle wallets. This article explains how to encrypt password in an application or monitoring script.\" \/>\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\/use-a-wallet-to-encrypt-oracle-client-passwords\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Use a wallet to encrypt Oracle client passwords\" \/>\n<meta property=\"og:description\" content=\"Blog post about password encryption using Oracle wallets. This article explains how to encrypt password in an application or monitoring script.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/use-a-wallet-to-encrypt-oracle-client-passwords\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-03-17T11:53:59+00:00\" \/>\n<meta name=\"author\" content=\"Nicolas Jardot\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nicolas Jardot\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 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\\\/use-a-wallet-to-encrypt-oracle-client-passwords\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/use-a-wallet-to-encrypt-oracle-client-passwords\\\/\"},\"author\":{\"name\":\"Nicolas Jardot\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/0aa30f52275a132e9cc2c387708f84ed\"},\"headline\":\"Use a wallet to encrypt Oracle client passwords\",\"datePublished\":\"2015-03-17T11:53:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/use-a-wallet-to-encrypt-oracle-client-passwords\\\/\"},\"wordCount\":827,\"commentCount\":0,\"keywords\":[\"encryption\",\"Oracle\",\"Oracle wallet\",\"Security\"],\"articleSection\":[\"Database management\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/use-a-wallet-to-encrypt-oracle-client-passwords\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/use-a-wallet-to-encrypt-oracle-client-passwords\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/use-a-wallet-to-encrypt-oracle-client-passwords\\\/\",\"name\":\"Use a wallet to encrypt Oracle client passwords - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"datePublished\":\"2015-03-17T11:53:59+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/0aa30f52275a132e9cc2c387708f84ed\"},\"description\":\"Blog post about password encryption using Oracle wallets. This article explains how to encrypt password in an application or monitoring script.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/use-a-wallet-to-encrypt-oracle-client-passwords\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/use-a-wallet-to-encrypt-oracle-client-passwords\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/use-a-wallet-to-encrypt-oracle-client-passwords\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Use a wallet to encrypt Oracle client passwords\"}]},{\"@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\\\/0aa30f52275a132e9cc2c387708f84ed\",\"name\":\"Nicolas Jardot\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/112c023c253239221e61a24d59db49d57b354e10da6e7c074cfff50e1b5a6dd8?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/112c023c253239221e61a24d59db49d57b354e10da6e7c074cfff50e1b5a6dd8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/112c023c253239221e61a24d59db49d57b354e10da6e7c074cfff50e1b5a6dd8?s=96&d=mm&r=g\",\"caption\":\"Nicolas Jardot\"},\"description\":\"Nicolas Jardot is a senior consultant with more than nine years of experience in Oracle database infrastructure management and optimization. In addition to standard operations, he is specialized in the performance optimization and tuning of Oracle databases. He also has a strong knowledge of SQL language and has developed several PL\\\/SQL packages to simplify the administration of database applications. He also maintains the DMK_SQL package of dbi services\u2019 Database Management Kit. Nicolas is Oracle Certified Professional 11g\\\/12c and Oracle Certified Expert Performance Management and Tuning 12c and holds speeches around Oracle technologies in various conferences including Oracle OpenWorld and UKOUG. Over time, Nicolas has become increasingly interested in Cloud and automation technologies. He has been working for over two years on building and maintaining applications in AWS and operates a CI\\\/CD pipeline to provision and configure the infrastructure. Nicolas is also certified AWS Solution Architect Professional. Prior to dbi services, Nicolas Jardot was C++ developer on an application virtualization solution, which gave him a solid experience in virtualization and centralization of applications. Nicolas Jardot holds an Engineer\u2019s Degree in Computer Science from the University of Technology of Belfort-Montb\u00e9liard (F). His branch-related experience covers Pharma, Public Sector, Health, Real Estate, Automotive, etc.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/nicolas-jardot-762b9535\\\/\"],\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/nicolas-jardot\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Use a wallet to encrypt Oracle client passwords - dbi Blog","description":"Blog post about password encryption using Oracle wallets. This article explains how to encrypt password in an application or monitoring script.","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\/use-a-wallet-to-encrypt-oracle-client-passwords\/","og_locale":"en_US","og_type":"article","og_title":"Use a wallet to encrypt Oracle client passwords","og_description":"Blog post about password encryption using Oracle wallets. This article explains how to encrypt password in an application or monitoring script.","og_url":"https:\/\/www.dbi-services.com\/blog\/use-a-wallet-to-encrypt-oracle-client-passwords\/","og_site_name":"dbi Blog","article_published_time":"2015-03-17T11:53:59+00:00","author":"Nicolas Jardot","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Nicolas Jardot","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/use-a-wallet-to-encrypt-oracle-client-passwords\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/use-a-wallet-to-encrypt-oracle-client-passwords\/"},"author":{"name":"Nicolas Jardot","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/0aa30f52275a132e9cc2c387708f84ed"},"headline":"Use a wallet to encrypt Oracle client passwords","datePublished":"2015-03-17T11:53:59+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/use-a-wallet-to-encrypt-oracle-client-passwords\/"},"wordCount":827,"commentCount":0,"keywords":["encryption","Oracle","Oracle wallet","Security"],"articleSection":["Database management"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/use-a-wallet-to-encrypt-oracle-client-passwords\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/use-a-wallet-to-encrypt-oracle-client-passwords\/","url":"https:\/\/www.dbi-services.com\/blog\/use-a-wallet-to-encrypt-oracle-client-passwords\/","name":"Use a wallet to encrypt Oracle client passwords - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2015-03-17T11:53:59+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/0aa30f52275a132e9cc2c387708f84ed"},"description":"Blog post about password encryption using Oracle wallets. This article explains how to encrypt password in an application or monitoring script.","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/use-a-wallet-to-encrypt-oracle-client-passwords\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/use-a-wallet-to-encrypt-oracle-client-passwords\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/use-a-wallet-to-encrypt-oracle-client-passwords\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Use a wallet to encrypt Oracle client passwords"}]},{"@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\/0aa30f52275a132e9cc2c387708f84ed","name":"Nicolas Jardot","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/112c023c253239221e61a24d59db49d57b354e10da6e7c074cfff50e1b5a6dd8?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/112c023c253239221e61a24d59db49d57b354e10da6e7c074cfff50e1b5a6dd8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/112c023c253239221e61a24d59db49d57b354e10da6e7c074cfff50e1b5a6dd8?s=96&d=mm&r=g","caption":"Nicolas Jardot"},"description":"Nicolas Jardot is a senior consultant with more than nine years of experience in Oracle database infrastructure management and optimization. In addition to standard operations, he is specialized in the performance optimization and tuning of Oracle databases. He also has a strong knowledge of SQL language and has developed several PL\/SQL packages to simplify the administration of database applications. He also maintains the DMK_SQL package of dbi services\u2019 Database Management Kit. Nicolas is Oracle Certified Professional 11g\/12c and Oracle Certified Expert Performance Management and Tuning 12c and holds speeches around Oracle technologies in various conferences including Oracle OpenWorld and UKOUG. Over time, Nicolas has become increasingly interested in Cloud and automation technologies. He has been working for over two years on building and maintaining applications in AWS and operates a CI\/CD pipeline to provision and configure the infrastructure. Nicolas is also certified AWS Solution Architect Professional. Prior to dbi services, Nicolas Jardot was C++ developer on an application virtualization solution, which gave him a solid experience in virtualization and centralization of applications. Nicolas Jardot holds an Engineer\u2019s Degree in Computer Science from the University of Technology of Belfort-Montb\u00e9liard (F). His branch-related experience covers Pharma, Public Sector, Health, Real Estate, Automotive, etc.","sameAs":["https:\/\/www.linkedin.com\/in\/nicolas-jardot-762b9535\/"],"url":"https:\/\/www.dbi-services.com\/blog\/author\/nicolas-jardot\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/4452","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\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=4452"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/4452\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=4452"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=4452"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=4452"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=4452"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}