{"id":1910,"date":"2024-02-19T13:46:57","date_gmt":"2024-02-19T18:46:57","guid":{"rendered":"https:\/\/enterpriseadmins.org\/blog\/?p=1910"},"modified":"2024-02-19T13:46:57","modified_gmt":"2024-02-19T18:46:57","slug":"cannot-configure-identity-source-due-to-type-or-value-exists","status":"publish","type":"post","link":"https:\/\/enterpriseadmins.org\/blog\/virtualization\/cannot-configure-identity-source-due-to-type-or-value-exists\/","title":{"rendered":"Cannot configure identity source due to Type or value exists."},"content":{"rendered":"\n<p>On vCenter Server 7.0u3p (aka 7.0.3.01800), I recently experienced an error &#8220;Cannot configure identity source due to Type or value exists.&#8221; when configuring Active Directory over LDAPS.  The issue was caused by a duplicate certificate, but that fact was not immediately obvious.  <br><br>To configured AD over LDAPS we must provide the certificate used by the domain controller.  To obtain this certificate, the following KB article: <a href=\"https:\/\/kb.vmware.com\/s\/article\/2041378\">https:\/\/kb.vmware.com\/s\/article\/2041378<\/a> shows how to use <code>openssl s_client<\/code> to obtain the certificate on port 636 (LDAPS).  Obtaining the certificates from each domain controller and presenting both to the &#8220;Edit Identity Source&#8221; screen (as shown below):<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2024\/02\/image.png\"><img loading=\"lazy\" decoding=\"async\" width=\"464\" height=\"156\" src=\"https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2024\/02\/image.png\" alt=\"\" class=\"wp-image-1918\" style=\"width:670px;height:auto\" srcset=\"https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2024\/02\/image.png 464w, https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2024\/02\/image-300x101.png 300w\" sizes=\"auto, (max-width: 464px) 100vw, 464px\" \/><\/a><\/figure>\n\n\n\n<p>Would result in the following error:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2024\/02\/image-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"453\" height=\"125\" src=\"https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2024\/02\/image-1.png\" alt=\"\" class=\"wp-image-1919\" srcset=\"https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2024\/02\/image-1.png 453w, https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2024\/02\/image-1-300x83.png 300w\" sizes=\"auto, (max-width: 453px) 100vw, 453px\" \/><\/a><\/figure>\n\n\n\n<p>Tailing the <code>\/storage\/log\/vmware\/vmdird\/vmdird-syslog.log<\/code> file, we noticed an entry when saving the above configuration similar to:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>2024-01-23T13:39:26.847703+00:00 err vmdird  t@140567635818240: InternalAddEntry: VdirExecutePostAddCommitPlugins - code(9619)\r\n2024-01-23T13:39:26.848501+00:00 err vmdird  t@140567635818240: VmDirSendLdapResult: Request (Add), Error (LDAP_TYPE_OR_VALUE_EXISTS(20)), Message (Invalid or duplicate (userCertificate)), (0) socket (127.0.0.1)<\/code><\/pre>\n\n\n\n<p>The <code>Invalid or duplicate (userCertificate)<\/code> part of this error was interesting.  After checking with the directory services folks, they confirmed they had placed the same certificate on multiple domain controllers, listing each domain controller name\/IP in the subject alternative name (subjectAltName) field.  When using <code>openssl s_client<\/code> to obtain the certificates, each DC returned the exact same value, which would explain a duplicate.<\/p>\n\n\n\n<p>To work around this issue, we left both servers listed in the &#8220;Edit Identity Source&#8221; screen, but only provided a single certificate file.  This change saved successfully and didn&#8217;t result in the &#8216;Type or value exists&#8217; error message.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>On vCenter Server 7.0u3p (aka 7.0.3.01800), I recently experienced an error &#8220;Cannot configure identity source due to Type or value exists.&#8221; when configuring Active Directory over LDAPS. The issue was caused by a duplicate certificate, but that fact was not &hellip; <a href=\"https:\/\/enterpriseadmins.org\/blog\/virtualization\/cannot-configure-identity-source-due-to-type-or-value-exists\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[9,4],"tags":[],"class_list":["post-1910","post","type-post","status-publish","format-standard","hentry","category-lab-infrastructure","category-virtualization"],"_links":{"self":[{"href":"https:\/\/enterpriseadmins.org\/blog\/wp-json\/wp\/v2\/posts\/1910","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/enterpriseadmins.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/enterpriseadmins.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/enterpriseadmins.org\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/enterpriseadmins.org\/blog\/wp-json\/wp\/v2\/comments?post=1910"}],"version-history":[{"count":2,"href":"https:\/\/enterpriseadmins.org\/blog\/wp-json\/wp\/v2\/posts\/1910\/revisions"}],"predecessor-version":[{"id":1920,"href":"https:\/\/enterpriseadmins.org\/blog\/wp-json\/wp\/v2\/posts\/1910\/revisions\/1920"}],"wp:attachment":[{"href":"https:\/\/enterpriseadmins.org\/blog\/wp-json\/wp\/v2\/media?parent=1910"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/enterpriseadmins.org\/blog\/wp-json\/wp\/v2\/categories?post=1910"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/enterpriseadmins.org\/blog\/wp-json\/wp\/v2\/tags?post=1910"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}