{"id":14907,"date":"2023-09-25T12:49:01","date_gmt":"2023-09-25T19:49:01","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=14907"},"modified":"2023-10-18T03:04:29","modified_gmt":"2023-10-18T10:04:29","slug":"securing-couchbase-with-tls-certificates-part-2","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/","title":{"rendered":"Securing Communication with TLS Certificates: A Definitive Guide for Couchbase Server (Part 2 of 3)"},"content":{"rendered":"<p><span style=\"font-weight: 400\">In part 1 of this 3 part series we learned about <a href=\"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-1\/\">the components of TLS<\/a>, in part 2 we will see how the TLS components interact with each other.\u00a0 In <a href=\"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-3\/\">Part 3<\/a> of this guide, we&#8217;ll see how the components are used in Couchbase Server.<\/span><\/p>\n<h2>Certificate Signing Process<\/h2>\n<p><span style=\"font-weight: 400\">Whether you are managing your own in-house Certificate Authority, or using an established commercial vendor such as DigiCert, GlobalSign or GoDaddy the first stage is to generate a Certificate Signing Request. Any time a new certificate or a replacement certificate needs to be issued, the entity requesting the certificate generates a key pair consisting of a private key and a public key themselves, typically using the OpenSSL package. In a Couchbase Server Cluster the entity would be an individual Couchbase Server Node. The private key is kept securely by the entity, while the public key is included in a certificate signing request (CSR) which is sent to the CA. Typically this is performed with an intermediate CA not a root CA.\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-14909 aligncenter\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/09\/image_2023-09-25_133711822-1024x540.png\" alt=\"\" width=\"900\" height=\"475\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133711822-1024x540.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133711822-300x158.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133711822-768x405.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133711822-1536x809.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133711822-1320x696.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133711822.png 1983w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p><span style=\"font-weight: 400\">Upon receiving the CSR, the CA verifies the identity of the entity by employing various validation methods, such as domain validation or organization validation. Once the identity is confirmed, the CA generates a digital signature using its private key, which binds the entity&#8217;s public key with its identity information. This signed certificate is then returned to the entity.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Certificate Validation<\/span><\/h2>\n<p><span style=\"font-weight: 400\">To validate a certificate, the relying party (e.g., a web browser) needs to ensure that the certificate is genuine and issued by a trusted CA. This process involves a series of steps, including the following four stages.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Trust Anchor<\/span><\/h3>\n<h3 style=\"margin-bottom: 31.5938px\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-14910 alignright\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/09\/image_2023-09-25_133740385-1024x903.png\" alt=\"\" width=\"315\" height=\"278\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133740385-1024x903.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133740385-300x265.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133740385-768x677.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133740385.png 1092w\" sizes=\"auto, (max-width: 315px) 100vw, 315px\" \/><\/h3>\n<p><span style=\"font-weight: 400\">The relying party, for example a web browser, possesses a pre-installed set of trusted root certificates, also known as trust anchors. These certificates belong to well-known CAs and contain their public keys, this serves as the foundation of trust.<\/span><\/p>\n<p><span style=\"font-weight: 400\">When a client or server receives a certificate during the SSL\/TLS handshake, it checks if the certificate&#8217;s digital signature can be validated by any of the trust anchors installed in the system. If the certificate chain can be traced back to a trust anchor, the certificate is deemed genuine, and the TLS connection proceeds with confidence.\u00a0<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Certification Path<\/span><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-14911 alignright\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/09\/image_2023-09-25_133815995-1024x926.png\" alt=\"\" width=\"284\" height=\"257\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133815995-1024x926.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133815995-300x271.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133815995-768x694.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133815995.png 1033w\" sizes=\"auto, (max-width: 284px) 100vw, 284px\" \/><\/p>\n<p><span style=\"font-weight: 400\">When establishing a TLS encrypted connection the relying party (web browser) examines the certificate&#8217;s certification path, which includes a chain of certificates starting from the issued certificate and leading up to a trust anchor. Each certificate in the chain is signed by the subsequent certificate, ultimately reaching a trust anchor.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Signature Verification<\/span><\/h3>\n<p><span style=\"font-weight: 400\">The relying party (Web Browser) uses the public key of each certificate in the certification path to verify the digital signature of the next certificate. This process continues until the trust anchor is reached.<\/span><\/p>\n<p><span style=\"font-weight: 400\">The digital signature is a cryptographic value created by the CA using its private key, binding the certificate&#8217;s content to the CA&#8217;s identity. The client uses the CA&#8217;s public key to decrypt the digital signature, and if the decryption matches the certificate&#8217;s content, the signature is considered valid. This validation confirms that the certificate has not been tampered with and was indeed issued by the trusted CA.\u00a0<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Trust and Expiry Checks<\/span><\/h3>\n<p><span style=\"font-weight: 400\">The relying party checks if the trust anchor is included in its pre-installed trusted root certificates. It also verifies the expiration date of each certificate to ensure it is still valid.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-14912 aligncenter\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/09\/image_2023-09-25_133838529-1024x439.png\" alt=\"\" width=\"900\" height=\"386\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133838529-1024x439.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133838529-300x129.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133838529-768x330.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133838529-1536x659.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133838529-1320x567.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133838529.png 1892w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p><span style=\"font-weight: 400\"><br \/>\n<\/span><span style=\"font-weight: 400\">If the entire certification path is successfully validated, and the trust anchor is trusted, the relying party considers the certificate genuine and proceeds with the secure connection. With Couchbase Server 7.2.x this chain can be 10 certificates deep.<\/span><\/p>\n<p><span style=\"font-weight: 400\">In this example, the built-in trusted root certificate authorities in the web browser are just made up names, but you can look at an actual list. Firefox pre-authorized trusted CAs are <a href=\"https:\/\/wiki.mozilla.org\/CA\/Included_Certificates\">linked to from their wiki<\/a><\/span><span style=\"font-weight: 400\">. If your certificate is generated by a CA that isn\u2019t issued from one of the built-in trusted CAs, you will first need to add the CA\u2019s public certificate as a trusted entity to your Operating System and Browser before you will be able to use certificates issued by that CA.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Now we\u2019ve seen the components involved in TLS and how they work, in part 3 we&#8217;ll look at <a href=\"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-3\/\">how TLS works in Couchbase Server<\/a>.<\/span><\/p>\n<ul>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-1\/\">Part 1 &#8211; Securing Communication with TLS Certificates: A Definitive Guide for Couchbase Server<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>In part 1 of this 3 part series we learned about the components of TLS, in part 2 we will see how the TLS components interact with each other.\u00a0 In Part 3 of this guide, we&#8217;ll see how the components [&hellip;]<\/p>\n","protected":false},"author":1864,"featured_media":14908,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1814,1815,1813],"tags":[2001,2002,9262],"ppma_author":[8928],"class_list":["post-14907","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-design","category-best-practices-and-tutorials","category-security","tag-certificate-authority","tag-self-signed-certificate","tag-tls-encryption"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.7.1 (Yoast SEO v25.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Securing Communication with TLS Certificates: A Definitive Guide for Couchbase Server (Part 2 of 3) - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Whether you are managing your own in-house Certificate Authority, or using an established commercial vendor such as DigiCert, GlobalSign or GoDaddy the first stage is to generate a Certificate Signing Request.\" \/>\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.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Securing Communication with TLS Certificates: A Definitive Guide for Couchbase Server (Part 2 of 3)\" \/>\n<meta property=\"og:description\" content=\"Whether you are managing your own in-house Certificate Authority, or using an established commercial vendor such as DigiCert, GlobalSign or GoDaddy the first stage is to generate a Certificate Signing Request.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-09-25T19:49:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-10-18T10:04:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/09\/image_2023-09-25_133631038.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1870\" \/>\n\t<meta property=\"og:image:height\" content=\"931\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ian McCloy, Director Product Management\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ian McCloy, Director Product Management\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/\"},\"author\":{\"name\":\"Ian McCloy, Director Product Management, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/7e8c834bce5128ad6cd764cd1c4cea19\"},\"headline\":\"Securing Communication with TLS Certificates: A Definitive Guide for Couchbase Server (Part 2 of 3)\",\"datePublished\":\"2023-09-25T19:49:01+00:00\",\"dateModified\":\"2023-10-18T10:04:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/\"},\"wordCount\":735,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133631038.png\",\"keywords\":[\"Certificate Authority\",\"self signed certificate\",\"TLS encryption\"],\"articleSection\":[\"Application Design\",\"Best Practices and Tutorials\",\"Security\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/\",\"name\":\"Securing Communication with TLS Certificates: A Definitive Guide for Couchbase Server (Part 2 of 3) - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133631038.png\",\"datePublished\":\"2023-09-25T19:49:01+00:00\",\"dateModified\":\"2023-10-18T10:04:29+00:00\",\"description\":\"Whether you are managing your own in-house Certificate Authority, or using an established commercial vendor such as DigiCert, GlobalSign or GoDaddy the first stage is to generate a Certificate Signing Request.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133631038.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133631038.png\",\"width\":1870,\"height\":931},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Securing Communication with TLS Certificates: A Definitive Guide for Couchbase Server (Part 2 of 3)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/7e8c834bce5128ad6cd764cd1c4cea19\",\"name\":\"Ian McCloy, Director Product Management, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/97dd714a3242521ce9dcea0d96550c5f\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/41f65bee70b5e03e46ae996303a13060d366d405ecb235ff5493d4f1ac3a6f3d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/41f65bee70b5e03e46ae996303a13060d366d405ecb235ff5493d4f1ac3a6f3d?s=96&d=mm&r=g\",\"caption\":\"Ian McCloy, Director Product Management, Couchbase\"},\"description\":\"Ian McCloy is the Director of the Platform and Security Product Management Group for Couchbase and lives in the United Kingdom. His dedicated team is responsible for the Reliability, Availability, Serviceability and Security architecture of Couchbase Server and the SaaS Database, Capella. This team also own cloud-native platforms like the Couchbase Kubernetes Autonomous Operator. Ian has a vast range of experience as a Software Engineer, Technical Support Engineer, Quality Assurance Engineer and Systems Administrator. Ian has led global technical teams for the majority of his 20 year professional career and holds several patents in the areas of information security, virtualisation and hardware design. https:\/\/www.linkedin.com\/in\/ianmccloy\/\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/ianmccloy\/\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/ian-mccloycouchbase-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Securing Communication with TLS Certificates: A Definitive Guide for Couchbase Server (Part 2 of 3) - The Couchbase Blog","description":"Whether you are managing your own in-house Certificate Authority, or using an established commercial vendor such as DigiCert, GlobalSign or GoDaddy the first stage is to generate a Certificate Signing Request.","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.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/","og_locale":"en_US","og_type":"article","og_title":"Securing Communication with TLS Certificates: A Definitive Guide for Couchbase Server (Part 2 of 3)","og_description":"Whether you are managing your own in-house Certificate Authority, or using an established commercial vendor such as DigiCert, GlobalSign or GoDaddy the first stage is to generate a Certificate Signing Request.","og_url":"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/","og_site_name":"The Couchbase Blog","article_published_time":"2023-09-25T19:49:01+00:00","article_modified_time":"2023-10-18T10:04:29+00:00","og_image":[{"width":1870,"height":931,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/09\/image_2023-09-25_133631038.png","type":"image\/png"}],"author":"Ian McCloy, Director Product Management","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ian McCloy, Director Product Management","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/"},"author":{"name":"Ian McCloy, Director Product Management, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/7e8c834bce5128ad6cd764cd1c4cea19"},"headline":"Securing Communication with TLS Certificates: A Definitive Guide for Couchbase Server (Part 2 of 3)","datePublished":"2023-09-25T19:49:01+00:00","dateModified":"2023-10-18T10:04:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/"},"wordCount":735,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133631038.png","keywords":["Certificate Authority","self signed certificate","TLS encryption"],"articleSection":["Application Design","Best Practices and Tutorials","Security"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/","url":"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/","name":"Securing Communication with TLS Certificates: A Definitive Guide for Couchbase Server (Part 2 of 3) - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133631038.png","datePublished":"2023-09-25T19:49:01+00:00","dateModified":"2023-10-18T10:04:29+00:00","description":"Whether you are managing your own in-house Certificate Authority, or using an established commercial vendor such as DigiCert, GlobalSign or GoDaddy the first stage is to generate a Certificate Signing Request.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133631038.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/09\/image_2023-09-25_133631038.png","width":1870,"height":931},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/securing-couchbase-with-tls-certificates-part-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Securing Communication with TLS Certificates: A Definitive Guide for Couchbase Server (Part 2 of 3)"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/7e8c834bce5128ad6cd764cd1c4cea19","name":"Ian McCloy, Director Product Management, Couchbase","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/97dd714a3242521ce9dcea0d96550c5f","url":"https:\/\/secure.gravatar.com\/avatar\/41f65bee70b5e03e46ae996303a13060d366d405ecb235ff5493d4f1ac3a6f3d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/41f65bee70b5e03e46ae996303a13060d366d405ecb235ff5493d4f1ac3a6f3d?s=96&d=mm&r=g","caption":"Ian McCloy, Director Product Management, Couchbase"},"description":"Ian McCloy is the Director of the Platform and Security Product Management Group for Couchbase and lives in the United Kingdom. His dedicated team is responsible for the Reliability, Availability, Serviceability and Security architecture of Couchbase Server and the SaaS Database, Capella. This team also own cloud-native platforms like the Couchbase Kubernetes Autonomous Operator. Ian has a vast range of experience as a Software Engineer, Technical Support Engineer, Quality Assurance Engineer and Systems Administrator. Ian has led global technical teams for the majority of his 20 year professional career and holds several patents in the areas of information security, virtualisation and hardware design. https:\/\/www.linkedin.com\/in\/ianmccloy\/","sameAs":["https:\/\/www.linkedin.com\/in\/ianmccloy\/"],"url":"https:\/\/www.couchbase.com\/blog\/author\/ian-mccloycouchbase-com\/"}]}},"authors":[{"term_id":8928,"user_id":1864,"is_guest":0,"slug":"ian-mccloycouchbase-com","display_name":"Ian McCloy, Director Product Management","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/41f65bee70b5e03e46ae996303a13060d366d405ecb235ff5493d4f1ac3a6f3d?s=96&d=mm&r=g","author_category":"","last_name":"McCloy, Director Product Management","first_name":"Ian","job_title":"","user_url":"","description":"Ian McCloy is the Director of the Platform and Security Product Management Group for Couchbase and lives in the United Kingdom.  His dedicated team is responsible for the Reliability, Availability, Serviceability and Security architecture of Couchbase Server and the SaaS Database, Capella.  This team also own cloud-native platforms like the Couchbase Kubernetes Autonomous Operator.  Ian has a vast range of experience as a Software Engineer, Technical Support Engineer, Quality Assurance Engineer and Systems Administrator. Ian has led global technical teams for the majority of his 20 year professional career and holds several patents in the areas of information security, virtualisation and hardware design. https:\/\/www.linkedin.com\/in\/ianmccloy\/"}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/14907","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/1864"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=14907"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/14907\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/14908"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=14907"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=14907"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=14907"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=14907"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}